Bestellungen: Details, Tab hinzufügen mit einem JS- "onAcitveTab"-Event ?

Hallo!

ich habe zu den Details einer Bestellung einen zusätzlichen Tab hinzugefügt. Dazu habe ich: 

Die Windows.js erweitert:

//{block name=“backend/order/view/detail/window” append}
//{namespace name=backend/order/view/smartpackaging/detail}
//alert( ‘ok soweit’);

Ext.define(‘Shopware.apps.smartpackaging.order.detail.view.main.Window’, {
    override: ‘Shopware.apps.Order.view.detail.Window’,
    createTabPanel: function () {

        var me = this;
        var tabPanel = me.callParent(arguments);

        html = true;
        htmlToShow = me.updateTab();

        if(html !== false){
           
            tabPanel.add(Ext.create(‘Shopware.apps.smartpackaging.view.main.Panel’, {
                title: ‘Smartes Paket ¯\_(ツ)_/¯’,
                id: ‘smaTab’,
                historyStore: me.historyStore,
                record: me.record,
                orderStatusStore: me.orderStatusStore,
                paymentStatusStore:  me.paymentStatusStore,
                smartPackageHtml: htmlToShow,
                logo : “none”
            }));
        }
        return tabPanel;
    },
    updateTab: function(){
        alert(“updateTab”);
        var id = this.record.get(‘id’);
        var result = false;
        Ext.Ajax.request({
            url: ‘{url controller=Smartpackaging action=getSmartPackages}’,
            method:‘POST’,
            async:false,
            params: {
                orderId:id
            },
            success: function(response){
                        
            }
        });
        return “this is a test!”;
    }

});
//{/block}

 

und ein Lade ein Panel in einer eigenen App:

//{namespace name=backend/order/view/smartpackaging/detail}
Ext.require([
    ‘Ext.grid.*’,
    ‘Ext.data.*’,
    ‘Ext.panel.*’
]);

//{block name=“backend/order/view/detail/smartpackaging”}
Ext.define(‘Shopware.apps.smartpackaging.view.main.Panel’, {
    /**
     * Define that the additional information is an Ext.panel.Panel extension
     * @string
     */
    extend: ‘Ext.form.Panel’,
    autoScroll: true,
    initComponent: function() {
        alert(“panel.js”);
        me = this;
        me.items = [
            Ext.create(‘Ext.container.Container’, {
                height: ‘auto’,
                minWidth: 250,
                layout: {
                    type: ‘hbox’,
                    align: ‘stretch’
                },
                defaults: {
                    margin: ‘10 0’
                },
                items: [
                    Ext.create(‘Ext.panel.Panel’, {
                        height: ‘auto’,
                        minWidth: 250,
                        title: “Pakete zu versenden:”,
                        bodyPadding: 10,
                        flex: 1,
                        paddingRight: 5,
                        items: [
                            {
                                xtype: ‘panel’,
                                html: this.smartPackageHtml
                            }
                        ]
                    })
                ]
            })

        ];
        this.callParent(arguments);
    }
});
//{/block}

Die Application sieht momentan so aus:

 

//{block name=“backend/order/application” append}
    alert(“11”);
    /**
     * Views
     */
    //{include file=“backend/order/view/detail/smart-tab/window.js”}
    //{include file=“backend/order/view/detail/smart-tab/panel.js”}
//{/block}

 

Mein Problem ist, der Tab muss sich aktualisieren sobald er aktiv wird, da ich den Status von geänderten Bestellpositonen für mein Plugin brauche.

Hat jemand eine Idee wie ich per EXTJs hier einen event einfügen kann, der mir einen Ajax-Aufruf verschickt?

HIIILLLFEEEEEEEE :slight_smile:

 

LG