Using code modules to achieve encapsulation
This recipe demonstrates how to achieve encapsulation by organizing your code into modules where you can have private, privileged, and public members.
You will be building two modules, each with a private Action
instance and a public run()
method.
Calling a module's public run()
method will cause the module to build and render a panel:
The first module's private Action
, which is accessible only by the code within the module, will be assigned to the panel's Import toolbar button:
The second module's private Action
will be assigned to the panel's Filter button:
How to do it...
1. Create a namespace for your example and define the first module:
Ext.namespace('BigSystem'); BigSystem.module1 = function() { // "action" is a private member of "module1". var action = new Ext.Action({ iconCls: 'icon-data', text: 'Import', handler: function() { Ext.Msg.alert('Action executed', 'This is an action form inside module1'); } }); return { // "run" is a public member...