Stat.min.js 13 KB

1
  1. MWF.xApplication=MWF.xApplication||{};MWF.xApplication.process=MWF.xApplication.process||{};MWF.xApplication.process.StatDesigner=MWF.xApplication.process.StatDesigner||{};MWF.APPSTD=MWF.xApplication.process.StatDesigner;MWF.xDesktop.requireApp("process.StatDesigner","lp."+MWF.language,null,false);MWF.xDesktop.requireApp("process.ViewDesigner","View",null,false);MWF.xDesktop.requireApp("process.StatDesigner","Property",null,false);MWF.xApplication.process.StatDesigner.Stat=new Class({Extends:MWF.xApplication.process.ViewDesigner.View,Implements:[Options,Events],options:{style:"default",isView:false,showTab:true,propertyPath:"/x_component_process_StatDesigner/$Stat/stat.html"},initialize:function(e,t,i){this.setOptions(i);this.path="/x_component_process_StatDesigner/$Stat/";this.cssPath="/x_component_process_StatDesigner/$Stat/"+this.options.style+"/css.wcss";this._loadCss();this.designer=e;this.data=t;if(!this.data.data)this.data.data={};this.parseData();this.node=this.designer.designNode;this.areaNode=new Element("div",{styles:{height:"100%",overflow:"auto"}});this.propertyListNode=this.designer.propertyDomArea;if(this.designer.application)this.data.applicationName=this.designer.application.name;if(this.designer.application)this.data.application=this.designer.application.id;this.isNewView=this.data.id?false:true;this.items=[];this.view=this;this.queryView=null;this.autoSave();this.designer.addEvent("queryClose",function(){if(this.autoSaveTimerID)window.clearInterval(this.autoSaveTimerID)}.bind(this))},changeViewSelected:function(){if(this.json.queryView){if(!this.queryView){this.designer.actions.getView(this.json.queryView,function(e){this.queryView=JSON.decode(e.data.data);this.items.each(function(e){e.changeViewSelected(this.queryView)}.bind(this));this.checkIsGroupRadioDisplay()}.bind(this))}else{this.items.each(function(e){e.changeViewSelected(this.queryView)}.bind(this));this.checkIsGroupRadioDisplay()}}else{}},checkIsGroupRadioDisplay:function(){if(this.property){var e=this.property.propertyContent.getElement(".MWFIsGroupArea");if(e){if(this.queryView.groupEntry.column){e.setStyle("display","block")}else{this.json.data.isGroup=false;var t=e.getElements("input");for(var i=0;i<t.length;i++){if(t[i].value=="false"){t[i].set("checked",true);break}}this.hideGroupTitle();e.setStyle("display","none")}}}},checkIsGroupRadio:function(){if(!this.queryView){this.designer.actions.getView(this.json.queryView,function(e){this.queryView=JSON.decode(e.data.data);this.checkIsGroupRadioDisplay()}.bind(this))}else{this.checkIsGroupRadioDisplay()}},showProperty:function(){debugger;if(!this.property){this.property=new MWF.xApplication.process.StatDesigner.Property(this,this.designer.propertyContentArea,this.designer,{path:this.options.propertyPath,onPostLoad:function(){this.property.show()}.bind(this)});this.property.load()}else{this.property.show()}},loadViewData:function(){if(this.data.id){this.saveSilence(function(){this.viewContentBodyNode.empty();this.viewContentTableNode=new Element("table",{styles:this.css.viewContentTableNode,border:"0px",cellPadding:"0",cellSpacing:"0"}).inject(this.viewContentBodyNode);this.designer.actions.loadStat(this.data.id,function(e){var t={};e.data.selectEntryList.each(function(e){t[e.column]=e}.bind(this));if(this.json.data.calculate.isGroup){if(e.data.calculateGrid.length){e.data.calculateGrid.each(function(i){var s=null;for(var n=0;n<e.data.selectEntryList.length;n++){if(e.data.selectEntryList[n].column===e.data.groupEntry.column){s=e.data.selectEntryList[n];break}}var o=new Element("tr",{styles:this.css.viewContentTrNode}).inject(this.viewContentTableNode);var a=new Element("td",{styles:this.css.viewContentTdNode}).inject(o);if(s){a.set("text",s.code?MWF.Macro.exec(s.code,{value:i.group,data:e.data}):i.group)}else{a.set("text",i.group)}a.setStyle("font-weight","bold");i.list.each(function(i){var s=new Element("td",{styles:this.css.viewContentTdNode}).inject(o);s.set("text",t[i.column].code?MWF.Macro.exec(t[i.column].code,{value:i.value,data:e.data}):i.value)}.bind(this))}.bind(this))}if(e.data.calculateAmountGrid){var i=new Element("tr",{styles:this.css.viewContentTrNode}).inject(this.viewContentTableNode);var s=new Element("td",{styles:this.css.viewContentTdNode}).inject(i);s.set("text",this.designer.lp.amount);s.setStyles({"font-weight":"bold",color:"#0000FF"});e.data.calculateAmountGrid.each(function(e){var t=new Element("td",{styles:this.css.viewContentTdNode}).inject(i);t.set("text",e.value);t.setStyles({"font-weight":"bold",color:"#0000FF"})}.bind(this))}}else{if(e.data.calculateGrid.length){var i=new Element("tr",{styles:this.css.viewContentTrNode}).inject(this.viewContentTableNode);e.data.calculateGrid.each(function(e){var t=new Element("td",{styles:this.css.viewContentTdNode}).inject(i);t.set("text",e.value)}.bind(this))}}this.setContentColumnWidth();this.setContentHeight()}.bind(this))}.bind(this))}},addColumn:function(){debugger;MWF.require("MWF.widget.UUID",function(){var e=(new MWF.widget.UUID).id;var t={id:e,column:"",displayName:this.designer.lp.unnamed,calculateType:"sum",orderType:"original",orderEffectType:"key"};if(!this.json.data.calculate.calculateEntryList)this.json.data.calculate.calculateEntryList=[];this.json.data.calculate.calculateEntryList.push(t);var i=new MWF.xApplication.process.StatDesigner.Stat.Column(t,this);this.items.push(i);i.selected();if(this.viewContentTableNode){var s=this.viewContentTableNode.getElements("tr");s.each(function(e){new Element("td",{styles:this.css.viewContentTdNode}).inject(e)}.bind(this))}this.setViewWidth();this.addColumnNode.scrollIntoView(true)}.bind(this))},loadViewColumns:function(){if(this.json.data.calculate.calculateEntryList){this.json.data.calculate.calculateEntryList.each(function(e){this.items.push(new MWF.xApplication.process.StatDesigner.Stat.Column(e,this))}.bind(this))}},saveSilence:function(e){if(!this.data.name){this.designer.notice(this.designer.lp.notice.inputName,"error");return false}if(this.data.queryview){this.designer.notice(this.designer.lp.notice.inputView,"error");return false}if(!this.checkViewAndColumn()){this.designer.notice(this.designer.lp.notice.errorViewColumn,"error");return false}this.designer.actions.saveStat(this.data,function(t){this.data.id=t.data.id;if(this.lisNode){this.lisNode.getLast().set("text",this.data.name+"("+this.data.alias+")")}if(e)e()}.bind(this))},save:function(e){if(!this.data.name){this.designer.notice(this.designer.lp.notice.inputName,"error");return false}if(this.data.queryview){this.designer.notice(this.designer.lp.notice.inputView,"error");return false}if(!this.checkViewAndColumn()){this.designer.notice(this.designer.lp.notice.errorViewColumn,"error");return false}this.designer.actions.saveStat(this.data,function(t){this.designer.notice(this.designer.lp.notice.save_success,"success",this.node,{x:"left",y:"bottom"});this.data.id=t.data.id;if(this.lisNode){this.lisNode.getLast().set("text",this.data.name+"("+this.data.alias+")")}if(e)e()}.bind(this))},checkViewAndColumn:function(){if(this.json.queryView){var e=true;for(var t=0;t<this.items.length;t++){if(!this.items[t].checkColumn())e=false}return e}else{return false}},_setEditStyle:function(e,t,i){debugger;if(e=="queryView"){if(this.data.queryView!=i){this.viewContentBodyNode.empty();this.designer.actions.getView(this.json.queryView,function(e){this.queryView=JSON.decode(e.data.data)}.bind(this),null,false);this.changeViewSelected();this.checkViewAndColumn()}}if(e=="data.calculate.isGroup"){this.viewContentBodyNode.empty();if(this.data.data.calculate.isGroup){this.showGroupTitle()}else{this.hideGroupTitle()}}if(e=="data.calculate.title"){if(!this.data.data.calculate.title){this.data.data.calculate.title=this.designer.lp.category}if(this.data.data.calculate.title!=i){if(this.groupTitleNode){this.groupTitleNode.getFirst().getFirst().set("text",this.data.data.calculate.title)}}}},showGroupTitle:function(){if(!this.groupTitleNode)this.createGroupTitltNode()},hideGroupTitle:function(){if(this.groupTitleNode){this.groupTitleNode.destroy();this.groupTitleNode=null}},createGroupTitltNode:function(){this.data.data.calculate.title=this.data.data.calculate.title||this.designer.lp.category;this.groupTitleNode=new Element("td",{styles:this.css.viewGroupTitleNode});var e=new Element("div",{styles:this.css.viewGroupTitleColumnNode}).inject(this.groupTitleNode);var t=new Element("div",{styles:this.css.viewGroupTitleColumnTextNode,text:this.data.data.calculate.title}).inject(e);if(this.items.length){this.groupTitleNode.inject(this.items[0].areaNode,"before")}else{this.groupTitleNode.inject(this.viewTitleTrNode)}},saveAs:function(){},explode:function(){},implode:function(){}});MWF.xApplication.process.StatDesigner.Stat.Column=new Class({Extends:MWF.xApplication.process.ViewDesigner.View.Column,initialize:function(e,t,i){this.propertyPath="/x_component_process_StatDesigner/$Stat/column.html";this.view=t;this.json=e;this.next=i;this.css=this.view.css;this.content=this.view.viewTitleTrNode;this.domListNode=this.view.domListNode;this.load()},showProperty:function(){if(!this.property){this.property=new MWF.xApplication.process.StatDesigner.Property(this,this.view.designer.propertyContentArea,this.view.designer,{path:this.propertyPath,onPostLoad:function(){this.property.show()}.bind(this)});this.property.load()}else{this.property.show()}},_setEditStyle:function(e,t,i){if(e=="displayName")this.resetTextNode();if(e=="column")this.checkColumn()},resetTextNode:function(){var e=this.json.displayName+"("+this.json.calculateType+")";this.textNode.set("text",this.json.displayName);this.listNode.getLast().set("text",e)},delete:function(e){var t=this;if(!e)e=this.node;this.view.designer.confirm("warn",e,MWF.APPSTD.LP.notice.deleteColumnTitle,MWF.APPSTD.LP.notice.deleteColumn,300,120,function(){t.destroy();this.close()},function(){this.close()},null)},addColumn:function(e,t){MWF.require("MWF.widget.UUID",function(){var e;if(t){e=Object.clone(t);e.id=(new MWF.widget.UUID).id;e.column=(new MWF.widget.UUID).id}else{var i=(new MWF.widget.UUID).id;e={id:i,column:"",displayName:this.view.designer.lp.unnamed,calculateType:"sum",orderType:"original",orderEffectType:"key"}}var s=this.view.json.data.calculate.calculateEntryList.indexOf(this.json);this.view.json.data.calculate.calculateEntryList.splice(s,0,e);var n=new MWF.xApplication.process.StatDesigner.Stat.Column(e,this.view,this);this.view.items.splice(s,0,n);n.selected();if(this.view.viewContentTableNode){var o=this.view.viewContentTableNode.getElements("tr");o.each(function(e){var t=e.insertCell(s);t.setStyles(this.css.viewContentTdNode)}.bind(this))}this.view.setViewWidth()}.bind(this))},_setNodeMove:function(e,t){this._setMoveNodePosition(t);var i=this.moveNode.getPosition();var s=this.moveNode.getSize();var n=this.content.getPosition();var o=this.content.getSize();var a=new Drag.Move(this.moveNode,{droppables:e,limit:{x:[n.x,n.x+o.x],y:[i.y,i.y+s.y]},onEnter:function(e,t){if(!this.moveFlagNode)this.createMoveFlagNode();this.moveFlagNode.inject(t,"before")}.bind(this),onLeave:function(e,t){if(this.moveFlagNode){this.moveFlagNode.dispose()}}.bind(this),onDrop:function(e,t){if(t){this.areaNode.inject(t,"before");var i=t.retrieve("column");this.listNode.inject(i.listNode,"before");var s=this.view.json.data.calculate.calculateEntryList.indexOf(i.json);this.view.json.data.calculate.calculateEntryList.erase(this.json);this.view.items.erase(this);this.view.json.data.calculate.calculateEntryList.splice(s,0,this.json);this.view.items.splice(s,0,this);if(this.moveNode)this.moveNode.destroy();if(this.moveFlagNode)this.moveFlagNode.destroy();this._setActionAreaPosition()}else{if(this.moveNode)this.moveNode.destroy();if(this.moveFlagNode)this.moveFlagNode.destroy()}}.bind(this),onCancel:function(e){if(this.moveNode)this.moveNode.destroy();if(this.moveFlagNode)this.moveFlagNode.destroy()}.bind(this)});a.start(t)},changeViewSelected:function(e){debugger;if(e){this.changeViewColumnOptions(e)}else{if(this.view.json.queryView){if(!this.view.queryView){this.view.designer.actions.getView(this.view.json.queryView,function(e){this.view.queryView=JSON.decode(e.data.data);this.changeViewColumnOptions(this.view.queryView)}.bind(this))}else{this.changeViewColumnOptions(this.view.queryView)}}else{this.changeViewColumnOptions(e)}}},changeViewColumnOptions:function(e){if(this.property){var t=this.property.propertyContent.getElements(".MWFViewColumnSelect");t.each(function(t){t.empty();if(e){new Element("option",{value:"",text:"(none)",selected:!this.json.column}).inject(t);e.selectEntryList.each(function(e){var i=new Element("option",{value:e.column,text:e.displayName,selected:e.column==this.json.column}).inject(t)}.bind(this))}else{this.json.column=""}}.bind(this))}},checkColumn:function(){var e=true;if(!this.view.queryView){this.designer.actions.getView(this.view.json.queryView,function(e){this.view.queryView=JSON.decode(e.data.data)}.bind(this),null,false)}var t=this.view.queryView.selectEntryList.filter(function(e){return e.column==this.json.column}.bind(this));if(!t.length){this.errorMark();e=false}else{this.errorMark(true)}return e},errorMark:function(e){if(e){this.isError=false;if(!this.isSelected)this.node.setStyles(this.css.viewTitleColumnNode)}else{this.isError=true;if(!this.isSelected)this.node.setStyles(this.css.viewTitleColumnNode_error)}}});