| 1 |
- MWF.xApplication.cms.QueryViewDesigner=MWF.xApplication.cms.QueryViewDesigner||{};MWF.CMSQVD=MWF.xApplication.cms.QueryViewDesigner;MWF.CMSQVD.options={multitask:true,executable:false};MWF.xDesktop.requireApp("cms.QueryViewDesigner","View",null,false);MWF.xApplication.cms.QueryViewDesigner.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"cms.QueryViewDesigner",icon:"icon.png",title:MWF.CMSQVD.LP.title,appTitle:MWF.CMSQVD.LP.title,id:"",tooltip:{unCategory:MWF.CMSQVD.LP.unCategory},actions:null,category:null,processData:null},onQueryLoad:function(){this.shortcut=true;if(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.CMSQVD.LP.newView}if(!this.actions)this.actions=MWF.Actions.get("x_cms_assemble_control");this.lp=MWF.xApplication.cms.QueryViewDesigner.LP;this.addEvent("queryClose",function(t){if(this.explorer){this.explorer.reload()}}.bind(this));this.addEvent("postLoadWindowMax",function(t){this.loadWindowOk=true;if(this.loadApplicationOk&&this.loadWindowOk){this.view.setViewWidth()}}.bind(this));this.addEvent("postLoadApplication",function(t){this.loadApplicationOk=true;if(this.loadApplicationOk&&this.loadWindowOk){this.view.setViewWidth()}}.bind(this))},loadApplication:function(t){this.createNode();if(!this.options.isRefresh){this.maxSize(function(){this.openView(function(){if(t)t()})}.bind(this))}else{this.openView(function(){if(t)t()})}if(!this.options.readMode)this.addKeyboardEvents()},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(t){this.keySave(t)}.bind(this));this.addEvent("keyDelete",function(t){this.keyDelete(t)}.bind(this))},keySave:function(t){if(this.shortcut){this.view.save();t.preventDefault()}},keyDelete:function(){if(this.shortcut){if(this.view.currentSelectedModule){var t=this.view.currentSelectedModule;t["delete"]()}}},copyModule:function(){if(this.shortcut){if(this.view.currentSelectedModule){var t=this.view.currentSelectedModule;MWF.clipboard.data={type:"view",data:t.json}}}},cutModule:function(){if(this.shortcut){if(this.view.currentSelectedModule){this.copyModule();var t=this.view.currentSelectedModule;t.destroy()}}},pasteModule:function(){if(this.shortcut){if(MWF.clipboard.data){if(MWF.clipboard.data.type=="view"){if(this.view.currentSelectedModule){var t=this.view.currentSelectedModule;var e=MWF.clipboard.data.data;t.addColumn(null,e)}}}}},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content)},getApplication:function(e){var t=this.options.application;if(!this.application){this.actions.getColumn(typeOf(t)=="object"?t.id:t,function(t){this.application={name:t.data.appName,id:t.data.id};if(e)e()}.bind(this))}else{if(e)e()}},openView:function(t){this.getApplication(function(){this.initOptions();this.loadNodes();this.loadViewListNodes();this.loadContentNode();this.loadProperty();this.resizeNode();this.addEvent("resize",this.resizeNode.bind(this));this.loadView(function(){if(t)t()});this.setScrollBar(this.propertyDomArea,null,{V:{x:0,y:0},H:{x:0,y:0}})}.bind(this))},initOptions:function(){},loadNodes:function(){this.viewListNode=new Element("div.viewListNode",{styles:this.css.viewListNode}).inject(this.node);this.propertyNode=new Element("div.propertyNode",{styles:this.css.propertyNode}).inject(this.node);this.contentNode=new Element("div.contentNode",{styles:this.css.contentNode}).inject(this.node)},loadViewListNodes:function(){this.viewListTitleNode=new Element("div.viewListTitleNode",{styles:this.css.viewListTitleNode,text:MWF.CMSQVD.LP.view}).inject(this.viewListNode);this.viewListResizeNode=new Element("div.viewListResizeNode",{styles:this.css.viewListResizeNode}).inject(this.viewListNode);this.viewListAreaSccrollNode=new Element("div.viewListAreaSccrollNode",{styles:this.css.viewListAreaSccrollNode}).inject(this.viewListNode);this.viewListAreaNode=new Element("div.viewListAreaNode",{styles:this.css.viewListAreaNode}).inject(this.viewListAreaSccrollNode);this.loadViewListResize();this.loadViewList()},loadViewListResize:function(){this.viewListResize=new Drag(this.viewListResizeNode,{snap:1,onStart:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=Browser.name=="firefox"?e.event.clientY:e.event.y;t.store("position",{x:i,y:o});var s=this.viewListAreaSccrollNode.getSize();t.store("initialWidth",s.x)}.bind(this),onDrag:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=this.content.getSize();var s=t.retrieve("position");var n=t.retrieve("initialWidth").toFloat();var r=i.toFloat()-s.x.toFloat();var a=n+r;if(a>o.x/2)a=o.x/2;if(a<40)a=40;this.contentNode.setStyle("margin-left",a+1);this.viewListNode.setStyle("width",a);this.view.setViewWidth()}.bind(this)});this.viewListResizeNode.addEvents({touchstart:function(t){el=t.target;var e=Browser.name=="firefox"?t.page.clientX:t.page.x;var i=Browser.name=="firefox"?t.page.clientY:t.page.y;el.store("position",{x:e,y:i});var o=this.viewListAreaSccrollNode.getSize();el.store("initialWidth",o.x)}.bind(this),touchmove:function(t){el=t.target;var e=Browser.name=="firefox"?t.page.clientX:t.page.x;var i=this.content.getSize();var o=el.retrieve("position");var s=el.retrieve("initialWidth").toFloat();var n=e.toFloat()-o.x.toFloat();var r=s+n;if(r>i.x/2)r=i.x/2;if(r<40)r=40;this.contentNode.setStyle("margin-left",r+1);this.viewListNode.setStyle("width",r);this.view.setViewWidth()}.bind(this)})},loadViewList:function(){this.actions.listQueryView(this.application.id,function(t){t.data.each(function(t){this.createListViewItem(t)}.bind(this))}.bind(this),null,false)},createListViewItem:function(t,e){var i=this;var o=new Element("div",{styles:this.css.listViewItem}).inject(this.viewListAreaNode,e?"top":"bottom");var s=new Element("div",{styles:this.css.listViewItemIcon}).inject(o);var n=new Element("div",{styles:this.css.listViewItemText,text:t.name?t.name+" ("+t.alias+")":this.lp.newView}).inject(o);o.store("view",t);o.addEvents({dblclick:function(t){i.loadViewByData(this,t)},mouseover:function(){if(i.currentListViewItem!=this)this.setStyles(i.css.listViewItem_over)},mouseout:function(){if(i.currentListViewItem!=this)this.setStyles(i.css.listViewItem)}})},loadViewByData:function(t,e){var i=t.retrieve("view");var o=true;if(o){var s=this;var n={onQueryLoad:function(){this.actions=s.actions;this.category=s;this.options.id=i.id;this.application=s.application;this.explorer=s.explorer}};this.desktop.openApplication(e,"cms.QueryViewDesigner",n)}},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",{styles:this.css.editContentNode}).inject(this.contentNode);this.loadEditContent(function(){if(this.designNode)this.designNode.setStyles(this.css.designNode)}.bind(this))},loadContentToolbar:function(i){this.getFormToolbarHTML(function(t){var e=t.getElements("span");e.each(function(t,e){var i=t.get("MWFButtonImage");if(i){t.set("MWFButtonImage",this.path+""+this.options.style+"/toolbar/"+i)}}.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(i)i()}.bind(this))}.bind(this))},getFormToolbarHTML:function(n){var t=this.path+this.options.style+"/toolbars.html";var e=new Request.HTML({url:t,method:"get",onSuccess:function(t,e,i,o){var s=t[0];if(n)n(s)}.bind(this),onFailure:function(t){this.notice("request processToolbars error: "+t.responseText,"error")}.bind(this)});e.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.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.view.setAreaNodeSize()}},loadEditContent:function(t){this.designNode=new Element("div",{styles:this.css.designNode}).inject(this.editContentNode)},loadProperty:function(){this.propertyTitleNode=new Element("div.propertyTitleNode",{styles:this.css.propertyTitleNode,text:MWF.CMSQVD.LP.property}).inject(this.propertyNode);this.propertyResizeBar=new Element("div.propertyResizeBar",{styles:this.css.propertyResizeBar}).inject(this.propertyNode);this.loadPropertyResize();this.propertyContentNode=new Element("div.propertyContentNode",{styles:this.css.propertyContentNode}).inject(this.propertyNode);this.propertyDomArea=new Element("div.propertyDomArea",{styles:this.css.propertyDomArea}).inject(this.propertyContentNode);this.propertyDomPercent=.3;this.propertyContentResizeNode=new Element("div.propertyContentResizeNode",{styles:this.css.propertyContentResizeNode}).inject(this.propertyContentNode);this.propertyContentArea=new Element("div.propertyContentArea",{styles:this.css.propertyContentArea}).inject(this.propertyContentNode);this.loadPropertyContentResize();this.propertyNode.addEvent("keydown",function(t){t.stopPropagation()})},loadPropertyResize:function(){this.propertyResize=new Drag(this.propertyResizeBar,{snap:1,onStart:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=Browser.name=="firefox"?e.event.clientY:e.event.y;t.store("position",{x:i,y:o});var s=this.propertyNode.getSize();t.store("initialWidth",s.x)}.bind(this),onDrag:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=this.content.getSize();var s=t.retrieve("position");var n=t.retrieve("initialWidth").toFloat();var r=s.x.toFloat()-i.toFloat();var a=n+r;if(a>o.x/2)a=o.x/2;if(a<40)a=40;this.contentNode.setStyle("margin-right",a+1);this.propertyNode.setStyle("width",a);this.view.setViewWidth()}.bind(this)})},loadPropertyContentResize:function(){this.propertyContentResize=new Drag(this.propertyContentResizeNode,{snap:1,onStart:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=Browser.name=="firefox"?e.event.clientY:e.event.y;t.store("position",{x:i,y:o});var s=this.propertyDomArea.getSize();t.store("initialHeight",s.y)}.bind(this),onDrag:function(t,e){var i=this.propertyContentNode.getSize();var o=Browser.name=="firefox"?e.event.clientY:e.event.y;var s=t.retrieve("position");var n=o.toFloat()-s.y.toFloat();var r=t.retrieve("initialHeight").toFloat();var a=r+n;if(a<40)a=40;if(a>i.y-40)a=i.y-40;this.propertyDomPercent=a/i.y;this.setPropertyContentResize()}.bind(this)})},setPropertyContentResize:function(){var t=this.propertyContentNode.getSize();var e=this.propertyContentResizeNode.getSize();var i=t.y-e.y;var o=this.propertyDomPercent*i;var s=i-o;this.propertyDomArea.setStyle("height",""+o+"px");this.propertyContentArea.setStyle("height",""+s+"px");if(this.view){if(this.view.currentSelectedModule){if(this.view.currentSelectedModule.property){var n=this.view.currentSelectedModule.property.propertyTab;if(n){var r=n.tabNodeContainer.getSize();n.pages.each(function(t){var e=t.contentNodeArea.getStyle("margin-top").toFloat();var i=t.contentNodeArea.getStyle("margin-bottom").toFloat();var o=s-e-i-r.y.toFloat()-15;t.contentNodeArea.setStyle("height",o)}.bind(this))}}}}},resizeNode:function(){var t=this.node.getSize();this.contentNode.setStyle("height",""+t.y+"px");this.propertyNode.setStyle("height",""+t.y+"px");var e=this.contentToolbarNode.getStyle("margin-top").toFloat();var i=this.contentToolbarNode.getStyle("margin-bottom").toFloat();var o=this.contentToolbarNode.getComputedSize();var s=t.y-o.totalHeight-e-i;this.editContentNode.setStyle("height",""+s+"px");if(this.designNode){var n=this.designNode.getStyle("margin-top").toFloat();var r=this.designNode.getStyle("margin-bottom").toFloat();s=t.y-o.totalHeight-e-i-n-r;this.designNode.setStyle("height",""+s+"px")}titleSize=this.propertyTitleNode.getSize();titleMarginTop=this.propertyTitleNode.getStyle("margin-top").toFloat();titleMarginBottom=this.propertyTitleNode.getStyle("margin-bottom").toFloat();titlePaddingTop=this.propertyTitleNode.getStyle("padding-top").toFloat();titlePaddingBottom=this.propertyTitleNode.getStyle("padding-bottom").toFloat();s=titleSize.y+titleMarginTop+titleMarginBottom+titlePaddingTop+titlePaddingBottom;s=t.y-s;this.propertyContentNode.setStyle("height",""+s+"px");this.propertyResizeBar.setStyle("height",""+s+"px");this.setPropertyContentResize();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();s=titleSize.y+titleMarginTop+titleMarginBottom+titlePaddingTop+titlePaddingBottom+nodeMarginTop+nodeMarginBottom;s=t.y-s;this.viewListAreaSccrollNode.setStyle("height",""+s+"px");this.viewListResizeNode.setStyle("height",""+s+"px")},loadView:function(e){this.getViewData(this.options.id,function(t){this.setTitle(this.options.appTitle+"-"+t.name);this.taskitem.setText(this.options.appTitle+"-"+t.name);this.options.appTitle=this.options.appTitle+"-"+t.name;this.view=new MWF.xApplication.cms.QueryViewDesigner.View(this,t);this.view.load();if(e)e()}.bind(this))},getViewData:function(t,e){if(!this.options.id){this.loadNewViewData(e)}else{this.loadViewData(t,e)}},loadNewViewData:function(i){var t="/x_component_cms_QueryViewDesigner/$View/view.json";MWF.getJSON(t,{onSuccess:function(e){this.actions.getUUID(function(t){e.id=t;e.isNewView=true;e.application=this.application.id;this.createListViewItem(e,true);if(i)i(e)}.bind(this))}.bind(this),onerror:function(t){this.notice(t,"error")}.bind(this),onRequestFailure:function(t){this.notice(t.responseText,"error")}.bind(this)})},loadViewData:function(t,s){this.actions.getQueryView(t,function(t){if(t){var e=t.data;var i=JSON.decode(e.data);e.data=i;if(!this.application){var o=e.application;this.actions.getColumn(typeOf(o)=="object"?o.id:o,function(t){this.application={name:t.data.appName,id:t.data.id};if(s)s(e)}.bind(this))}else{if(s)s(e)}}}.bind(this))},saveView:function(){this.view.save(function(){var t=this.view.data.name;this.setTitle(MWF.CMSQVD.LP.title+"-"+t);this.options.desktopReload=true;this.options.id=this.view.data.id}.bind(this))},saveViewAs:function(){this.view.saveAs()},dictionaryExplode:function(){this.view.explode()},dictionaryImplode:function(){this.view.implode()},recordStatus:function(){var t=[];t.push(this.view.data.id);var e=this.view.data.id;return{id:this.options.id,application:this.application,openViews:t,currentId:e}}});
|