Я пытаюсь использовать внешний диалог, чтобы выбрать значение для ComboBox, используемого в качестве редактора в gridcell. Приложение Ext JS встроено в IFrame на странице, а редактор представляет собой оверлей, открытый родителем. Я прикрепил к onTriggerClick комбо, чтобы обойти выпадающее поведение по умолчанию. Диалог открывается просто отлично, но ComboBox теряет фокус. Я попытался повторно войти в состояние редактирования после закрытия диалогового окна, вызвав startEditByPosition , который снова активирует ComboBox, но его прежнее значение, похоже, пропало.
Соответствующие части кода будут:
Ext.define('MyApp.ux.LookupCombo', {
extend: 'Ext.form.field.ComboBox',
xtype: 'my-lookupcombo',
config: {
onTriggerClick: function(combo) {
combo.fireEvent('find', combo);
},
listeners: {
find: function(combo) {
// here's where I am opening the dialog in the parent page
// hence the combo loses focus and it's value seems to be lost
// when the dialog closes
// PSEUDOCODE
openDialogAsync({
onClose: function() {
// the dialog has been removed from the parent page
cellEditingPlugin.startEditByPosition(position);
}
});
}
}
}
});