Sencha extjs open widget in new browser tab -
i'm new sencha extjs , have question.
i have widget(headerram.js) 1 splitbutton , menuitemclick listener every item, , app.js menuitemclick listener switch case. widget 'gestione rda' opened in same browser tab. i'd open in new browser tab.
could me have ext.getcmp('gestioneram').show() in new browser tab?
thanks in advance.
here's code:
//headerram.js ext.define('ramui.widget.headerram', { extend: 'ext.toolbar.toolbar', initcomponent: function () { codiceutente = this.codiceutente; this.items = [ { xtype: 'splitbutton', text : traduci('main menu' , document.getelementbyid('hddlingua').value), id:'mainmenu', menu: new ext.menu.menu({ items: [ // these render dropdown menu items when arrow clicked: { text : traduci('gestione ram' , document.getelementbyid('hddlingua').value),id:'menugestram', iconcls: 'ram', handler: function () { messaggio( traduci('gestione ram' , document.getelementbyid('hddlingua').value)); }, value: 'gestioneram' }, { text : traduci('evasione rda mat' , document.getelementbyid('hddlingua').value), id: 'menugestrda', iconcls: 'ram', handler: function () { messaggio( traduci('gestione rda' , document.getelementbyid('hddlingua').value)); }, value: 'gestionerda' }, { text : traduci('evasione rda att' , document.getelementbyid('hddlingua').value), id: 'menugestrdaatt', iconcls: 'ram', handler: function () { messaggio( traduci('gestione rda att' , document.getelementbyid('hddlingua').value)); }, value: 'gestionerdaatt' }, { text : traduci('autorizzazione rda' , document.getelementbyid('hddlingua').value), id: 'menugestrdadiap', iconcls: 'ram', handler: function () { messaggio( traduci('gestione rda diap' , document.getelementbyid('hddlingua').value)); }, value: 'gestionerdadiap' }, { text : traduci('report ram' , document.getelementbyid('hddlingua').value), id: 'menureportram', iconcls: 'ram', handler: function () { messaggio( traduci('report ram' , document.getelementbyid('hddlingua').value)); }, value: 'reportram' }, { text : traduci('gestione utenti' , document.getelementbyid('hddlingua').value), id: 'menugestutenti', iconcls: 'utenti', handler: function () { messaggio( traduci('gestione utenti' , document.getelementbyid('hddlingua').value)); }, value: 'gestioneutenti' } ], listeners: { scope: this, 'click': function (menu, item, e) { //lancio un evento dell'header menu.up().up().fireevent('menuclick', menu, item, e); } } }) },... //app.js var intestazione = ext.create('ramui.widget.headerram', { id: 'intestazione', codiceutente: this.codiceutente, listeners: { scope: this, 'menuclick': function (menu, item, e) { switch (item.value) { case 'gestionerda': //se non esiste genero la maschera di gestione delle ram if (ext.getcmp('gestionerda') == null) { ext.create('ramui.widget.gestionerda', { id: 'gestionerda', societautente: this.societautente, codiceutente: this.codiceutente, flex: 1 }); } else { //ext.getcmp('gestionerda').reset(); ext.getcmp('gestionerda').show(); } //aggiungo la mappa di gestione delle ram ext.getcmp('mainviewport').items.add(ext.getcmp('gestionerda')); break; .... } //mainviewport ext.create('ext.container.viewport', { id: 'mainviewport', layout: { type: 'vbox', align: 'stretch', pack: 'start' }, border: false, items: [ intestazione, corpo ], listeners: { 'resize': function () { this.dolayout(); } } });
extjs particularly writing on-page applications not need "browser tab/window". also, typical ext application not assume html markup exists creates one. therefore, need go down dom , if need in special case, not use low-level calls such getelementbyid
.
Comments
Post a Comment