extjs 4 gleiche Komponente mit mehreren tabs

ich m arbeiten mit extjs 4 & rails 3. ich bin mit toolbar & tab-panel. ich will gleiche Symbolleiste in allen tab-panel & wollen die Schaltflächen auf der Symbolleiste, um die Arbeit nach Registerkarte aktiv ist. Für zB. Symbolleiste enthält hinzufügen,Bearbeiten,usw Tasten. Angenommen ich habe-region & Kategorie tabs. Wenn region Registerkarte aktiv ist, sollte ich in der Lage zu führen Sie die "ADD" - operation für die "Region" & so weiter. Was kann der richtige Weg, um dieses Ziel zu erreichen extjs 4 ? Ich bin nicht in der Lage, um eine Aktion zuzuweisen, die auf der Symbolleiste in der Region & Category Controller?
ich bezog mich dieseaber keine Ahnung, wie kann ich es umsetzen in meinem code ?
Hier ist der Beispielcode von "Regionen" extjs mvc-controller, den ich ausprobiert habe. Das problem ist, wenn ich Schreibe, ähnlichen code in Kategorie Controller für das HINZUFÜGEN von btn commontoolbar, FÜGEN Sie die Umsetzung der Region aufgerufen wird 🙁

    Ext.define('overdrive.controller.Regions', {
        extend: 'Ext.app.Controller',
        views: [
            'region.RegionList',
            'region.RegionForm',
            'region.RegionPanel',
            'common.CommonToolbar'
        ],
        models: ['Region'],
        stores: ['Regions'],
         init: function() {
            this.control({
                'viewport > panel': {
                    render: this.onPanelRendered
                },
                'regionpanel':{
                    beforerender:this.addToolbar
                } ,
                'commontoolbar button[action=chk]': {
                    click: this.chk
                }

            });
        },
        chk:function()
        {

            var tabcon = Ext.getCmp('tabcon');//tabcon is id of tab panel
             var activetab = tabcon.getActiveTab();

             var activetabid = activetab.getId();
             console.log('Active Tab ID:'+activetabid);
                if(activetabid == 'regiontab'){
                alert('Clicked button in region Tab');
                }else if(activetabid == 'storetab'){
                 alert('Clicked button in store Tab');
                }
        },


       addToolbar:function()
       {

            var regionpanel=Ext.widget('regionpanel');
            var regiontab=Ext.getCmp('regiontab');
            var tabcon = Ext.getCmp('tabcon');


           regiontab.add({
                xtype:'commontoolbar', id:'regiontoolbar',
                itemId: 'regiontoolbar'
           });

        },

       addRegion: function(button) {

            var regiontoolbar=button.up('regiontoolbar');
            var regiontab = Ext.getCmp('regiontab');
            var regionpanel = regiontab.down('regionpanel');
            var regionform = regionpanel.down('regionform');
            regiontoolbar.child('#add').setDisabled(true);
            regiontoolbar.child('#edit').setDisabled(true);
            regiontoolbar.child('#delete').setDisabled(true);
            regiontoolbar.child('#save').setDisabled(false);
            regiontoolbar.child('#cancel').setDisabled(false);
            regionpanel.layout.setActiveItem(regionform);
        }
});
InformationsquelleAutor Shruti | 2011-08-17
Schreibe einen Kommentar