31.05.2016, 13:01
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
Binding: И снова проблема с формулами
При запуске приложения следующая формула не срабатывает, в итоге кнопка break активна (ее активность зависит от этой формулы):
breakButtonDisabled: function(get) {
return !get("selectedGroupOrder") || get("stoped") && get("selectedGroupOrderStatus") != "complete";
},
Но если я уберу get("selectedGroupOrderStatus") != "complete", то формула при запуске приложения начинает работать:
breakButtonDisabled: function(get) {
return !get("selectedGroupOrder") || get("stoped");
},
Почему так происходит и как сделать, чтобы она все-таки работала в первом случае?
https://www.sencha.com/forum/showthr...58#post1136258
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
31.05.2016, 13:04
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
Формула selectedGroupOrderStatus вычисляется следующим образом:
selectedGroupOrderStatus: function(get) {
return get("selectedGroupOrder.status");
},
selectedGroupOrder: function(get) {
return get("groupOrderList.selection");
},
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
01.06.2016, 07:44
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
Выкрутился. И знаете как? Блин, хреново. Вот как:
init: function() {
var me = this;
var vm = me.getViewModel();
vm.set("selectedGroupOrderCompleted", null);
},
То есть, в контроллере вида, я просто инициализирую формулу (считая ее за переменную) любым значением кроме undefined. В итоге, формула при старте приложения срабатывает. И все что мне нужно делает.
В общем формулы сырые, с явными багами, либо я не знаю как ими пользоваться.
.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
01.06.2016, 20:33
|
|
Профессор
|
|
Регистрация: 21.05.2015
Сообщений: 321
|
|
Про формулы, binding и прочие MVM штуки лучше спрашивать сразу в сенчовом форуме. Там обитают человеки, которые эту фигню написали и знают от и до.
|
|
01.06.2016, 20:57
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
Я туда уже два поста закинул. Пока молчат.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
03.06.2016, 19:01
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
Еще один вариант нашел как выкрутиться. Несколько лучше выглядит. Надо задать значение по умолчанию в самом компоненте. Например:
text: "Print Label",
handler: "printLabel",
disabled: true, // значение по умолчанию
bind: {
disabled: "{printLabelButtonDisabled}"
}
и формулы
formulas: {
printLabelButtonDisabled: function(get) {
var barcode = get("selectedCommand.barcode");
return barcode ? barcode.indexOf("%") != -1 : true;
},
selectedCommand: function(get) {
return get("commandsGrid.selection");
}
},
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
03.06.2016, 19:02
|
|
Соединяю Node.js и Ext JS
|
|
Регистрация: 25.06.2009
Сообщений: 1,033
|
|
оф. форум заглох... вообще не отвечают уже
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
|
|
07.06.2016, 09:11
|
|
Кандидат Javascript-наук
|
|
Регистрация: 07.06.2010
Сообщений: 146
|
|
отпуска пляж и солнце.. временное затишье..
|
|
07.06.2016, 09:12
|
|
Кандидат Javascript-наук
|
|
Регистрация: 07.06.2010
Сообщений: 146
|
|
Самому, как не придется столкнуться с формулами, постоянно с ними разбираюсь, будто первый раз пользуюсь.. мне их логика никак не уложиться в голове...
|
|
|
|