Почему может не работать binding? Кто-нибудь сталкивался с таким?
Сделал тестовый модуль, в нем:
1. В модели определил свойства и обработчик кнопки выбора ответственных:
values: {
ownerIds: '',
ownerNames: ''
},
methods: {
onChooseOwnerBtnClick: function() {
var config = {
entitySchemaName: 'Contact',
multiSelect: true,
columnName: 'Name',
filters: BaseFiltersGenerateModule.OwnerFilter()
};
var handler = function(args) {
var items = args.selectedRows.getItems() || [];
var s1 = "";
var s2 = "";
for (var i = 0; i items.length; i++) {
if (s1 !== "") {
s1 = s1 + ",";
s2 = s2 + "; ";
}
s1 = s1 + "'" + items[i].value + "'";
s2 = s2 + items[i].displayValue;
}
this.set('ownerIds', s1);
this.set('ownerNames', s2);
};
var keepAlive = true;
LookupUtilities.Open(sandbox, config, handler, this, Ext.get('centerPanel'), keepAlive);
}
}
2. В представлении определил кнопку и текстовое поле:
items: [{
className: 'Terrasoft.Container',
id: 'byPeriodSettingsControlContainer4',
selectors: {
wrapEl: '#byPeriodSettingsControlContainer4'
},
classes: {
wrapClassName: ['custom-inline']
},
items: [{
className: 'Terrasoft.Label',
caption: 'Owner'
}, {
className: 'Terrasoft.TextEdit',
readonly: true,
value: {
bindTo: 'ownerNames'
}
}, {
className: 'Terrasoft.Button',
id: 'btnSelectOwner',
caption: 'Select',
width: '80px',
style: Terrasoft.controls.ButtonEnums.style.DEFAULT,
click: {
bindTo: 'onChooseOwnerBtnClick'
}
}]
Все работает без ошибок, под отладчиком срабатывает обработчик и присваивает свойствам модели значения, но на экране в текстовом поле пусто.
Причем пробовал и со схемой OpenCustomModule.md из недавнего цикла уроков - там тоже bindTo для кнопки работает, а для текстового поля - нет. В том смысле что код отрабатывает нормально, но текстовое поле не отображает изменение значения модели.