ViewExplorer.min.js 3.6 KB

1
  1. MWF.require("MWF.widget.Mask",null,false);MWF.xDesktop.requireApp("process.Application","WorkExplorer",null,false);MWF.xDesktop.requireApp("process.Application","Viewer",null,false);MWF.xApplication.process.Application.ViewExplorer=new Class({Extends:MWF.xApplication.process.Application.WorkExplorer,Implements:[Options,Events],initialize:function(e,t,i){this.setOptions(i);this.setTooltip();this.path="/x_component_process_Application/$WorkExplorer/";this.cssPath="/x_component_process_Application/$WorkExplorer/"+this.options.style+"/css.wcss";this._loadCss();this.actions=t;this.node=$(e);this.items=[]},load:function(){this.loadFilterNode();this.loadContentNode()},loadFilterNode:function(){this.filterNode=new Element("div",{styles:this.css.viewFilterNode}).inject(this.node);this.filterNode.setStyle("padding","0px 10px");this.exportNode=new Element("div",{styles:this.css.exportViewNode,text:this.app.lp.exportExcel}).inject(this.filterNode);this.exportNode.addEvent("click",function(e){this.exportView()}.bind(this));this.viewListAreaNode=new Element("div",{styles:this.css.viewFilterListAreaNode}).inject(this.filterNode);this.viewListTitleNode=new Element("div",{styles:this.css.viewFilterListTitleNode,text:this.app.lp.view}).inject(this.viewListAreaNode);this.viewListNode=new Element("div",{styles:this.css.viewFilterListNode}).inject(this.viewListAreaNode);this.loadViewList()},exportView:function(){if(this.currentViewer){var e=this.currentViewer.getFilter();this.actions.exportView(this.currentViewer.json.application,this.currentViewer.json.id,{filter:e})}},loadViewList:function(){this.actions.listView(this.app.options.id,function(e){if(e.data.length){e.data.each(function(e){this.loadViewListNode(e)}.bind(this));if(this.currentViewNode){this.currentViewNode.click()}else{if(this.items[0])this.items[0].click()}}else{this.filterNode.destroy();var t=new Element("div",{styles:this.css.noElementNode,text:this.app.lp.noView}).inject(this.elementContentNode)}}.bind(this))},loadViewListNode:function(e){var t=new Element("div",{styles:this.css.filterViewNode}).inject(this.viewListNode);t.set("text",e.name);t.store("view",e);this.items.push(t);if(this.app.status){if(this.app.status.viewName){if(e.name===this.app.status.viewName)this.currentViewNode=t}}var i=this;t.addEvent("click",function(){i.loadViewData(this)});t.makeLnk({par:this._getLnkPar(e)})},loadViewData:function(e,t){if(this.currentViewer)this.currentViewer.hide();if(e){this.items.each(function(e){e.setStyles(this.css.filterViewNode)}.bind(this));e.setStyles(this.css.filterViewNode_current);var i=e.retrieve("viewer");if(i){this.currentViewer=i;i.reload()}else{var s=t?t:e.retrieve("view");i=new MWF.xApplication.process.Application.Viewer(this.elementContentNode,s);this.currentViewer=i}}},loadContentNode:function(){this.elementContentNode=new Element("div",{styles:this.css.elementContentNode}).inject(this.node);this.setContentSize();this.setContentSizeFun=this.setContentSize.bind(this);this.app.addEvent("resize",this.setContentSizeFun)},createWorkListHead:function(){},setContentSize:function(){var e=this.node.getSize();var t=this.elementContentNode.getStyle("padding-top").toFloat();var i=this.elementContentNode.getStyle("padding-bottom").toFloat();var s=this.filterNode.getSize();var n=e.y-t-i-s.y;this.elementContentNode.setStyle("height",""+n+"px");this.elementContentNode.fireEvent("resize")},createSearchElementNode:function(){return false},_getLnkPar:function(e){return{icon:this.path+this.options.style+"/viewIcon/lnk.png",title:e.name,par:'process.Application#{"navi": 2, "id": "'+this.app.options.id+'", "viewName": "'+e.name+'", "hideMenu": true}'}}});