Обновление DataView при разработке компонента
Добрый день. Есть ComboBox с месяцами года и под ним вывод DataView:
Timetable.view.Items = function (config) {
config = config || {};
this._initTemplates();
Ext.applyIf(config,{
url: Timetable.config.connector_url
,fields: ['id','resource_id','eventdate','sessions']
,baseParams: {
action: 'mgr/timetable/getList'
,month: this.config.month
}
,tpl: this.templates.thumb
});
Timetable.view.Items.superclass.constructor.call(this,config);
};
Ext.extend(Timetable.view.Items,MODx.DataView,{
templates: {}
,windows: {}
,_initTemplates: function() {
this.templates.thumb = new Ext.XTemplate(
'<tpl for=".">','<div style="width:100px;height:100px;border:1px solid red;float: left;">{eventdate}</div>','</tpl>'
);
}
});
Ext.reg('timetable-dataview-items',Timetable.view.Items);Вопрос заключается в следующем, как правильно обновлять DataView по выбору другого месяца в ComboBox?Сама функция:
filterByMonth: function(combo) {
var month = combo.getValue();
MODx.Ajax.request({
url: Timetable.config.connector_url
,params: {
action: 'mgr/timetable/getList'
,month: month
}
/*,listeners: {
success: {fn:function() {
}*/
});
} Комментарии: 11
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
У вас уже в DataView встрое JsonStore, который все делает за вас.
Вам нужно поменять параметр в store и загрузить его
А MODx.Ajax.request убрать
xtype: 'timetable-dataview-items' — это уже файл timetable.dataview.js:
Сам процессор должен выводить кол-во дней выбранного месяца и данные событий привязанные к конкретному дню месяца:
Примерно так.
Проверь в консоли браузера, там может показывать два ajax запроса друг за другом, из которых первый будет всегда отменён.