﻿
__trGroup('CMS Form');Ext.namespace('NPSL','NPSL.Cms','NPSL.Cms.Form','Ext.ux');(function(){var Cms=NPSL.Cms,Form=Cms.Form,ColType=Cms.ColType,MimeTypes=Cms.MimeTypes;Form.TabPanel=function(config){if(Form.LayoutMode){this.LayoutConstructor(config);return;}
config=config||{};if(!config.items)config.items=[];config.deferredRender=false;Form.TabPanel.superclass.constructor.call(this,config);this.on("tabchange",this.onTabChange,this);}
Form.TabPanel.fromXML=function(p,ownerForm,ownerRecord){var items=[];if(p.dom.childNodes.length>0){for(var n=p.getFirstChild();n;n=n.getNextSibling()){var t=Form.types[n.getName()];if(!t){throw"unknown node: "+n.getName();}else{var item=t.fromXML(n,ownerForm,ownerRecord);if(item){items.push(item);}}}}
if(items.length==0){items.push(new Form.TextRegion({text:"&nbsp;"}));}
var tr=new Form.TabPanel({activeTab:0,items:items,plain:true,ownerForm:ownerForm,ownerRecord:ownerRecord,border:false});return tr;};Ext.extend(Form.TabPanel,Ext.TabPanel,{LayoutConstructor:function(config){config=config||{};var region=this;this.addTab=new Ext.Panel({title:'+',qtip:__tr('Click to create a new tab'),isAddTab:true,listeners:{'activate':function(tab){var t=new Form.Tab({title:__tr('New tab')});region.add(t);region.activate(t);}}});if(!config.items)config.items=[];config.items.unshift(this.addTab);Ext.applyIf(config,{activeTab:0,deferredRender:false,monitorResize:true,cls:'layout-item layout-target',autoHeight:true,autoWidth:true,enableTabScroll:true,listeners:{beforeremove:function(ct,item){if(!item.doubleDead&&item.items.getCount()>0){Ext.Msg.show({title:__tr('Delete tab?'),buttons:Ext.Msg.OKCANCEL,icon:Ext.MessageBox.QUESTION,msg:__tr('Closing this tab will delete all the items in it, are you sure you wish to continue?'),fn:function(r){if(r=='ok'){item.doubleDead=true;ct.remove(item);}}});return false;}
return true;}}});Form.TabPanel.superclass.constructor.call(this,config);},widthHack:function(container){if(container.items&&typeof(container.items.each)==="function"){container.items.each(function(item){if(typeof(item.fixWidth)==="function"){item.fixWidth();}
if(item.items&&typeof(item.items.each)==="function"){this.widthHack(item);}},this);}},onTabChange:function(tabPanel,tab){this.widthHack(tab);},clone:function(){var items=[];this.items.each(function(item){if(!item.isAddTab){items.push(item.clone());}});var config={activeTab:this.items.indexOf(this.getActiveTab()),deferredRender:false,cls:'layout-item layout-target',autoHeight:true};if(items.length>0){config.items=items;}
return new Form.TabPanel(config);},saveXml:function(p){var n=p.ownerDocument.createElement('tab-panel');p.appendChild(n);this.items.each(function(item){if(!item.isAddTab){item.saveXml(n);}});},addDragClass:function(index){var tabEl=Ext.get(this.getTabEl(index));tabEl.addClass('layout-tab');},initDragZone:function(index){var me=this;this.strip.dragZone=new Ext.dd.DragZone(this.strip,{ddGroup:'layout-tab',getDragData:function(e){var sourceEl=e.getTarget('.layout-tab');if(sourceEl){var d=sourceEl.cloneNode(true);d.id=Ext.id();return me.dragData={sourceEl:sourceEl,repairXY:Ext.fly(sourceEl).getXY(),ddel:d};}},getRepairXY:function(){return me.dragData.repairXY;}});},onAdd:function(tp,item,index){if(!Form.LayoutMode)
return;Form.TabPanel.superclass.onAdd.call(this,tp,item,index);if(!item.isAddTab){this.addDragClass(index);}},add:function(item){var a=arguments,len=a.length;if(len>1){for(var i=0;i<len;i++){this.add(a[i]);}
return;}
if(!Form.LayoutMode){Form.TabPanel.superclass.add.call(this,item);return;}
if(item.isAddTab){Form.TabPanel.superclass.add.call(this,item);}else{this.insertBefore(item,this.addTab);}},afterRender:function(){Form.TabPanel.superclass.afterRender.call(this);if(!Form.LayoutMode)
return;this.initDragZone();for(var i=0;i<this.items.length;++i){if(!this.items.get(i).isAddTab){this.addDragClass(i);}}
var me=this;var stripEl=this.stripWrap;stripEl.addClass('layout-tab-target');stripEl.dropZone=new Ext.dd.DropZone(stripEl,{ddGroup:'layout-tab',getTargetFromEvent:function(e){return e.getTarget('.layout-tab-target');},onNodeEnter:function(target,dd,e,data){Ext.fly(target).addClass('layout-target-hover');},onNodeOut:function(target,dd,e,data){Ext.fly(target).removeClass('layout-target-hover');},leftHalf:function(target,e){var targetEl=Ext.fly(target);var box=targetEl.getBox();var x=e.getXY()[0];return x<=box.x+box.width/2;},onNodeOver:function(target,dd,e,data)
{var tab=e.getTarget('.layout-tab');if(tab){if(this.leftHalf(tab,e))
return"x-tree-drop-ok-above";return"x-tree-drop-ok-below";}
return"x-dd-drop-ok";},findTabFromHeader:function(tabEl){var arr=tabEl.id.split(me.idDelimiter);return Ext.getCmp(arr[0]).getComponent(arr[1]);},findContainerFromTabEl:function(tabEl){var arr=tabEl.id.split(me.idDelimiter);return Ext.getCmp(arr[0]);},onNodeDrop:function(target,dd,e,data){var tabEl=e.getTarget('.layout-tab');var left,p,c;if(tabEl){left=this.leftHalf(tabEl,e);p=this.findContainerFromTabEl(tabEl);c=this.findTabFromHeader(tabEl);}else{c=me.addTab;p=me;left=true;}
var moveCmp=this.findTabFromHeader(Ext.get(data.sourceEl));if(c==moveCmp){return false;}
var moveEl=moveCmp.getEl().dom;moveEl.parentNode.removeChild(moveEl);var moveOwnerCt=moveCmp.ownerCt;moveCmp.doubleDead=true;moveOwnerCt.remove(moveCmp,false);if(left){p.insertBefore(moveCmp,c);}else{p.insertAfter(moveCmp,c);}
p.setActiveTab(moveCmp);return true;}});},insertAfter:function(newcomp,comp){Form.insertOffset(this,newcomp,comp,1);},insertBefore:function(newcomp,comp){Form.insertOffset(this,newcomp,comp,0);}});Form.reg(Form.TabPanel,'tab-region');}());