Собственный виджет ExtJS - листинг объектов из БД

Разрабатываю компонент посредством modExtra, все было понятно до следующего момента.
Есть два типа объектов — грубо говоря «контейнер» и «объект-содержимое».
У «содержимого» есть поле 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 undefined
mgr/device/getlist — это стандартный процессор ModExtra, с ним замечательно работает вывод объектов в гриде, но почему-то не хочет работать виджет. Подскажите, в чем проблема?
Григорий
28 марта 2014, 08:51
modx.pro
1 308
0

Комментарии: 3

Григорий
28 марта 2014, 13:07
0
В общем покопался и понял, что в этот виджет почему-то не передается значение infodb.config.connectors_url, хотя в других местах эта переменная работает как надо. Пока что просто прописал статический путь к коннектору и все заработало.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
3