$Container.min.js 3.0 KB

1
  1. MWF.xApplication.process.FormDesigner.Module=MWF.xApplication.process.FormDesigner.Module||{};MWF.xDesktop.requireApp("process.FormDesigner","Module.$Module",null,false);MWF.xApplication.process.FormDesigner.Module.$Container=MWF.FC$Container=new Class({Extends:MWF.FC$Module,Implements:[Options,Events],_setNodeProperty:function(){this.node.store("module",this);if(this.form.moduleList.indexOf(this)==-1)this.form.moduleList.push(this);if(this.form.moduleNodeList.indexOf(this.node)==-1)this.form.moduleNodeList.push(this.node);if(this.form.moduleContainerNodeList.indexOf(this.node)==-1)this.form.moduleContainerNodeList.push(this.node);this.node.store("module",this)},_dragIn:function(e){if(!this.Component)e.inContainer=this;e.parentContainer=this;e.nextModule=null;this.node.setStyles({border:"1px solid #ffa200"});var t=e._getCopyNode();t.inject(this.node)},_dragOut:function(e){e.inContainer=null;e.parentContainer=null;e.nextModule=null;this.node.setStyles(this.css.moduleNode);this.setCustomStyles();var t=e._getCopyNode();t.setStyle("display","none")},_dragDrop:function(e){this.node.setStyles(this.css.moduleNode);this.setCustomStyles();this.parentContainer.node.setStyles(this.css.moduleNode);this.parentContainer.setCustomStyles()},_dragInLikeElement:function(e){e.parentContainer=this.parentContainer;e.nextModule=this;this.parentContainer.node.setStyles({border:"1px solid #ffa200"});var t=e._getCopyNode();t.inject(this.node,"before")},_getSubModule:function(){var e=[];var t=this.node.getFirst();while(t){var o=t.retrieve("module");if(o){e.push(o)}t=t.getNext()}return e},load:function(e,t,o){this.json=e;this.node=t;this.node.store("module",this);this.node.setStyles(this.css.moduleNode);this._loadNodeStyles();this._loadNodeCustomStyles();this._initModule();this._loadTreeNode(o);this.parseModules();this.parentContainer=this.treeNode.parentNode.module;this._setEditStyle_custom("id");this.json.moduleName=this.moduleName},parseModules:function(){var e=this.node.getFirst();while(e){if(e.get("MWFtype")){var t=this.form.getDomjson(e);module=this.form.loadModule(t,e,this)}e=e.getNext()}},destroy:function(){var e=this._getSubModule();e.each(function(e){e.destroy()});this._deleteModule()},_deleteModule: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()},copy:function(e){this.copySubModule().move(e)},copyTo:function(e){if(!e)e=this.form;var t=this.node.clone(false,true);var o=Object.clone(this.json);t.inject(e.node);var s=this.moduleName.capitalize();var i=this.form.moduleType=="page"?"PC":"FC";var n=new MWF[i+s](this.form);o.id=n._getNewId();t.set("id",o.id);this.form.json.moduleList[o.id]=o;n.load(o,t,e);return n},copySubModule:function(e){var t=this.copyTo(e);var o=this._getSubModule();o.each(function(e){if(e.moduleType=="container"){e.copySubModule(t)}if(e.moduleType=="element"){e.copyTo(t)}if(e.moduleType=="component"){e.copyTo(t)}});return t}});