I'm new to ExtJS 4 and need some help understanding how the Ext.define
works, please.
In fact what I want to do is something similar to the portlets in the portal example, in my application I will need so many objects to add in my different tabs, so in order to organize my code and not have just one very big script, I want to define each component I need in a separate file and then call it in the main script when I need it (I will mainly use the examples so this is why I want to know how Ext.define
works so I can adapt those examples and make them work the way I want).
I hope I was clear.
And thank you in advance for your help.
Ext.define ( String className, Object data, Function createdFn ) : Ext.Base
Ext.define is used to define a class. Example: // creates My.computer.NoteBook Class Ext.define('My.computer.NoteBook', { extend:'Ext.panel.Panel', config: { hardware:'Dell', os:'Linux', price:500 }, constructor:function(config) { this.initConfig(config); return this; } }); // creates instance of My.computer.NoteBook Class var myComputer = Ext.create('My.computer.NoteBook', { hardware:'MacBook Pro', os:'Mac OS X', price:1800 });
so, with Ext.define you make a mold, witch you can use later in many cases. You can define width, height, id, css, so later you just call that mold/class. In your case you can define a class for every tab, and then when you make a function to open/create that tab you can say:
if(existingTab){ mainPanel.setActiveTab(existingTab); }else{ mainPanel.add(Ext.create('My.computer.NoteBook', {id:tabId})).show(); } ...
You can put every Class in your separate .js file, later, on production you will make a class.js with all classes in one minified .js file!
You can define a class and then say:
items: Ext.create("My.computer.NoteBook",{ ... })
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With