Main.min.js 30 KB

1
  1. MWF.APPPD=MWF.xApplication.portal.PageDesigner;MWF.APPPD.options={multitask:true,executable:false};MWF.xDesktop.requireApp("portal.PageDesigner","Module.Package",null,false);MWF.xApplication.portal.PageDesigner.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",template:"template.json",templateId:"",name:"portal.PageDesigner",icon:"icon.png",title:MWF.APPPD.LP.title,appTitle:MWF.APPPD.LP.title,id:"",actions:null,category:null,processData:null},onQueryLoad:function(){this.shortcut=true;if(this.status){this.options.id=this.status.id}if(!this.options.id){this.options.desktopReload=false;this.options.title=this.options.title+"-"+MWF.APPPD.LP.newPage}this.actions=MWF.Actions.get("x_portal_assemble_designer");this.lp=MWF.xApplication.portal.PageDesigner.LP},loadApplication:function(e){this.createNode();if(!this.options.isRefresh){this.maxSize(function(){this.openPage()}.bind(this))}else{this.openPage()}this.addKeyboardEvents();if(e)e()},addKeyboardEvents:function(){this.addEvent("copy",function(){this.copyModule()}.bind(this));this.addEvent("paste",function(){this.pasteModule()}.bind(this));this.addEvent("cut",function(){this.cutModule()}.bind(this));this.addEvent("keySave",function(e){this.keySave(e)}.bind(this));this.addEvent("keyDelete",function(e){this.keyDelete(e)}.bind(this))},keySave:function(e){if(this.shortcut){if(this.page)this.savePage();e.preventDefault()}},keyDelete:function(e){if(this.page){if(this.shortcut){if(this.page.currentSelectedModule){var t=this.page.currentSelectedModule;if(t.moduleType!="page"&&t.moduleName.indexOf("$")==-1){t["delete"](t.node)}}}}},copyModule:function(){if(this.shortcut){if(this.page){if(this.page.currentSelectedModule){var e=this.page.currentSelectedModule;if(e.moduleType!="page"&&e.moduleName.indexOf("$")==-1){var t=e.getHtml();var i=e.getJson();MWF.clipboard.data={type:"page",data:{html:t,json:i}}}else{MWF.clipboard.data=null}}}}},cutModule:function(){if(this.shortcut){if(this.page){if(this.page.currentSelectedModule){var e=this.page.currentSelectedModule;if(e.moduleType!="page"&&e.moduleName.indexOf("$")==-1){this.copyModule();e.destroy();e.page.selected()}}}}},pasteModule:function(){if(this.shortcut){if(this.page){if(MWF.clipboard.data){if(MWF.clipboard.data.type=="page"){var e=MWF.clipboard.data.data.html;var t=Object.clone(MWF.clipboard.data.data.json);var a=new Element("div",{styles:{display:"none"},html:e}).inject(this.content);Object.each(t,function(e){var t=e.id;var i=e.id;var o=1;while(this.page.json.moduleList[i]){i=t+"_"+o;o++}if(t!=i){e.id=i;var s=a.getElementById(t);if(s)s.set("id",i)}this.page.json.moduleList[e.id]=e}.bind(this));delete t;var i=this.page.node;var o="bottom";var s=this.page;if(this.page.currentSelectedModule){var n=this.page.currentSelectedModule;i=n.node;s=n;if(n.moduleType!="container"&&n.moduleType!="page"){o="after";s=n.parentContainer}}var r=a.getFirst();while(r){r.inject(i,o);var l=this.page.getDomjson(r);module=this.page.loadModule(l,r,s);module._setEditStyle_custom("id");module.selected();r=a.getFirst()}a.destroy();delete a}}}}},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content)},openPage:function(){this.initOptions();this.loadNodes();this.loadToolbar();this.loadPageNode();this.loadProperty();this.loadTools();this.resizeNode();this.addEvent("resize",this.resizeNode.bind(this));this.loadPage();if(this.toolbarContentNode){this.setScrollBar(this.toolbarContentNode,null,{V:{x:0,y:0},H:{x:0,y:0}});MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(this.propertyDomScrollArea,{style:"default",where:"before",distance:30,friction:4,indent:false,axis:{x:false,y:true}})}.bind(this))}},initOptions:function(){this.toolsData=null;this.toolbarMode="all";this.tools=[];this.toolbarDecrease=0;this.designNode=null;this.page=null},loadNodes:function(){this.toolbarNode=new Element("div",{styles:this.css.toolbarNode,events:{selectstart:function(e){e.preventDefault()}}}).inject(this.node);this.propertyNode=new Element("div",{styles:this.css.propertyNode}).inject(this.node);this.pageNode=new Element("div",{styles:this.css.pageNode}).inject(this.node);if(this.options.style=="bottom")this.propertyNode.inject(this.pageNode,"after")},loadToolbar:function(){this.toolbarTitleNode=new Element("div",{styles:this.css.toolbarTitleNode,text:MWF.APPPD.LP.tools}).inject(this.toolbarNode);this.toolbarTitleActionNode=new Element("div",{styles:this.css.toolbarTitleActionNode,events:{click:function(e){this.switchToolbarMode()}.bind(this)}}).inject(this.toolbarNode);this.toolbarContentNode=new Element("div",{styles:this.css.toolbarContentNode,events:{selectstart:function(e){e.preventDefault();e.stopPropagation()}}}).inject(this.toolbarNode)},switchToolbarMode:function(){if(this.toolbarMode=="all"){var e=this.toolbarNode.getSize();this.toolbarDecrease=e.x.toFloat()-60;this.tools.each(function(e){e.getLast().setStyle("display","none")});this.toolbarTitleNode.set("text","");this.toolbarNode.setStyle("width","60px");var t=this.pageNode.getStyle("margin-left").toFloat();t=t-this.toolbarDecrease;this.pageNode.setStyle("margin-left",""+t+"px");this.toolbarTitleActionNode.setStyles(this.css.toolbarTitleActionNodeRight);this.toolbarMode="simple"}else{sizeX=60+this.toolbarDecrease;var t=this.pageNode.getStyle("margin-left").toFloat();t=t+this.toolbarDecrease;this.toolbarNode.setStyle("width",""+sizeX+"px");this.pageNode.setStyle("margin-left",""+t+"px");this.tools.each(function(e){e.getLast().setStyle("display","block")});this.toolbarTitleNode.set("text",MWF.APPPD.LP.tools);this.toolbarTitleActionNode.setStyles(this.css.toolbarTitleActionNode);this.toolbarMode="all"}},loadPageNode:function(){this.pageToolbarNode=new Element("div",{styles:this.css.pageToolbarNode}).inject(this.pageNode);this.loadPageToolbar();this.pageContentNode=new Element("div",{styles:this.css.pageContentNode}).inject(this.pageNode);this.loadPageContent(function(){if(this.designDcoument)this.designDcoument.body.setStyles(this.css.designBody);if(this.designNode)this.designNode.setStyles(this.css.designNode)}.bind(this))},loadDesignerActionNode:function(){this.pcDesignerActionNode=this.pageToolbarNode.getElement("#MWFPCDesignerAction");this.mobileDesignerActionNode=this.pageToolbarNode.getElement("#MWFMobileDesignerAction");this.currentDesignerMode="PC";this.pcDesignerActionNode.setStyles(this.css.designerActionNode_current);this.mobileDesignerActionNode.setStyles(this.css.designerActionNode);var e=new Element("div",{styles:this.css.designerActionPcIconNode}).inject(this.pcDesignerActionNode);e=new Element("div",{styles:this.css.designerActionMobileIconNode}).inject(this.mobileDesignerActionNode);var t=new Element("div",{styles:this.css.designerActiontextNode,text:"PC"}).inject(this.pcDesignerActionNode);t=new Element("div",{styles:this.css.designerActiontextNode,text:"Mobile"}).inject(this.mobileDesignerActionNode);this.pcDesignerActionNode.addEvent("click",function(){if(this.currentDesignerMode!="PC"){this.changeDesignerModeToPC()}}.bind(this));this.mobileDesignerActionNode.addEvent("click",function(){if(this.currentDesignerMode=="PC"){this.changeDesignerModeToMobile()}}.bind(this))},changeDesignerModeToPC:function(){this.pcDesignerActionNode.setStyles(this.css.designerActionNode_current);this.mobileDesignerActionNode.setStyles(this.css.designerActionNode);this.designMobileNode.setStyle("display","none");this.designNode.setStyle("display","block");if(this.page.currentSelectedModule){if(this.page.currentSelectedModule==this){return true}else{this.page.currentSelectedModule.unSelected()}}if(this.page.propertyMultiTd){this.page.propertyMultiTd.hide();this.page.propertyMultiTd=null}this.page.unSelectedMulti();this.page=this.pcPage;this.currentDesignerMode="PC"},changeDesignerModeToMobile:function(){this.pcDesignerActionNode.setStyles(this.css.designerActionNode);this.mobileDesignerActionNode.setStyles(this.css.designerActionNode_current);this.designMobileNode.setStyle("display","block");this.designNode.setStyle("display","none");if(this.page.currentSelectedModule){if(this.page.currentSelectedModule==this){return true}else{this.page.currentSelectedModule.unSelected()}}if(this.page.propertyMultiTd){this.page.propertyMultiTd.hide();this.page.propertyMultiTd=null}this.page.unSelectedMulti();if(!this.mobilePage){this.mobilePage=new MWF.PCPage(this,this.designMobileNode,{mode:"Mobile"});if(!Object.keys(this.pageMobileData.json.moduleList).length){this.pageMobileData=Object.clone(this.pageData)}this.mobilePage.load(this.pageMobileData)}this.page=this.mobilePage;this.currentDesignerMode="Mobile"},loadPageToolbar:function(i){this.getToolbarHTML(function(e){var t=e.getElements("span");t.each(function(e,t){var i=e.get("MWFButtonImage");if(i){e.set("MWFButtonImage",this.path+""+this.options.style+"/pageToolbar/"+i)}}.bind(this));$(e).inject(this.pageToolbarNode);MWF.require("MWF.widget.Toolbar",function(){this.pageToolbar=new MWF.widget.Toolbar(e,{style:"ProcessCategory"},this);this.pageToolbar.load();this.loadDesignerActionNode();if(i)i()}.bind(this))}.bind(this))},getToolbarHTML:function(a){var e=this.path+this.options.style+"/pageToolbars.html";var t=new Request.HTML({url:e,method:"get",onSuccess:function(e,t,i,o){var s=e[0];if(a)a(s)}.bind(this),onFailure:function(e){this.notice("request processToolbars error: "+e.responseText,"error")}.bind(this)});t.send()},loadPageContent:function(e){this.designNode=new Element("div",{styles:this.css.designNode}).inject(this.pageContentNode);this.designMobileNode=new Element("div",{styles:this.css.designMobileNode}).inject(this.pageContentNode)},reloadPropertyStyles:function(){this.css=null;this.cssPath="/x_component_"+this.options.name.replace(/\./g,"_")+"/$Main/"+this.options.style+"/css.wcss";this._loadCss();if(this.options.style=="bottom"){this.propertyNode.inject(this.pageNode,"after");this.propertyTitleNode.setStyle("cursor","row-resize");this.loadPropertyResizeBottom()}else{this.propertyNode.inject(this.pageNode,"before");this.propertyTitleNode.setStyle("cursor","default");if(this.propertyResizeBottom)this.propertyResizeBottom.detach()}this.pageNode.clearStyles(false);this.pageNode.setStyles(this.css.pageNode);this.propertyNode.clearStyles(false);this.propertyNode.setStyles(this.css.propertyNode);this.propertyTitleNode.clearStyles(false);this.propertyTitleNode.setStyles(this.css.propertyTitleNode);this.propertyResizeBar.clearStyles(false);this.propertyResizeBar.setStyles(this.css.propertyResizeBar);this.propertyContentNode.clearStyles(false);this.propertyContentNode.setStyles(this.css.propertyContentNode);this.propertyDomContentArea.clearStyles(false);this.propertyDomContentArea.setStyles(this.css.propertyDomContentArea);this.propertyDomScrollArea.clearStyles(false);this.propertyDomScrollArea.setStyles(this.css.propertyDomScrollArea);this.propertyDomArea.clearStyles(false);this.propertyDomArea.setStyles(this.css.propertyDomArea);this.propertyContentArea.clearStyles(false);this.propertyContentArea.setStyles(this.css.propertyContentArea);this.propertyContentResizeNode.clearStyles(false);this.propertyContentResizeNode.setStyles(this.css.propertyContentResizeNode);this.propertyTitleActionNode.clearStyles(false);this.propertyTitleActionNode.setStyles(this.css.propertyTitleActionNode);this.resizeNode()},loadProperty:function(){this.propertyTitleActionNode=new Element("div",{styles:this.css.propertyTitleActionNode}).inject(this.propertyNode);this.propertyTitleActionNode.addEvent("click",function(){this.options.style=this.options.style=="default"?"bottom":"default";MWF.UD.putData("pageDesignerStyle",{style:this.options.style});this.reloadPropertyStyles()}.bind(this));this.propertyTitleNode=new Element("div",{styles:this.css.propertyTitleNode,text:MWF.APPPD.LP.property}).inject(this.propertyNode);if(this.options.style=="bottom"){this.propertyTitleNode.setStyle("cursor","row-resize");this.loadPropertyResizeBottom()}this.propertyResizeBar=new Element("div",{styles:this.css.propertyResizeBar}).inject(this.propertyNode);this.loadPropertyResize();this.propertyContentNode=new Element("div",{styles:this.css.propertyContentNode}).inject(this.propertyNode);this.propertyDomContentArea=new Element("div",{styles:this.css.propertyDomContentArea}).inject(this.propertyContentNode);this.propertyDomScrollArea=new Element("div",{styles:this.css.propertyDomScrollArea}).inject(this.propertyDomContentArea);this.propertyDomArea=new Element("div",{styles:this.css.propertyDomArea}).inject(this.propertyDomScrollArea);this.propertyDomPercent=.3;this.propertyContentResizeNode=new Element("div",{styles:this.css.propertyContentResizeNode}).inject(this.propertyContentNode);this.propertyContentArea=new Element("div",{styles:this.css.propertyContentArea}).inject(this.propertyContentNode);this.loadPropertyContentResize()},loadPropertyResizeBottom:function(){if(!this.propertyResizeBottom){this.propertyResizeBottom=new Drag(this.propertyTitleNode,{snap:1,onStart:function(e,t){var i=Browser.name=="firefox"?t.event.clientX:t.event.x;var o=Browser.name=="firefox"?t.event.clientY:t.event.y;e.store("position",{x:i,y:o});var s=this.propertyNode.getSize();e.store("initialWidth",s.x);e.store("initialHeight",s.y)}.bind(this),onDrag:function(e,t){var i=Browser.name=="firefox"?t.event.clientY:t.event.y;var o=this.content.getSize();var s=e.retrieve("position");var a=e.retrieve("initialHeight").toFloat();var n=s.y.toFloat()-i.toFloat();var r=a+n;if(r>o.y/1.5)r=o.y/1.5;if(r<40)r=40;var l=1-r/o.y;this.resizeNode(l)}.bind(this)})}else{this.propertyResizeBottom.attach()}},loadPropertyResize:function(){this.propertyResize=new Drag(this.propertyResizeBar,{snap:1,onStart:function(e,t){var i=Browser.name=="firefox"?t.event.clientX:t.event.x;var o=Browser.name=="firefox"?t.event.clientY:t.event.y;e.store("position",{x:i,y:o});var s=this.propertyNode.getSize();e.store("initialWidth",s.x)}.bind(this),onDrag:function(e,t){var i=Browser.name=="firefox"?t.event.clientX:t.event.x;var o=this.content.getSize();var s=e.retrieve("position");var a=e.retrieve("initialWidth").toFloat();var n=s.x.toFloat()-i.toFloat();var r=a+n;if(r>o.x/2)r=o.x/2;if(r<40)r=40;this.pageNode.setStyle("margin-right",r+1);this.propertyNode.setStyle("width",r)}.bind(this)})},propertyResizeDragTopBottom:function(e,t){var i=this.propertyContentNode.getSize();var o=t.event.y;var s=e.retrieve("position");var a=o.toFloat()-s.y.toFloat();var n=e.retrieve("initialHeight").toFloat();var r=n+a;if(r<40)r=40;if(r>i.y-40)r=i.y-40;this.propertyDomPercent=r/i.y;this.setPropertyContentResize()},propertyResizeDragLeftRight:function(e,t){var i=this.propertyContentNode.getSize();var o=Browser.name=="firefox"?t.event.clientX:t.event.x;var s=e.retrieve("position");var a=o.toFloat()-s.x.toFloat();var n=e.retrieve("initialWidth").toFloat();var r=n+a;if(r<40)r=40;if(r>i.x-40)r=i.x-40;this.propertyDomPercent=r/i.x;this.setPropertyContentResizeBottom()},loadPropertyContentResize:function(){this.propertyContentResize=new Drag(this.propertyContentResizeNode,{snap:1,onStart:function(e,t){var i=Browser.name=="firefox"?t.event.clientX:t.event.x;var o=Browser.name=="firefox"?t.event.clientY:t.event.y;e.store("position",{x:i,y:o});var s=this.propertyDomContentArea.getSize();e.store("initialHeight",s.y);e.store("initialWidth",s.x)}.bind(this),onDrag:function(e,t){if(this.options.style=="bottom"){this.propertyResizeDragLeftRight(e,t)}else{this.propertyResizeDragTopBottom(e,t)}}.bind(this)})},setPropertyContentResizeBottom:function(){var e=this.propertyContentNode.getSize();var t=this.propertyContentResizeNode.getSize();var i=e.x-t.x-6;var o=this.propertyDomPercent*i;var s=o+t.x+6;this.propertyDomContentArea.setStyle("width",""+o+"px");this.propertyContentArea.setStyle("margin-left",""+s+"px")},setPropertyContentResize:function(){var e=this.propertyContentNode.getSize();var t=this.propertyContentResizeNode.getSize();var i=e.y-t.y;var o=this.propertyDomPercent*i;var s=i-o;this.propertyDomContentArea.setStyle("height",""+o+"px");this.propertyDomScrollArea.setStyle("height",""+o+"px");this.propertyContentArea.setStyle("height",""+s+"px");if(this.page){if(this.page.currentSelectedModule){if(this.page.currentSelectedModule.property){var a=this.page.currentSelectedModule.property.propertyTab;if(a){var n=a.tabNodeContainer.getSize();a.pages.each(function(e){var t=e.contentNodeArea.getStyle("margin-top").toFloat();var i=e.contentNodeArea.getStyle("margin-bottom").toFloat();var o=s-t-i-n.y.toFloat()-15;e.contentNodeArea.setStyle("height",o)}.bind(this))}}}}},loadTools:function(){var a=this;this.getTools(function(){Object.each(this.toolsData,function(e,t){var i=new Element("div",{styles:this.css.toolbarToolNode,title:e.text,events:{mouseover:function(e){try{this.setStyles(a.css.toolbarToolNodeOver)}catch(e){this.setStyles(a.css.toolbarToolNodeOverCSS2)}},mouseout:function(e){try{this.setStyles(a.css.toolbarToolNode)}catch(e){}},mousedown:function(e){try{this.setStyles(a.css.toolbarToolNodeDown)}catch(e){this.setStyles(a.css.toolbarToolNodeDownCSS2)}},mouseup:function(e){try{this.setStyles(a.css.toolbarToolNodeUp)}catch(e){this.setStyles(a.css.toolbarToolNodeUpCSS2)}}}}).inject(this.toolbarContentNode);i.store("toolClass",e.className);var o=new Element("div",{styles:this.css.toolbarToolIconNode}).inject(i);o.setStyle("background-image","url("+this.path+this.options.style+"/icon/"+e.icon+")");var s=new Element("div",{styles:this.css.toolbarToolTextNode,text:e.text});s.inject(i);i.addEvent("mousedown",function(e){var t=this.retrieve("toolClass");a.page.createModule(t,e)});this.tools.push(i)}.bind(this))}.bind(this))},getTools:function(i){if(this.toolsData){if(i)i()}else{var e=this.path+this.options.style+"/tools.json";var t=new Request.JSON({url:e,secure:false,async:false,method:"get",noCache:true,onSuccess:function(e,t){this.toolsData=e;if(i)i()}.bind(this),onError:function(e,t){this.notice("request tools data error: "+t,"error")}.bind(this)});t.send()}},resizeNodeLeftRight:function(){var e=this.node.getSize();this.toolbarNode.setStyle("height",""+e.y+"px");this.pageNode.setStyle("height",""+e.y+"px");this.propertyNode.setStyle("height",""+e.y+"px");var t=this.pageToolbarNode.getStyle("margin-top").toFloat();var i=this.pageToolbarNode.getStyle("margin-bottom").toFloat();var o=this.pageToolbarNode.getComputedSize();var s=e.y-o.totalHeight-t-i;this.pageContentNode.setStyle("height",""+s+"px");if(this.designNode){var a=this.designNode.getStyle("margin-top").toFloat();var n=this.designNode.getStyle("margin-bottom").toFloat();s=e.y-o.totalHeight-t-i-a-n;this.designNode.setStyle("height",""+s+"px")}var r=this.toolbarTitleNode.getSize();var l=this.toolbarTitleNode.getStyle("margin-top").toFloat();var h=this.toolbarTitleNode.getStyle("margin-bottom").toFloat();var d=this.toolbarTitleNode.getStyle("padding-top").toFloat();var p=this.toolbarTitleNode.getStyle("padding-bottom").toFloat();s=r.y+l+h+d+p;s=e.y-s;this.toolbarContentNode.setStyle("height",""+s+"px");r=this.propertyTitleNode.getSize();l=this.propertyTitleNode.getStyle("margin-top").toFloat();h=this.propertyTitleNode.getStyle("margin-bottom").toFloat();d=this.propertyTitleNode.getStyle("padding-top").toFloat();p=this.propertyTitleNode.getStyle("padding-bottom").toFloat();s=r.y+l+h+d+p;s=e.y-s;this.propertyContentNode.setStyle("height",""+s+"px");this.propertyResizeBar.setStyle("height",""+s+"px")},resizeNodeTopBottom:function(e){var t=this.node.getSize();this.toolbarNode.setStyle("height",""+t.y+"px");var i=e||.6;var o=t.y*i;var s=t.y-o;this.pageNode.setStyle("height",""+o+"px");this.propertyNode.setStyle("height",""+s+"px");var a=this.pageToolbarNode.getStyle("margin-top").toFloat();var n=this.pageToolbarNode.getStyle("margin-bottom").toFloat();var r=this.pageToolbarNode.getComputedSize();var l=o-r.totalHeight-a-n;if(this.designNode){var h=this.designNode.getStyle("margin-top").toFloat();var d=this.designNode.getStyle("margin-bottom").toFloat();l=o-r.totalHeight-a-n-h-d;this.designNode.setStyle("height",""+l+"px")}var p=this.toolbarTitleNode.getSize();var c=this.toolbarTitleNode.getStyle("margin-top").toFloat();var g=this.toolbarTitleNode.getStyle("margin-bottom").toFloat();var y=this.toolbarTitleNode.getStyle("padding-top").toFloat();var u=this.toolbarTitleNode.getStyle("padding-bottom").toFloat();l=p.y+c+g+y+u;l=t.y-l;this.toolbarContentNode.setStyle("height",""+l+"px");p=this.propertyTitleNode.getSize();c=this.propertyTitleNode.getStyle("margin-top").toFloat();g=this.propertyTitleNode.getStyle("margin-bottom").toFloat();y=this.propertyTitleNode.getStyle("padding-top").toFloat();u=this.propertyTitleNode.getStyle("padding-bottom").toFloat();l=p.y+c+g+y+u;l=s-l;this.propertyContentNode.setStyle("height",""+l+"px");this.propertyResizeBar.setStyle("height",""+l+"px");this.propertyDomContentArea.setStyle("height",""+l+"px");this.propertyDomScrollArea.setStyle("height",""+l+"px");this.propertyContentResizeNode.setStyle("height",""+l+"px");this.propertyContentArea.setStyle("height",""+l+"px");if(this.page){if(this.page.currentSelectedModule){if(this.page.currentSelectedModule.property){var m=this.page.currentSelectedModule.property.propertyTab;if(m){var f=m.tabNodeContainer.getSize();m.pages.each(function(e){var t=e.contentNodeArea.getStyle("margin-top").toFloat();var i=e.contentNodeArea.getStyle("margin-bottom").toFloat();var o=l-t-i-f.y.toFloat()-15;e.contentNodeArea.setStyle("height",o)}.bind(this))}}}}},resizeNode:function(e){if(this.options.style=="bottom"){this.resizeNodeTopBottom(e);this.setPropertyContentResizeBottom()}else{this.resizeNodeLeftRight(e);this.setPropertyContentResize()}},loadPage:function(){this.getPageData(function(){this.pcPage=new MWF.PCPage(this,this.designNode);this.pcPage.load(this.pageData);this.page=this.pcPage}.bind(this))},getPageData:function(e){if(!this.options.id){if(this.options.templateId){this.loadNewPageDataFromTemplate(e)}else{this.loadNewPageData(e)}}else{this.loadPageData(e)}},loadNewPageData:function(t){var e="/x_component_portal_PageDesigner/Module/Page/template/"+this.options.template;MWF.getJSON(e,{onSuccess:function(e){this.pageData=e.pcData;this.pageData.id="";this.pageData.isNewPage=true;this.pageMobileData=e.mobileData;this.pageMobileData.id="";this.pageMobileData.isNewPage=true;if(t)t()}.bind(this),onerror:function(e){this.notice(e,"error")}.bind(this),onRequestFailure:function(e){this.notice(e.responseText,"error")}.bind(this)})},loadNewPageDataFromTemplate:function(t){this.actions.getPageTemplate(this.options.templateId,function(e){if(e){this.pageData=JSON.decode(MWF.decodeJsonString(e.data.data));this.pageData.isNewPage=true;this.pageData.json.id="";if(e.data.mobileData){this.pageMobileData=JSON.decode(MWF.decodeJsonString(e.data.mobileData));this.pageMobileData.isNewPage=true;this.pageMobileData.json.id=""}else{this.pageMobileData=Object.clone(this.pageData)}if(t)t()}}.bind(this))},loadPageData:function(t){this.actions.getPage(this.options.id,function(e){if(e){this.pageData=JSON.decode(MWF.decodeJsonString(e.data.data));this.pageData.isNewPage=false;this.pageData.json.id=e.data.id;if(e.data.mobileData){this.pageMobileData=JSON.decode(MWF.decodeJsonString(e.data.mobileData));this.pageMobileData.isNewPage=false;this.pageMobileData.json.id=e.data.id}else{this.pageMobileData=Object.clone(this.pageData)}this.setTitle(this.options.appTitle+"-"+this.pageData.json.name);this.taskitem.setText(this.options.appTitle+"-"+this.pageData.json.name);this.options.appTitle=this.options.appTitle+"-"+this.pageData.json.name;if(!this.application){this.actions.getApplication(e.data.portal,function(e){this.application={name:e.data.name,id:e.data.id};if(t)t()}.bind(this))}else{if(t)t()}}}.bind(this))},getFieldList:function(){dataTypes={string:["htmledit","radio","select","textarea","textfield"],person:["personfield"],date:["calender"],number:["number"],array:["checkbox"]};fieldList=[];this.pcPage.moduleList.each(function(e){var t="";for(k in dataTypes){if(dataTypes[k].indexOf(e.moduleName.toLowerCase())!=-1){t=k;break}}if(t){fieldList.push({name:e.json.id,dataType:t})}}.bind(this));return fieldList},saveForm:function(){this.savePage()},savePage:function(){if(!this.isSave){var i,o;if(this.pcPage){this.pcPage._getPageData();i=this.pcPage.data}if(this.mobilePage){this.mobilePage._getPageData();o=this.mobilePage.data}else{if(this.pageMobileData)o=this.pageMobileData}this.isSave=true;var e=this.getFieldList();this.actions.savePage(i,o,e,function(e){this.notice(MWF.APPPD.LP.notice["save_success"],"ok",null,{x:"left",y:"bottom"});if(!this.pcPage.json.name)this.pcPage.treeNode.setText("<"+this.json.type+"> "+this.json.id);this.pcPage.treeNode.setTitle(this.pcPage.json.id);this.pcPage.node.set("id",this.pcPage.json.id);if(this.mobilePage){if(!this.mobilePage.json.name)this.mobilePage.treeNode.setText("<"+this.mobilePage.json.type+"> "+this.mobilePage.json.id);this.mobilePage.treeNode.setTitle(this.mobilePage.json.id);this.mobilePage.node.set("id",this.mobilePage.json.id+"_"+this.options.mode)}var t=this.pcPage.json.name;if(this.pcPage.data.isNewPage)this.setTitle(this.options.appTitle+"-"+t);this.pcPage.data.isNewPage=false;if(this.mobilePage)this.mobilePage.data.isNewPage=false;this.options.desktopReload=true;this.options.id=this.pcPage.json.id;if(i)i.isNewPage=false;if(o)o.isNewPage=false;this.isSave=false}.bind(this),function(e,t,i){this.isSave=false;var o=i+":"+t;if(e)o=e.responseText;MWF.xDesktop.notice("error",{x:"right",y:"top"},"request json error: "+o)}.bind(this))}else{MWF.xDesktop.notice("info",{x:"right",y:"top"},this.lp.isSave)}},previewPage:function(){this.page.preview()},pageExplode:function(){this.page.explode()},recordStatus:function(){return{id:this.options.id}},onPostClose:function(){if(this.pcPage){MWF.release(this.pcPage.moduleList);MWF.release(this.pcPage.moduleNodeList);MWF.release(this.pcPage.moduleContainerNodeList);MWF.release(this.pcPage.moduleElementNodeList);MWF.release(this.pcPage.moduleComponentNodeList);MWF.release(this.pcPage)}if(this.mobilePage){MWF.release(this.mobilePage.moduleList);MWF.release(this.mobilePage.moduleNodeList);MWF.release(this.mobilePage.moduleContainerNodeList);MWF.release(this.mobilePage.moduleElementNodeList);MWF.release(this.mobilePage.moduleComponentNodeList);MWF.release(this.mobilePage)}},setTemplatePageNode:function(e){var t='<table align="center" width="100%" height="90%" border="0" cellPadding="0" cellSpacing="0">'+'<tr><td colSpan="2" style="height: 50px; line-height: 60px; text-align: center; font-size: 24px; font-weight: bold">'+this.lp.saveTemplate+"</td></tr>"+'<tr><td style="height: 40px;" width="80px">'+this.lp.templateName+"</td><td>"+'<input value="'+this.pcPage.json.name+'" type="text" style="width: 98%; height: 22px; border: 1px solid #cccccc"/>'+"</td></tr>"+'<tr><td style="height: 40px;">'+this.lp.templateCategory+"</td><td>"+'<select style="width: 30%; height: 24px; border: 1px solid #cccccc"></select>'+'<input type="text" style="width: 68%; height: 22px; border: 1px solid #cccccc"/>'+"</td></tr>"+'<tr><td style="height: 40px;">'+this.lp.templateDescription+"</td><td>"+'<textarea type="text" style="width: 98%; height: 44px; border: 1px solid #cccccc">'+this.pcPage.json.description+"</textarea>"+"</td></tr>"+'<tr><td colSpan="2" id="page_templatePreview">'+'<div style="position: relative; width: 180px; height: 180px; margin: 20px auto 0px auto; overflow: hidden"></div>'+"</td></tr>"+"</table>";e.set("html",t);var i=e.getElements("td");var o=i[i.length-1].getFirst();var s=this.pcPage.node.clone();s.setStyles({"transform-origin":"0px 0px",transform:"scale(0.15,0.15)",position:"absolute",top:"0px",left:"0px"}).inject(o);return o},setCategorySelect:function(t){if(t){new Element("option",{value:"$newCategory",text:this.lp.newCategory}).inject(t);this.actions.listPageTemplateCategory(function(e){e.data.each(function(e){new Element("option",{value:e.name,text:e.name}).inject(t)}.bind(this))}.bind(this))}},setTemplateActions:function(e,t,i,o,s,a,n,r){var l=new Element("div",{styles:this.css.templateActionNode}).inject(i);var h=new Element("div",{styles:this.css.templateCancelActionNode,text:this.lp.cancel,events:{click:function(){e.destroy();t.destroy()}}}).inject(l);var d=new Element("div",{styles:this.css.templateSaveActionNode,text:this.lp.save,events:{click:function(){this.saveTemplate(e,t,o,s,a,n,r)}.bind(this)}}).inject(l)},saveTemplate:function(e,t,i,o,s,a,n){var r,l;if(this.pcPage){this.pcPage._getPageData();r=this.pcPage.data}if(this.mobilePage){this.mobilePage._getPageData();l=this.mobilePage.data}var h=o.get("value");var d=s.options[s.selectedIndex].value=="$newCategory"?a.get("value"):s.options[s.selectedIndex].value;var p=n.get("value");if(!h){this.notice(MWF.APPPD.LP.notice["saveTemplate_inputName"],"error",o,{x:"left",y:"top"});return false}if(s.options[s.selectedIndex].value=="$newCategory"&&!a.get("value")){this.notice(MWF.APPPD.LP.notice["saveTemplate_inputCategory"],"error",s,{x:"left",y:"top"});return false}var c={name:h,category:d,description:p,outline:i.get("html")};this.actions.addPageTemplate(r,l,c,function(){this.notice(MWF.APPPD.LP.notice["saveTemplate_success"],"ok",null,{x:"left",y:"bottom"});e.destroy();t.destroy()}.bind(this),function(e,t,i){var o=i+":"+t;if(e)o=e.responseText;MWF.xDesktop.notice("error",{x:"right",y:"top"},"request json error: "+o)})},createTemplateSaveNode:function(){var e=new Element("div",{styles:this.css.templateMarkNode,events:{mouseover:function(e){e.stopPropagation()},mouseout:function(e){e.stopPropagation()}}}).inject(this.content);var t=new Element("div",{styles:this.css.templateAreaNode}).inject(this.content);var i=new Element("div",{styles:this.css.templateInfoNode}).inject(t);var o=new Element("div",{styles:this.css.templatePageNode}).inject(i);var s=this.setTemplatePageNode(o);var a=o.getElements("input");var n=a[0];var r=a[1];var l=o.getElement("textarea");var h=o.getElement("select");this.setCategorySelect(h);this.setTemplateActions(e,t,o,s,n,h,r,l)},savePageAsTemplate:function(){if(!this.isSave){this.createTemplateSaveNode()}else{MWF.xDesktop.notice("info",{x:"right",y:"top"},this.lp.isSave)}}});