MWF.xApplication.process.FormDesigner.Module=MWF.xApplication.process.FormDesigner.Module||{};MWF.xDesktop.requireApp("process.FormDesigner","Module.$Component",null,false);MWF.xDesktop.requireApp("process.FormDesigner","Module.Table$Td",null,false);MWF.xApplication.process.FormDesigner.Module.Table=MWF.FCTable=new Class({Extends:MWF.FC$Component,Implements:[Options,Events],options:{style:"default",propertyPath:"/x_component_process_FormDesigner/Module/Table/table.html",propertyMultiPath:"/x_component_process_FormDesigner/Module/Table$Td/table$tdMulti.html",multiActions:[{name:"mergerCell",icon:"mergerCell.png",event:"click",action:"mergerCell",title:MWF.APPFD.LP.formAction.mergerCell}]},initialize:function(e,t){this.setOptions(t);this.path="/x_component_process_FormDesigner/Module/Table/";this.cssPath="/x_component_process_FormDesigner/Module/Table/"+this.options.style+"/css.wcss";this._loadCss();this.moduleType="component";this.moduleName="table";this.form=e;this.container=null;this.containerNode=null;this.containers=[];this.elements=[];this.selectedMultiTds=[]},clearTemplateStyles:function(e){if(e){if(e.styles)this.removeStyles(e.styles,"styles");if(e.properties)this.removeStyles(e.properties,"properties");if(e.titleStyles)this.removeStyles(e.titleStyles,"titleTdStyles");if(e.contentStyles)this.removeStyles(e.contentStyles,"contentTdStyles");if(e.layoutStyles)this.removeStyles(e.layoutStyles,"layoutTdStyles")}},setTemplateStyles:function(e){if(e.styles)this.copyStyles(e.styles,"styles");if(e.properties)this.copyStyles(e.properties,"properties");if(e.titleStyles)this.copyStyles(e.titleStyles,"titleTdStyles");if(e.contentStyles)this.copyStyles(e.contentStyles,"contentTdStyles");if(e.layoutStyles)this.copyStyles(e.layoutStyles,"layoutTdStyles")},_createMoveNode:function(){var e='
";this.moveNode=new Element("div",{html:e}).inject(this.form.container);this.moveNode.setStyles(this.css.moduleNodeMove);this._setTableStyle()},_setTableStyle:function(){var e=this.moveNode.getElements("td");e.setStyles({border:"1px dashed #999",height:"20px"})},_checkSelectedTds:function(e,t){this.selectedMultiTds=[];var s=this.node.getElements("td");var i=e.x,o=e.y,n=t.x,l=t.y;while(true){var r=e.x,d=e.y,a=t.x,h=t.y;s.each(function(e){if(e.isInPointInRect(i,o,n,l)){var t=e.getPosition();var s=e.getSize();if(!r||t.xa)a=t.x+s.x;if(!h||t.y+s.y>h)h=t.y+s.y}}.bind(this));if(i==r&&o==d&&n==a&&l==h)break;i=r,o=d,n=a,l=h}s.each(function(e){var t=e.retrieve("module");if(e.isInPointInRect(i,o,n,l)){t.selectedMulti()}else{t.unSelectedMulti()}}.bind(this))},_setOtherNodeEvent:function(){this.dragInfor={};this.tdDragSelect=new Drag(this.node,{stopPropagation:true,preventDefault:true,onStart:function(e,t){this.form._beginSelectMulti();var s=t.event.target.getPosition();this.dragInfor.start={x:t.event.offsetX+s.x,y:t.event.offsetY+s.y}}.bind(this),onDrag:function(e,t){var s=t.event.target.getPosition();var i={x:t.event.offsetX+s.x,y:t.event.offsetY+s.y};this._checkSelectedTds(this.dragInfor.start,i);t.stopPropagation()}.bind(this),onComplete:function(e,t){var s=t.event.target.getPosition();var i={x:t.event.offsetX+s.x,y:t.event.offsetY+s.y};this._checkSelectedTds(this.dragInfor.start,i);this.form._completeSelectMulti();this._createMultiSelectedActions();this.showMultiProperty();t.stopPropagation();t.preventDefault()}.bind(this)})},showMultiProperty:function(){if(this.form.propertyMultiTd){this.form.propertyMultiTd.hide();this.form.propertyMultiTd=null}this.form.propertyMultiTd=new MWF.xApplication.process.FormDesigner.PropertyMulti(this.form,this.form.selectedModules,this.form.designer.propertyContentArea,this.form.designer,{path:this.options.propertyMultiPath,onPostLoad:function(){this.show()}});this.form.propertyMultiTd.load()},_createMultiSelectedActions:function(){if(this.form.selectedModules.length>1){if(this.form.multimoduleActionsArea){this.form.multimoduleActionsArea.empty();this.options.multiActions.each(function(e){var t=new Element("div",{styles:this.options.actionNodeStyles,title:e.title}).inject(this.form.multimoduleActionsArea);t.setStyle("background","url("+this.path+this.options.style+"/icon/"+e.icon+") no-repeat left center");t.addEvent(e.event,function(t){this[e.action](t)}.bind(this))}.bind(this));this.form.multimoduleActionsArea.setStyle("width",18*this.options.multiActions.length)}}else{this.form.multimoduleActionsArea.setStyle("display","none")}},mergerCell:function(){if(this.form.selectedModules.length>1){var e=this.form._getFirstMultiSelectedModule();var t=e.module;var s=t.node;var i=0;while(s&&this.form.selectedModules.indexOf(s.retrieve("module"))!=-1){var o=s.get("colspan").toInt()||1;i=i+o;s=s.getNext("td")}var n=Number.NEGATIVE_INFINITY;var l=Number.POSITIVE_INFINITY;this.form.selectedModules.each(function(e,t){var s=e.node.getParent("tr").rowIndex;var i=e.node.get("rowspan").toInt()||1;var o=s+i-1;n=Math.max(n,o);l=Math.min(l,o)}.bind(this));var r=n-l+1;if(i>1){t.node.set("colspan",i);t.json.properties.colspan=i}else{t.node.set("colspan",1);delete t.node.colspan;delete t.json.properties.colspan}if(r>1){t.node.set("rowspan",r);t.json.properties.rowspan=r}else{t.node.set("rowspan",1);delete t.node.rowspan;delete t.json.properties.rowspan}while(this.form.selectedModules.length){var d=this.form.selectedModules[0];this.form.selectedModules.erase(d);if(d!==t){var a=d._getSubModule();a.each(function(e){e._moveTo(t)});this.containers.erase(d);d.destroy()}}t.selected()}},_getContainers:function(){var e=this.node.getElements("td");this.form.getTemplateData("Table$Td",function(t){e.each(function(e){var s=this.form.getDomjson(e);var i=null;if(!s){var o=Object.clone(t);i=new MWF.FCTable$Td(this.form);i.table=this;i.load(o,e,this)}else{i=new MWF.FCTable$Td(this.form);i.table=this;i.load(s,e,this)}this.containers.push(i)}.bind(this))}.bind(this))},_getElements:function(){},_createNode:function(e){var t=this;var s=this.path+"tableCreate.html";MWF.require("MWF.widget.Dialog",function(){var i=$(document.body).getSize();var o=i.x/2-180;var n=i.y/2-130;var l=new MWF.DL({title:"Create Table",style:"property",top:n,left:o-40,fromTop:i.y/2-65,fromLeft:i.x/2,width:360,height:260,url:s,buttonList:[{text:MWF.APPFD.LP.button.ok,action:function(){t._createTableNode();e();this.close()}}]});l.show()}.bind(this))},_createTableNode:function(){var e=$("MWFNewTableLine").get("value");var t=$("MWFNewTableColumn").get("value");var s=$("MWFNewTableWidth").get("value");var i=$("MWFNewTableWidthUnit");var o=i.options[i.selectedIndex].value;var n=$("MWFNewTableBorder").get("value");var l=$("MWFNewTableCellpadding").get("value");var r=$("MWFNewTableCellspacing").get("value");var d="";if(o=="percent"){d=s+"%"}else{d=s+"px"}this.json.properties.width=d;this.json.properties.border=n;this.json.properties.cellpadding=l;this.json.properties.cellspacing=r;var a='';for(var h=0;h";for(var c=0;c"}a+=""}a+="
";this.node=this.node=new Element("div",{id:this.json.id,MWFType:"table",html:a,styles:this.css.moduleNode,events:{selectstart:function(e){e.preventDefault()}}}).inject(this.form.node)},_dragComplete:function(){if(!this.node){this._createNode(function(){this._dragMoveComplete()}.bind(this))}else{this._dragMoveComplete()}},_dragMoveComplete:function(){this._resetTreeNode();this.node.inject(this.copyNode,"before");this._initModule();var e=this.node.retrieve("thisDisplay");if(e){this.node.setStyle("display",e)}if(this.copyNode)this.copyNode.destroy();if(this.moveNode)this.moveNode.destroy();this.moveNode=null;this.copyNode=null;this.nextModule=null;this.form.moveModule=null;this.form.json.moduleList[this.json.id]=this.json;this.selected()},setPropertiesOrStyles:function(e){if(e=="styles"){var t=this.node.getStyle("border");this.node.clearStyles();this.node.setStyles(this.css.moduleNode);this.node.setStyle("border",t);Object.each(this.json.styles,function(e,t){var s=/^border\w*/gi;if(!t.test(s)){this.node.setStyle(t,e)}}.bind(this))}if(e=="properties"){this.node.getFirst().setProperties(this.json.properties)}},_setEditStyle_custom:function(e,t,s){if(e=="id"){if(e!=s){var i=new RegExp("^"+s,"i");this.containers.each(function(e){var t=e.json.id;var s=t.replace(i,this.json.id);e.json.id=s;delete this.form.json.moduleList[t];this.form.json.moduleList[s]=e.json;e._setEditStyle("id")}.bind(this))}}if(e=="titleTdStyles")this.setTabStyles();if(e=="contentTdStyles")this.setTabStyles();if(e=="layoutTdStyles")this.setTabStyles()},setTabStyles:function(){this.containers.each(function(e){e.setCustomStyles()}.bind(this))},setAllStyles:function(){this.setPropertiesOrStyles("styles");this.setPropertiesOrStyles("properties");this.setTabStyles();this.reloadMaplist()},copyComponentJsonData:function(e,t){var s=e.getElements("td");s.each(function(e,s){var i=Object.clone(this.containers[s].json);i.id=this.containers[s]._getNewId(t);this.form.json.moduleList[i.id]=i;e.set("id",i.id)}.bind(this))},getContainerNodes:function(){return this.node.getElements("td")}});