У меня есть сетка додзё, которая использует некоторые редактируемые поля формы диджита. Все хорошо, пока я не попытаюсь внедрить ячейку (мульти) выбора страны в качестве всплывающей подсказки; то есть показать раскрывающуюся кнопку, которая открывает диалоговое окно всплывающей подсказки, заполненное массивом флажков, чтобы выбрать одну или несколько стран. После проверки и нажатия кнопки ОК ячейка должна обновиться со списком выбранных стран. Очевидно, я позабочусь об обновлении сервера через магазин позже.
Я реализовал диалоговое окно подсказки выбора страны, которое работает нормально, вот так:
dojo.provide("CountrySelector");
dojo.declare(
"CountrySelector",
[dijit.form.DropDownButton],
{
label: 'Countries',
dropDown: new dijit.TooltipDialog({ execute: function() {
console.log("EXECUTE : ", arguments[0]);
this.value = arguments[0].country;
}, href:'/cm/ui/countries' }),
postCreate: function() {
this.inherited(arguments);
this.label = this.value;
dojo.connect(this.dropDown, 'onClose', function() { console.log('close'); });
console.log("CountrySelect post create", this);
},
}
);
И ячейка сетки печатается как:
{ name: 'Countries', field: 'targeting.countries', editable: true, hidden: false, type:dojox.grid.cells._Widget, widgetClass: CountrySelector },
Все работает нормально, но я не могу понять, как обновить содержимое ячейки и сохранить его после выполнения виджета. Кроме того, у меня нет идентификатора строки обновленной строки.
Есть идеи?
Спасибо,
Harel