ExtJs Аккордеонный Макет Свернуть - PullRequest
0 голосов
/ 08 ноября 2011

Я создал макет аккордеона и добавил несколько панелей, как показано на нем. Работает нормально.

var changePasswordDlg = new MaPPE.changePasswordDlg();
var lostPasswordDlg = new MaPPE.lostPasswordDlg();
var personalInfoDlg = new MaPPE.personalInfoDlg();
var selectLangDlg = new MaPPE.selectLangDlg();
var visibilityDlg = new MaPPE.visibilityDlg();

var config = {
    layout: 'accordion',
    title: '',
    bodyStyle: 'background-color:#DFE8F6',
    items:[
    changePasswordDlg,
    lostPasswordDlg,
    personalInfoDlg,
    selectLangDlg,
    visibilityDlg
    ]
};

Каждый диалог является панелью и имеет кнопку отмены. Я хочу, чтобы кнопка отмены каждой панели сворачивала текущую панель с макета аккордеона. Как это может быть сделано?

Я попытался найти его и обнаружил, что установка expand на false делает свое дело. Но я не смог найти компонент для вызова функции expand.

1 Ответ

0 голосов
/ 08 ноября 2011

В зависимости от расположения панелей кнопки отмены должны иметь возможность что-то вроде:

this.ownerCt.expand();

Однако, это становится сложным и хрупким, если вы меняете раскладки вокруг. Лучше установить панель как свойство в конфигурации кнопки отмены и использовать ее в обработчике кнопки:

var cancelButton = new Ext.Button({other: 1, config: 2, items:3, mySettingsDialog: this}); 
// where this is a reference to the encompassing dialog panel

Тогда в обработчике:

this.mySettingsDialog.expand();

Область действия обработчика по умолчанию равна кнопке, если вы ее не изменили.

...