datechange event - unable to refresh calendar panel store.

Community support for questions or issues specific to Extensible components

datechange event - unable to refresh calendar panel store.

Postby Shrinivas.gtech » Sun May 06, 2012 11:39 am

While loading the calendar panel for the first time, i am retrieving the events for the current month from my database and displaying them in my calendar. When the date is changed and a datechange event is fired, i want to retrieve the events for my new dates and display the calendar with new dates. Below is the code which i have written in date change event. Please understand that i am binding a new store to my calendar during the date change event. But i don't see my new store events displayed on the calendar. Can someone please help me how do i assign a new store with the same model in my datechange event. Am i missing anything. After reading all the forums, blogs i am posting this. Please help.

Code: Select all
'datechange': {
                            fn: function (cal, newstartdate, viewstartdate, viewenddate) {
                                //                                alert(newstdate);
                                //                                alert(viewstdate);
                                //                                alert(viewenddate);

                                var providersList;
                                $.ajax({
                                    type: "POST",
                                    url: 'GetProviders',
                                    data: { startDate: viewstartdate.toDateString(), endDate: viewenddate.toDateString(), locationId: -1, providerId: -1 },
                                    async: false,
                                    success: function (data) {
                                        providersList = data;
                                    }
                                });

                                var eventsList;
                                $.ajax({
                                    type: "POST",
                                    url: 'GetAppointmentsExtJsCalendarFormat',
                                    data: { startDate: viewstartdate.toDateString(), endDate: viewenddate.toDateString(), locationId: -1, providerId: -1 },
                                    async: false,
                                    success: function (data) {
                                        for (var i = 0; i < data.evts.length; i++) {
                                            var evtdata = data.evts[i];
                                            for (var key in evtdata) {
                                                if (evtdata[key].toString().indexOf("Date(") > -1)
                                                    evtdata[key] = eval("new " + evtdata[key].replace("/", "").replace("/", ""));
                                            }
                                        }
                                        eventsList = data;
                                    }
                                });

                                this.calendarStore = providersList;
                                this.eventStore = eventsList;
                                this.getActiveView().refresh(true);
                                //cal.calendarPanel.getActiveView.refresh();
                                //cal.getActiveView.reloadStore();
                                //alert('completed2');
                                //                                cal.calendarStore.removeAll(true);
                                //                                cal.calendarStore.setStore(providersList);
                                //                                this.store.removeAll(true);
                                //                                this.setStore.load(eventsList);
                                //this.getActiveView().refresh();
                                //this.store = eventsList;
                                //this.getActiveView().items.refresh(true);
                            }
                        },


Thanks,
Shrinivas.
Shrinivas.gtech
 
Posts: 7
Joined: Tue May 01, 2012 6:28 am

Re: datechange event - unable to refresh calendar panel stor

Postby Shrinivas.gtech » Mon May 07, 2012 9:07 am

Below lines of code worked perfectly.

Code: Select all
'datechange': {
                            fn: function (cal, newstartdate, viewstartdate, viewenddate) {
                                var myCal = Ext.get('app-calendar');
                                myCal.mask('Loading...');
                                $.ajax({
                                    type: "POST",
                                    url: 'GetAppointmentsExtJsCalendarFormat',
                                    data: { startDate: viewstartdate.toDateString(), endDate: viewenddate.toDateString(), locationId: -1, providerId: -1 },
                                    async: true,
                                    success: function (data) {
                                        for (var i = 0; i < data.evts.length; i++) {
                                            var evtdata = data.evts[i];
                                            for (var key in evtdata) {
                                                if (evtdata[key].toString().indexOf("Date(") > -1)
                                                    evtdata[key] = eval("new " + evtdata[key].replace("/", "").replace("/", ""));
                                            }
                                        }
                                        cal.store.loadRawData(data, false);
                                        myCal.unmask();
                                    }
                                });
                            }
                        },
Shrinivas.gtech
 
Posts: 7
Joined: Tue May 01, 2012 6:28 am


Return to Help & Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron