У меня есть работающее веб-приложение для настольных компьютеров, очень похожее на готовый пример рабочего стола ExtJS, где есть несколько значков, которые при нажатии открывают окно.
Я пытаюсь понять, как сделать то же самое программно:
var x = Ext.create('MyApp.view.users.Module')
x.launcher.handler();
это вызывает функцию createWindow (), первая строка которой:
var b = this.app.getDesktop();
Эта линия бомб:
Невозможно вызвать метод 'getDesktop' из неопределенного
что, очевидно, означает, что в "this" нет "app".
Я новичок в ExtJS и не знаю, как привязать модуль к приложению или как правильно захватить модуль, как это происходит при нажатии на значок. Любая помощь будет оценена.
Код модуля:
Ext.define('MyApp.view.users.Module', {
requires: ["Ext.tab.Panel"],
alias: 'widget.usersmodule',
extend: 'Ext.ux.desktop.Module',
id: 'users-module-win',
itemId: 'usersmodule',
init: function(){
this.launcher = {
handler: this.createWindow,
iconCls: 'icon-users',
scope: this,
text: 'Users',
windowId: 'users-module-win'
}
},
...
createWindow: function(){
var b = this.app.getDesktop();
var a = b.getWindow('users-module-win');
...
a.show();
return a
},
...
* *} Тысяча двадцать-одина); * * тысяча двадцать-дв