| 1 |
- MWF.CMSVD=MWF.xApplication.cms.ViewDesigner;MWF.CMSVD.options={multitask:true,executable:false};MWF.xDesktop.requireApp("cms.ViewDesigner","View",null,false);MWF.xApplication.cms.ViewDesigner.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"cms.ViewDesigner",icon:"icon.png",title:MWF.CMSVD.LP.title,appTitle:MWF.CMSVD.LP.title,id:"",actions:null,category:null,processData:null},onQueryLoad:function(){this.shortcut=true;if(!this.options.id&&this.status){this.options.application=this.status.applicationId;this.application=this.status.application;this.options.id=this.status.id}if(!this.options.id){this.options.desktopReload=false;this.options.title=this.options.title+"-"+MWF.CMSVD.LP.newView}this.actions=MWF.Actions.get("x_cms_assemble_control");this.path="/x_component_cms_ViewDesigner/$Main/";this.lp=MWF.xApplication.cms.ViewDesigner.LP},loadApplication:function(t){this.createNode();if(!this.options.isRefresh){this.maxSize(function(){this.openForm()}.bind(this))}else{this.openForm()}if(t)t()},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content)},openForm:function(){this.loadNodes();this.loadViewListNodes();this.loadContentNode();this.resizeNode();this.addEvent("resize",this.resizeNode.bind(this));this.loadView();if(this.toolbarContentNode){this.setScrollBar(this.toolbarContentNode,null,{V:{x:0,y:0},H:{x:0,y:0}})}},initOptions:function(){},loadNodes:function(){this.viewListNode=new Element("div",{styles:this.css.viewListNode}).inject(this.node);this.contentNode=new Element("div",{styles:this.css.contentNode}).inject(this.node)},loadViewListNodes:function(){this.viewListTitleNode=new Element("div",{styles:this.css.viewListTitleNode,text:MWF.CMSVD.LP.view}).inject(this.viewListNode);this.viewListResizeNode=new Element("div",{styles:this.css.viewListResizeNode}).inject(this.viewListNode);this.viewListAreaSccrollNode=new Element("div",{styles:this.css.viewListAreaSccrollNode}).inject(this.viewListNode);this.viewListAreaNode=new Element("div",{styles:this.css.viewListAreaNode}).inject(this.viewListAreaSccrollNode);this.loadViewListResize();this.loadViewList()},loadViewListResize:function(){this.viewListResize=new Drag(this.viewListResizeNode,{snap:1,onStart:function(t,i){var e=Browser.name=="firefox"?i.event.clientX:i.event.x;var s=Browser.name=="firefox"?i.event.clientY:i.event.y;t.store("position",{x:e,y:s});var o=this.viewListAreaSccrollNode.getSize();t.store("initialWidth",o.x)}.bind(this),onDrag:function(t,i){var e=Browser.name=="firefox"?i.event.clientX:i.event.x;var s=this.content.getSize();var o=t.retrieve("position");var n=t.retrieve("initialWidth").toFloat();var a=e.toFloat()-o.x.toFloat();var d=n+a;if(d>s.x/2)d=s.x/2;if(d<40)d=40;this.contentNode.setStyle("margin-left",d+1);this.viewListNode.setStyle("width",d)}.bind(this)})},loadViewList:function(){this.actions.listView(this.application.id,function(t){t.data.each(function(t){this.createListViewItem(t)}.bind(this))}.bind(this),null,false)},createListViewItem:function(t,i){var e=this;var s=new Element("div",{styles:this.css.listViewItem}).inject(this.viewListAreaNode,i?"top":"bottom");var o=new Element("div",{styles:this.css.listViewItemIcon}).inject(s);var n=new Element("div",{styles:this.css.listViewItemText,text:t.name?t.name+" ("+t.alias+")":this.lp.newView}).inject(s);s.store("view",t);s.addEvents({dblclick:function(t){e.loadViewByData(this,t)},mouseover:function(){if(e.currentListViewItem!=this)this.setStyles(e.css.listViewItem_over)},mouseout:function(){if(e.currentListViewItem!=this)this.setStyles(e.css.listViewItem)}})},loadViewByData:function(t,i){var e=t.retrieve("view");var s=true;for(var o=0;o<this.tab.pages.length;o++){if(e.id==this.tab.pages[o].view.data.id){this.tab.pages[o].showTabIm();s=false;break}}if(s){this.loadViewData(e.id,function(t){var i=new MWF.xApplication.cms.ViewDesigner.View(this,t);i.load()}.bind(this),true)}},loadRelativeForm:function(t,i){this.actions.getForm(t,function(t){this.relativeFormData=t.data.data?JSON.decode(MWF.decodeJsonString(t.data.data)):null;this.getFields(i)}.bind(this))},getFields:function(t){var i=this.path+"fieldConfig.json";MWF.getJSON(i,function(s){this.documentFields=s.documentFields;var o=[];s.formFileldType.each(function(t){o.push(t.name)});this.formFields=[];Object.each(this.relativeFormData.json.moduleList,function(t,i){var e=o.indexOf(t.type.toLowerCase());if(e>-1){this.formFields.push({name:i,type:s.formFileldType[e].type})}}.bind(this));if(t)t()}.bind(this))},loadContentNode:function(){this.contentToolbarNode=new Element("div#contentToolbarNode",{styles:this.css.contentToolbarNode}).inject(this.contentNode);if(!this.options.readMode)this.loadContentToolbar();this.editContentNode=new Element("div.editContentNode",{styles:this.css.editContentNode}).inject(this.contentNode);this.loadEditContent(function(){if(this.designNode)this.designNode.setStyles(this.css.designNode)}.bind(this))},loadContentToolbar:function(e){this.getFormToolbarHTML(function(t){var i=t.getElements("span");i.each(function(t,i){var e=t.get("MWFButtonImage");if(e){t.set("MWFButtonImage",this.path+""+this.options.style+"/toolbar/"+e)}}.bind(this));$(t).inject(this.contentToolbarNode);MWF.require("MWF.widget.Toolbar",function(){this.toolbar=new MWF.widget.Toolbar(t,{style:"ProcessCategory"},this);this.toolbar.load();if(e)e()}.bind(this))}.bind(this))},getFormToolbarHTML:function(n){var t=this.path+this.options.style+"/toolbars.html";var i=new Request.HTML({url:t,method:"get",onSuccess:function(t,i,e,s){var o=t[0];if(n)n(o)}.bind(this),onFailure:function(t){this.notice("request cmsToolbars error: "+t.responseText,"error")}.bind(this)});i.send()},maxOrReturnEditor:function(){if(!this.isMax){this.designNode.inject(this.node);this.designNode.setStyles({position:"absolute",width:"100%",height:"100%",top:"0px",margin:"0px",left:"0px"});this.tab.pages.each(function(t){t.view.setAreaNodeSize()});this.isMax=true}else{this.isMax=false;this.designNode.inject(this.editContentNode);this.designNode.setStyles(this.css.designNode);this.designNode.setStyles({position:"static"});this.resizeNode();this.tab.pages.each(function(t){t.view.setAreaNodeSize()})}},loadEditContent:function(t){this.designNode=new Element("div.designNode",{styles:this.css.designNode}).inject(this.editContentNode);MWF.require("MWF.widget.Tab",function(){this.tab=new MWF.widget.Tab(this.designNode,{style:"dictionary"});this.tab.load()}.bind(this),false)},resizeNode:function(){var t=this.node.getSize();this.contentNode.setStyle("height",""+t.y+"px");var i=this.contentToolbarNode.getStyle("margin-top").toFloat();var e=this.contentToolbarNode.getStyle("margin-bottom").toFloat();var s=this.contentToolbarNode.getComputedSize();var o=t.y-s.totalHeight-i-e;this.editContentNode.setStyle("height",""+o+"px");if(this.designNode){var n=this.designNode.getStyle("margin-top").toFloat();var a=this.designNode.getStyle("margin-bottom").toFloat();o=t.y-s.totalHeight-i-e-n-a;this.designNode.setStyle("height",""+o+"px")}titleSize=this.viewListTitleNode.getSize();titleMarginTop=this.viewListTitleNode.getStyle("margin-top").toFloat();titleMarginBottom=this.viewListTitleNode.getStyle("margin-bottom").toFloat();titlePaddingTop=this.viewListTitleNode.getStyle("padding-top").toFloat();titlePaddingBottom=this.viewListTitleNode.getStyle("padding-bottom").toFloat();nodeMarginTop=this.viewListAreaSccrollNode.getStyle("margin-top").toFloat();nodeMarginBottom=this.viewListAreaSccrollNode.getStyle("margin-bottom").toFloat();o=titleSize.y+titleMarginTop+titleMarginBottom+titlePaddingTop+titlePaddingBottom+nodeMarginTop+nodeMarginBottom;o=t.y-o;this.viewListAreaSccrollNode.setStyle("height",""+o+"px");this.viewListResizeNode.setStyle("height",""+o+"px")},loadView:function(){this.getViewData(this.options.id,function(t){var i=t.name||"";this.setTitle(this.options.appTitle+"-"+i);this.taskitem.setText(this.options.appTitle+"-"+i);this.options.appTitle=this.options.appTitle+"-"+i;this.view=new MWF.xApplication.cms.ViewDesigner.View(this,t);this.view.load();if(this.status){if(this.status.openViews){this.status.openViews.each(function(t){this.loadViewData(t,function(t){var i=true;if(this.status.currentId){if(this.status.currentId!=t.id)i=false}var e=new MWF.xApplication.cms.ViewDesigner.View(this,t,{showTab:i});e.load()}.bind(this),true)}.bind(this))}}}.bind(this))},getViewData:function(t,i){if(!t){this.loadNewViewData(i)}else{this.loadViewData(t,i)}},loadNewViewData:function(t){var i={content:{isNew:true,name:"",id:this.actions.getUUID(),application:this.application.id,applicationName:this.application.appName,alias:"",description:"",relativeForm:this.relativeForm,events:null,columns:[],jsheader:null,sortType:"ASC"}};this.createListViewItem(i,true);this.loadRelativeForm(this.options.formId||this.relativeForm.id,function(){if(t)t(i)})},loadViewData:function(t,e){this.actions.getView(t,function(i){if(i){i.data.content=JSON.parse(i.data.content);if(i.data.content.id!=t)i.data.content.id=t;if(!this.application){this.actions.getColumn(i.appId,function(t){this.application={name:t.data.name,id:t.data.id};this.loadRelativeForm(i.data.content.relativeForm.id,function(){if(e)e(i.data)})}.bind(this))}else{this.loadRelativeForm(i.data.content.relativeForm.id,function(){if(e)e(i.data)})}}}.bind(this))},saveView:function(){if(this.tab.showPage){var i=this.tab.showPage.view;i.save(function(){if(i==this.view){var t=i.data.name||"";this.setTitle(MWF.CMSVD.LP.title+"-"+t);this.options.desktopReload=true;this.options.id=i.data.id}this.fireAppEvent("postSave")}.bind(this))}},saveViewAs:function(){this.view.saveAs()},viewExplode:function(){this.view.explode()},viewImplode:function(){this.view.implode()},recordStatus:function(){if(this.tab){var i=[];this.tab.pages.each(function(t){if(t.view.data.id!=this.options.id)i.push(t.view.data.id)}.bind(this));var t=this.tab.showPage.view.data.id;var e={id:this.options.id,application:this.application,openViews:i,currentId:t};return e}return{id:this.options.id,application:this.application}}});
|