From: <pru...@us...> - 2012-02-16 02:14:34
|
Revision: 6081 http://jaffa.svn.sourceforge.net/jaffa/?rev=6081&view=rev Author: prudhvireddy Date: 2012-02-16 02:14:23 +0000 (Thu, 16 Feb 2012) Log Message: ----------- Hiding tabpanel children based on BR 'Jaffa.metadata.HidePanelList' Modified Paths: -------------- trunk/JaffaRIA/source/html/js/extjs/jaffa/component/PanelController.js Modified: trunk/JaffaRIA/source/html/js/extjs/jaffa/component/PanelController.js =================================================================== --- trunk/JaffaRIA/source/html/js/extjs/jaffa/component/PanelController.js 2012-02-15 21:44:39 UTC (rev 6080) +++ trunk/JaffaRIA/source/html/js/extjs/jaffa/component/PanelController.js 2012-02-16 02:14:23 UTC (rev 6081) @@ -787,6 +787,7 @@ if (data == null) data = new Object(); + var hidePanelList = (Rules.get('Jaffa.metadata.HidePanelList') || "").split(","); panel.cascade(function(f) { console.debug("Applying Metadata to widget ", f); if (f && (f instanceof Ext.grid.GridPanel)) { @@ -941,32 +942,41 @@ if (f.hyperlink){ if (f.constructor.prototype.displayRenderer==f.displayRenderer) f.displayRenderer= Jaffa.form.hyperlinkRenderer; - } - - if(Rules.get('Jaffa.metadata.HidePanelList')) { - var hidePanelList = Rules.get('Jaffa.metadata.HidePanelList').split(','); - if ((f.id || f.itemId) && (hidePanelList.indexOf(f.itemId)>=0 || hidePanelList.indexOf(f.id)>=0)){ - f.hide(); - f.hidden=true; - } + } - if (f.mapping && hidePanelList.indexOf(f.mapping)>=0){ - if (f.rendered) { - f.hidden = true; - if (f.getEl().up('.x-form-item')) - f.getEl().up('.x-form-item').setDisplayed(false); + if(hidePanelList) { + if(f instanceof Ext.TabPanel){ + if(f.items && Ext.isFunction(f.items.each)){ + f.items.each(function(el){ + if((el.itemId || el.id) && (hidePanelList.indexOf(el.itemId)>=0 || hidePanelList.indexOf(el.id)>=0)){ + f.items.remove(el); + } + }) } - else { - f.hidden = true; - f.hideLabel = true; + } else { + if ((f.id || f.itemId) && (hidePanelList.indexOf(f.itemId)>=0 || hidePanelList.indexOf(f.id)>=0)){ f.hide(); - f.on('render', function() { - if (this.getEl().up('.x-form-item')) - this.getEl().up('.x-form-item').setDisplayed(false); - }); + f.hidden=true; } + + if (f.mapping && hidePanelList.indexOf(f.mapping)>=0){ + if (f.rendered) { + f.hidden = true; + if (f.getEl().up('.x-form-item')) + f.getEl().up('.x-form-item').setDisplayed(false); + } + else { + f.hidden = true; + f.hideLabel = true; + f.hide(); + f.on('render', function() { + if (this.getEl().up('.x-form-item')) + this.getEl().up('.x-form-item').setDisplayed(false); + }); + } + } } - } + } if(Rules.get('Jaffa.metadata.ReadOnlyFieldList')) { if (f.mapping && Rules.get('Jaffa.metadata.ReadOnlyFieldList').split(',').indexOf(f.mapping) >= 0) { if (f.xtype == 'finderComboGrid') { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |