Ext JS 6.5.3 Classi c Cellediting с ComboBox и внешним диалогом не работает - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь использовать внешний диалог, чтобы выбрать значение для 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);
                   }
               });
            }
        }
    }
});
...