Ext Calendar

I just remembered that I had made a decent Ext based calendar (extending Ext.Panel).

You can view a demo of it here.

The calendar supports loading data through a Ext.data.Store, d’n’d of timespans, events for handling d’n’d, editing etc. I built it mostly to help my folks actually. It’s not exactly happy news to write about, but my parents in their old age started kind of forgetting stuff. We’re pretty sure it’s nothing medical or serious, just old age, which is good. In the meantime however, they keep forgetting to take their medications, go to doctor’s appointments, things like that. I setup this calendar to help them. It didn’t quite work, as the computer never interested them all that much. Thankfully I found a solution. You can hire someone to provide at home care from Home Care Assistance Long Island. I did so and that person was very experienced, there really hasn’t even anything she can’t handle yet. Now I can keep working knowing their being cared for and I have nothing to worry about.

Tags: ,

This entry was posted on Friday, February 27th, 2009 at 16:39 and is filed under programming, Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

  • robert

    Could you please send me a demo source?
    Thank you
    Email: swjtusufeng # gmail.com

  • robert

    Could you please send me a demo source?
    Thank you
    Email: swjtusufeng # gmail.com

  • Just grab the the one in the demo, it should be pretty easy.

  • Just grab the the one in the demo, it should be pretty easy.

  • robert

    ok~thank you

  • robert

    ok~thank you

  • robert

    Another QS:
    for (var _steps = 0; _steps < _totalSteps; _steps++) {}
    Iadd the IF to render the Calendar to just ‘morning and afternoon’

    if(_steps ==12 && _steps==0){}

    but error happen~
    Could you please help me?

  • robert

    Another QS:
    for (var _steps = 0; _steps < _totalSteps; _steps++) {}
    Iadd the IF to render the Calendar to just ‘morning and afternoon’

    if(_steps ==12 && _steps==0){}

    but error happen~
    Could you please help me?

  • Tony

    It has some css problems with the ie.

  • Tony

    It has some css problems with the ie.

  • Jon

    I cannot find where loading from Ext.data.Store is in the source code. Does the Ext.data.Store data have to be parsed into the timespan(data:) format?

    • Hm, I was sure it used a store, maybe I did that with a later version somewhere else..
      Anywhat, it should be quite easy to extend it with a store. Just bind the deleteTimespan, updateTimespan etc to the proper events and vice-versa 🙂

  • Jon

    I cannot find where loading from Ext.data.Store is in the source code. Does the Ext.data.Store data have to be parsed into the timespan(data:) format?

    • Hm, I was sure it used a store, maybe I did that with a later version somewhere else..
      Anywhat, it should be quite easy to extend it with a store. Just bind the deleteTimespan, updateTimespan etc to the proper events and vice-versa 🙂

  • Jon

    How do you recommend showing existing data on start-up?
    I expected the following code to do so, on startup – but it is not shown when the app loads.

    var ts = {
    data: {Id: 1, StartTime: new Date('2010-01-22 11:00:00.0'), EndTime: new Date('2010-01-22 16:00:00.0')}
    };

    _cal.insertTimespan(ts);

    Any suggestions?

  • Jon

    How do you recommend showing existing data on start-up?
    I expected the following code to do so, on startup – but it is not shown when the app loads.

    var ts = {
    data: {Id: 1, StartTime: new Date('2010-01-22 11:00:00.0'), EndTime: new Date('2010-01-22 16:00:00.0')}
    };

    _cal.insertTimespan(ts);

    Any suggestions?

  • Is actually right there in the comments,
    <pre>
    _cal.loadData([{Text:"sampleevent",Id:24234,StartTime:_startTime,EndTime:_endTime}]);
    </pre>

  • Is actually right there in the comments,
    <pre>
    _cal.loadData([{Text:"sampleevent",Id:24234,StartTime:_startTime,EndTime:_endTime}]);
    </pre>

  • Jon

    I had tried that and got a 'u is null' error – debugging isn't that great with ext! This seems to happen when it enters the:

    ts.view = Ext.DomHelper.append(_tableContainerCell, {
    tag: "div",
    cls: "Overlay"
    , true);
    ts.view.dom.ts = ts;

    of the _insertTimespan function.

  • Jon

    I had tried that and got a 'u is null' error – debugging isn't that great with ext! This seems to happen when it enters the:

    ts.view = Ext.DomHelper.append(_tableContainerCell, {
    tag: "div",
    cls: "Overlay"
    , true);
    ts.view.dom.ts = ts;

    of the _insertTimespan function.

  • I found your posts very interesting. In fact after reading, I had to go show it to my friend and he enjoyed it as well. Thanks.   

  • wonderful job! keep moving.