Собственный виджет ExtJS - листинг объектов из БД
Разрабатываю компонент посредством modExtra, все было понятно до следующего момента.
Есть два типа объектов — грубо говоря «контейнер» и «объект-содержимое».
У «содержимого» есть поле deviceList, в котором хочу прописывать к какому «контейнеру» относится объект. Пусть это будет Id контейнеров через запятую (в будущем хочу сделать возможность назначения нескольких контейнеров одному объекту).
Для редактирования этого поля сделал такой виджет:
Есть два типа объектов — грубо говоря «контейнер» и «объект-содержимое».
У «содержимого» есть поле deviceList, в котором хочу прописывать к какому «контейнеру» относится объект. Пусть это будет Id контейнеров через запятую (в будущем хочу сделать возможность назначения нескольких контейнеров одному объекту).
Для редактирования этого поля сделал такой виджет:
infodb.combo.infoDevice = function(config) {
config = config || {};
Ext.applyIf(config,{
name: 'infoDevice'
,hiddenName: 'infoDevice'
,displayField: 'name'
,valueField: 'id'
,fields: ['id','name']
,pageSize: 20
,url: infodb.config.connectors_url
,baseParams: {
action: 'mgr/device/getlist'
}
});
infodb.combo.infoDevice.superclass.constructor.call(this,config);
};
Ext.extend(infodb.combo.infoDevice,MODx.combo.ComboBox);
Ext.reg('infodb-combo-device',infodb.combo.infoDevice);
В окне редактирования свойств вызываю так:,{
xtype:'infodb-combo-device'
,fieldLabel: 'Список'
,name: 'deviceList'
,id: 'infodb-deviceList'
,anchor: '99%'
}
при нажатии кнопки раскрытия комбо-списка ничего не происходит, а js консоль выдает:Uncaught TypeError: cannot call method 'request' of undefinedmgr/device/getlist — это стандартный процессор ModExtra, с ним замечательно работает вывод объектов в гриде, но почему-то не хочет работать виджет. Подскажите, в чем проблема?
Комментарии: 3
В общем покопался и понял, что в этот виджет почему-то не передается значение infodb.config.connectors_url, хотя в других местах эта переменная работает как надо. Пока что просто прописал статический путь к коннектору и все заработало.
Может дело в том что переменная называется connector_url.
Если Вы не меняли.
github.com/splittingred/modExtra/blob/develop/assets/components/modextra/js/mgr/widgets/items.grid.js
Если Вы не меняли.
github.com/splittingred/modExtra/blob/develop/assets/components/modextra/js/mgr/widgets/items.grid.js
Да, откуда-то взялась s на конце) Спасибо)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.