Search code examples
extjsextjs4

Extjs4 class listeners and functions


In this code, there are many existing function, but I have to start to make some extended ExtJS class using that functions.

How can I add an existing function to a listener of a class?

For example:

Ext.define("My.Grid", { 
    extend: 'Ext.grid.Panel',
    //...
    initComponent: function() {
        //...
        Ext.apply(this, {
            //...
            tbar: [{
                xtype: 'button',
                icon: 'img/x.png',
                handler: function(){
                   // need to call randomOtherFunction here
                }
            }]
        });
    }
});

function randomOtherFunction () {
    // ...
}

Solution

  • Yessss, it works! :) ... and I hope, it will be good until the old other functions go to an object.

    function randomOtherFunction () {
        // ...
    }
    
    My.functions = {
        randomOtherFunction: function () {
            randomOtherFunction();
        }
    };
    
    Ext.define("My.Grid", { 
        extend: 'Ext.grid.Panel',
        //...
        initComponent: function() {
            //...
            Ext.apply(this, {
                //...
                tbar: [{
                    xtype: 'button',
                    icon: 'img/x.png',
                    handler: function(){
                        My.functions.randomOtherFunction();
                    }
                }]
            });
        }
    });