ExtJS - xtype 'breadcrumb': изменить элементы и стиль в полях выбора и в текстовом списке хлебных крошек - PullRequest
0 голосов
/ 19 октября 2018

У меня есть структура каталогов (папок), которую я показываю с помощью xtype 'breadcrumb' (ExtJS Version 6.6).

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

Когда я деактивирую переключатель, все папки с лидирующей буквой «А» в имени папки должны быть скрыты в полях выбора (или должны быть отключены и показаны серым цветом).,В текстовом списке «хлебная крошка» эта («A» -) папка должна отображаться серым цветом.

Например, у меня есть текстовый список хлебной крошки «root> folder_0_0> folder_1_0» в моем приложении, а затем я изменяю значение переключателя: Тогда я не хочу перезагружать весь хлебный крошку.

Как я могу решить эту проблему?Спасибо за подсказки Томас

вот мой код.Вы можете найти это: https://fiddle.sencha.com/#view/editor&fiddle/2mqb

    Ext.application({
        name: 'BeadcrumbTest',
        launch: function() {
            var store = Ext.create('Ext.data.TreeStore', {
                root: {
                expanded: true,
                    text: 'Root_folder',
                    children: [{
                        text: 'A_folder',
                        leaf: true
                    }, {
                        text: 'B_folder',
                        expanded: true,
                        children: [{
                            text: 'A_folder',
                            leaf: true
                        }, {
                            text: 'B_folder',
                            leaf: true
                        }]
                    }, {
                        text: 'C_folder',
                        leaf: true
                    }]
                }
            }),
                panel = Ext.create('Ext.panel.Panel', {
                    renderTo: Ext.getBody(),
                    width: 400,
                    height: 100,
                    bodyPadding: 10,
                    tbar: {
                        xtype: 'breadcrumb',
                        store: store
                    },
                    buttons: ['->', {
                        xtype: 'button',
                        text: 'Handle "A" folder',
                        handler: function() {
                          // todo
                        }
                    }]
                });
        }
    });

1 Ответ

0 голосов
/ 25 октября 2018

Я нашел решение: я перезаписал методы updateSelection (), _onMenuClick () и _onMenuBeforeShow () из классического / src / Breadcrumb.js.

...