MWF.xApplication.cms.FormDesigner.Module=MWF.xApplication.cms.FormDesigner.Module||{};MWF.xDesktop.requireApp("cms.FormDesigner","Module.$Element",null,false);MWF.xApplication.cms.FormDesigner.Module.Tab$Page=MWF.CMSFCTab$Page=new Class({Extends:MWF.CMSFC$Element,Implements:[Options,Events],options:{style:"default",propertyPath:"/x_component_cms_FormDesigner/Module/Tab$Page/tab$Page.html",actions:[{name:"move",icon:"move1.png",event:"mousedown",action:"move",title:MWF.CMSFD.LP.formAction.move},{name:"add",icon:"add.png",event:"click",action:"addPage",title:MWF.CMSFD.LP.formAction.add},{name:"delete",icon:"delete1.png",event:"click",action:"delete",title:MWF.CMSFD.LP.formAction["delete"]}]},initialize:function(e,t,o){this.setOptions(o);this.path="/x_component_cms_FormDesigner/Module/Tab$Page/";this.cssPath="/x_component_cms_FormDesigner/Module/Tab$Page/"+this.options.style+"/css.wcss";this._loadCss();this.moduleType="element";this.moduleName="tab$Page";this.form=e.form;this.tab=e;this.page=t},_initModule:function(){this._setNodeProperty();this._createIconAction();this._setNodeEvent();if(this.form.moduleElementNodeList.indexOf(this.node)!=-1)this.form.moduleElementNodeList.erase(this.node)},load:function(e,t,o){this.json=e;this.node=t;this.node.store("module",this);this.node.setStyles(this.css.moduleNode);if(!this.json.id){var i=this._getNewId(o.json.id);this.json.id=i}if(this.json.name)this.page.textNode.set("text",this.json.name);t.set({MWFType:"tab$Page",id:this.json.id});if(!this.form.json.moduleList[this.json.id]){this.form.json.moduleList[this.json.id]=this.json}this._initModule();this._loadTreeNode(o);this.parentContainer=this.treeNode.parentNode.module;this.page.setOptions({onPostShow:function(){this.initialStyles=this.page.tab.css.tabNodeCurrent;this.node.store("normalBorder",this.page.tab.css.tabNodeCurrent)}.bind(this),onPostHide:function(){this.initialStyles=this.page.tab.css.tabNode;this.node.store("normalBorder",this.page.tab.css.tabNode)}.bind(this)});this._setEditStyle_custom("id")},_setEditStyle_custom:function(e){if(e=="width"){if(this.json.width){if(this.json.width.toInt()>60)this.node.setStyle("width",""+this.json.width+"px")}}if(e=="name"){this.page.textNode.set("text",this.json.name)}},addPage:function(){var e=this.tab.addPage();e.tabNode.inject(this.page.tabNode,"before");e.showTabIm()},delete:function(e){var t=this;this.form.designer.confirm("warn",e,MWF.CMSFD.LP.notice.deleteElementTitle,MWF.CMSFD.LP.notice.deleteElement,300,120,function(){if(t.tab.containers.length<=1){t.tab.destroy()}else{var e=t.page.contentNode.retrieve("module");t.destroy();t.tab.elements.erase(t);e.destroy();t.tab.containers.erase(e);t.page.closeTab()}this.close()},function(){this.close()},null)},destroy:function(){this.form.moduleList.erase(this);this.form.moduleNodeList.erase(this.node);this.form.moduleElementNodeList.erase(this.node);this.node.destroy();this.actionArea.destroy();delete this.form.json.moduleList[this.json.id];this.json=null;delete this.json;this.treeNode.destroy()},move:function(e){var t=[];this.tab.tabWidget.pages.each(function(e){if(e!=this.page){t.push(e.tabNode)}}.bind(this));this._createMoveNode();this._setNodeMove(t,e)},_createMoveNode:function(){this.moveNode=this.node.clone();this.moveNode.inject(this.form.node);this.moveNode.setStyles({border:"2px dashed #ffa200",opacity:.7,position:"absolute"})},_onEnterOther:function(){},_createCopyNode:function(){this.copyNode=new Element("div");this.copyNode.setStyles(this.css.moduleNodeShow);this.copyNode.addEvent("selectstart",function(){return false})},_setNodeMove:function(e,t){this._setMoveNodePosition(t);var o=this.moveNode.getPosition();var i=this.moveNode.getSize();var s=this.tab.node.getPosition();var n=this.tab.node.getSize();var d=new Drag.Move(this.moveNode,{droppables:e,limit:{x:[s.x,s.x+n.x],y:[o.y,o.y+i.y]},onEnter:function(e,t){var o=t.retrieve("module");if(o)o._dragIn(this);this._onEnterOther(e,t)}.bind(this),onLeave:function(e,t){var o=t.retrieve("module");if(o)o._dragOut(this);this._onLeaveOther(e,t)}.bind(this),onDrop:function(e,t){if(t){var o=t.retrieve("module");if(o)o._dragDrop(this);this._nodeDrop()}else{this._dragCancel(e)}}.bind(this),onCancel:function(e){this._dragCancel(e)}.bind(this)});d.start(t);this.form.moveModule=this;this.form.recordCurrentSelectedModule=this.form.currentSelectedModule;this.form.selected()}});