Foro

[SOLUCIONADO] Empaquetando mi codigo (namespace)

0
Saludos amigos. Estoy acostumbrandome a trabajar con namespace. La duda es la siguiente: he visto paginas (xej http://www.waterandhealth.eu/) donde se crean distintos namespace. ¿Como hago para implementar esto?. Es decir crear por ejemplo 2 namespace. Desde ya muchas gracias.
0
Gracias amigo por el aporte! me parecio interesante...
0
Por si alguien tiene la misma inquietud. Aqui un ejemplo sencillo con tres namespace. Ext.namespace('ejemplo.ns2'); Ext.QuickTips.init(); ejemplo.ns2.Uno ={ init: function (){ // Make panels var tree = new MyTree.A(); //var tree = {xtype: 'mitree'}; console.debug(tree); var form = new MyForm.B(); //var form = {xtype: 'miform'}; console.debug(form); // Tell form to watch for nodeSelected and rootSelected from tree // THIS IS THE GLUE! form.relayEvents(tree, ['nodeSelected', 'rootSelected']); // Layout on screen var viewport = new Ext.Viewport({ layout:'border', items: [ form, tree ], }); } }; Ext.namespace("MyTree"); // Tree Panel MyTree.A = Ext.extend(Ext.tree.TreePanel, { region: 'west', width: 150, viewConfig: { forceFit: true }, initComponent: function() { MyTree.A.superclass.initComponent.call(this); var root = new Ext.tree.TreeNode({ allowDrop: false, text: "my root", expanded: true }); root.on('click', function() { this.fireEvent('rootSelected'); }); this.setRootNode(root); var anode = new Ext.tree.TreeNode({ allowDrop: false, text: "my node", }); anode.on('click', function() { this.fireEvent('nodeSelected', anode.text); }); root.appendChild(anode); var bnode = new Ext.tree.TreeNode({ allowDrop: false, text: "another node", }); bnode.on('click', function() { this.fireEvent('nodeSelected', bnode.text); }); root.appendChild(bnode); } }); //Ext.reg('mitree',MyTree.A); Ext.namespace("MyForm"); // Form Panel MyForm.B = Ext.extend(Ext.form.FormPanel, { region: 'center', title: "Sample Form", layout: 'fit', doSomething: function(a) { this.getForm().findField('node').setValue(a); }, doSomethingElse: function() { this.getForm().findField('node').setValue(''); }, initComponent: function() { Ext.apply(this, { items: { xtype: 'fieldset', labelPad: 10, defaultType: 'textfield', labelAlign: 'right', items: [ { xtype: 'field', id: 'node', name: 'node', fieldLabel: 'Selected Node', labelSeparator: '', width: 250, } ] } }); MyForm.B.superclass.initComponent.call(this); // Add a listener for nodeSelected event this.on('nodeSelected', function(a, b) { // call my method when nodeSelected event is fired this.doSomething(a) }); // Add a listener for rootSelected event this.on('rootSelected', function() { // call my method when rootSelected event is fired this.doSomethingElse() }); } }); Y agrego esto en el html: Ext.BLANK_IMAGE_URL = "../resources/ext-3.2.1/resources/images/default/s.gif"; Ext.onReady(ejemplo.ns2.Uno.init, ejemplo.ns2.Uno); Los namespaces pueden estar en archivos js distintos. Gracias. Espero a alguien le sirva.
0
Gracias por la pronta respuesta. La creacion de los ns me quedo claro. Seguramente no supe darme a entender. La consulta es la siguiente: ¿Como seria un ejemplo donde al NO utilizar dos namespace podria generarse algun tipo de conflicto?. Y como seria la resolucion. Es decir como interactua (si vale el termino) el codigo de uno de los ext.ns y el otro ns. Sera posible algun ejemplo basico? Gracias nuevamente.
0
Mmmmm, no se si no te estoy entendiendo, pero para crear dos namespaces distintos simplemente haces lo siguiente: Ext.ns("Bleext.memory.Controllers"); Ext.ns("Quizz.tutorials.examples"); Te refieres a eso? en verdad que no me queda clara tu pregunta :-? Saludos

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.