| 1 |
- MWF.xApplication.process.Xform.widget=MWF.xApplication.process.Xform.widget||{};MWF.require("MWF.widget.Common",null,false);MWF.xApplication.process.Xform.widget.View=new Class({Implements:[Options,Events],Extends:MWF.widget.Common,options:{style:"default"},initialize:function(e,t,i){this.setOptions(i);this.path="/x_component_process_Xform/widget/$View/";this.cssPath="/x_component_process_Xform/widget/$View/"+this.options.style+"/css.wcss";this._loadCss();this.container=$(e);this.items=[];this.selectedItems=[];this.json=t;this.viewJson=null;this.gridJson=null;this.load()},load:function(){debugger;this.container.empty();this.container.setStyles(this.css.viewNode);this.createViewNode()},createViewNode:function(){this.viewTable=new Element("table",{styles:this.css.viewTitleTableNode,border:"0px",cellPadding:"0",cellSpacing:"0"}).inject(this.container);this.loadingAreaNode=new Element("div",{styles:this.css.viewLoadingAreaNode}).inject(this.container);new Element("div",{styles:{height:"5px"}}).inject(this.loadingAreaNode);var e=new Element("div",{styles:this.css.viewLoadingNode}).inject(this.loadingAreaNode);new Element("div",{styles:this.css.viewLoadingIconNode}).inject(e);var t=new Element("div",{styles:this.css.viewLoadingTextNode}).inject(e);t.set("text","loading...");if(this.json.isTitle!="no"){this.viewTitleLine=new Element("tr",{styles:this.css.viewTitleLineNode}).inject(this.viewTable);this.selectTitleCell=new Element("td",{styles:this.css.viewTitleCellNode}).inject(this.viewTitleLine);this.selectTitleCell.setStyle("width","10px");if(this.json.titleStyles)this.selectTitleCell.setStyles(this.json.titleStyles);this.getView(function(){this.viewJson.selectEntryList.each(function(e){var t=new Element("td",{styles:this.css.viewTitleCellNode,text:e.displayName}).inject(this.viewTitleLine);if(this.json.titleStyles)t.setStyles(this.json.titleStyles)}.bind(this));this.lookup()}.bind(this))}else{this.getView(function(){this.lookup()}.bind(this))}},lookup:function(){this.getLookupAction(function(){if(this.json.application){this.lookupAction.invoke({name:"lookup",async:true,parameter:{view:this.json.viewName,application:this.json.application},success:function(e){if(this.viewJson.groupEntry.column){this.gridJson=e.data.groupGrid;this.loadGroupData()}else{this.gridJson=e.data.grid;this.loadData()}if(this.loadingAreaNode){this.loadingAreaNode.destroy();this.loadingAreaNode=null}}.bind(this)})}else{}}.bind(this))},loadData:function(){if(this.gridJson.length){this.gridJson.each(function(e,t){this.items.push(new MWF.xApplication.process.Xform.widget.View.Item(this,e))}.bind(this))}},loadGroupData:function(){if(this.selectTitleCell){this.selectTitleCell.set("html","<span style='font-family: Webdings'>"+"<img src='/x_component_process_Xform/widget/$View/"+this.options.style+"/icon/right.png'/>"+"</span>");this.selectTitleCell.setStyle("cursor","pointer");this.selectTitleCell.addEvent("click",this.expandOrCollapseAll.bind(this))}if(this.gridJson.length){this.gridJson.each(function(e,t){this.items.push(new MWF.xApplication.process.Xform.widget.View.ItemCategory(this,e))}.bind(this))}},expandOrCollapseAll:function(){var e=this.selectTitleCell.getElement("span");if(e.get("html").indexOf("right.png")==-1){this.items.each(function(t){t.collapse();e.set("html","<img src='/x_component_process_Xform/widget/$View/"+this.options.style+"/icon/right.png'/>")}.bind(this))}else{this.items.each(function(t,i){window.setTimeout(function(){t.expand()}.bind(this),10*i+5);e.set("html","<img src='/x_component_process_Xform/widget/$View/"+this.options.style+"/icon/down.png'/>")}.bind(this))}},getView:function(e){this.getLookupAction(function(){if(this.json.application){this.lookupAction.invoke({name:"getView",async:true,parameter:{view:this.json.viewName,application:this.json.application},success:function(t){this.viewJson=JSON.decode(t.data.data);if(e)e()}.bind(this)})}else{}}.bind(this))},getLookupAction:function(e){if(!this.lookupAction){MWF.require("MWF.xDesktop.Actions.RestActions",function(){this.lookupAction=new MWF.xDesktop.Actions.RestActions("","x_processplatform_assemble_surface","");this.lookupAction.getActions=function(e){this.actions={lookup:{uri:"/jaxrs/queryview/flag/{view}/application/flag/{application}/execute",method:"PUT"},getView:{uri:"/jaxrs/queryview/flag/{view}/application/flag/{application}"}};if(e)e()};if(e)e()}.bind(this))}else{if(e)e()}},getData:function(){if(this.selectedItems.length){var e=[];this.selectedItems.each(function(t){e.push(t.data)});return e}else{return[]}}});MWF.xApplication.process.Xform.widget.View.Item=new Class({initialize:function(e,t,i){this.view=e;this.data=t;this.css=this.view.css;this.isSelected=false;this.prev=i;this.load()},load:function(){this.node=new Element("tr",{styles:this.css.viewContentTrNode});if(this.prev){this.node.inject(this.prev.node,"after")}else{this.node.inject(this.view.viewTable)}this.selectTd=new Element("td",{styles:this.css.viewContentTdNode}).inject(this.node);this.selectTd.setStyles({cursor:"pointer"});if(this.view.json.itemStyles)this.selectTd.setStyles(this.view.json.itemStyles);Object.each(this.data.data,function(e,t){var i=new Element("td",{styles:this.css.viewContentTdNode}).inject(this.node);if(t!=this.view.viewJson.groupEntry.column)i.set("text",e);if(this.view.json.itemStyles)i.setStyles(this.view.json.itemStyles)}.bind(this));this.setEvent()},setEvent:function(){if(this.view.json.select!="no"){this.node.addEvents({mouseover:function(){if(!this.isSelected){var e="checkbox";if(this.view.json.select=="single")e="radiobox";this.selectTd.setStyles({background:"url("+"/x_component_process_Xform/$Form/default/icon/"+e+".png) center center no-repeat"})}}.bind(this),mouseout:function(){if(!this.isSelected)this.selectTd.setStyles({background:"transparent"})}.bind(this),click:function(){this.select()}.bind(this)})}},select:function(){if(this.isSelected){if(this.view.json.select=="single"){this.unSelectedSingle()}else{this.unSelected()}}else{if(this.view.json.select=="single"){this.selectedSingle()}else{this.selected()}}this.view.fireEvent("select")},selected:function(){this.view.selectedItems.push(this);this.selectTd.setStyles({background:"url("+"/x_component_process_Xform/$Form/default/icon/checkbox_checked.png) center center no-repeat"});this.node.setStyles(this.css.viewContentTrNode_selected);this.isSelected=true},unSelected:function(){this.view.selectedItems.erase(this);this.selectTd.setStyles({background:"transparent"});this.node.setStyles(this.css.viewContentTrNode);this.isSelected=false},selectedSingle:function(){if(this.view.currentSelectedItem)this.view.currentSelectedItem.unSelectedSingle();this.view.selectedItems=[this];this.view.currentSelectedItem=this;this.selectTd.setStyles({background:"url("+"/x_component_process_Xform/$Form/default/icon/radiobox_checked.png) center center no-repeat"});this.node.setStyles(this.css.viewContentTrNode_selected);this.isSelected=true},unSelectedSingle:function(){this.view.selectedItems=[];this.view.currentSelectedItem=null;this.selectTd.setStyles({background:"transparent"});this.node.setStyles(this.css.viewContentTrNode);this.isSelected=false}});MWF.xApplication.process.Xform.widget.View.ItemCategory=new Class({initialize:function(e,t){this.view=e;this.data=t;this.css=this.view.css;this.items=[];this.loadChild=false;this.load()},load:function(){this.node=new Element("tr",{styles:this.css.viewContentTrNode}).inject(this.view.viewTable);this.selectTd=new Element("td",{styles:this.css.viewContentCategoryTdNode}).inject(this.node);if(this.view.json.itemStyles)this.selectTd.setStyles(this.view.json.itemStyles);this.categoryTd=new Element("td",{styles:this.css.viewContentCategoryTdNode,colspan:this.view.viewJson.selectEntryList.length}).inject(this.node);this.categoryTd.set("html","<span style='font-family: Webdings'><img src='/x_component_process_Xform/widget/$View/"+this.view.options.style+"/icon/right.png'/></span> "+this.data.group);if(this.view.json.itemStyles)this.categoryTd.setStyles(this.view.json.itemStyles);this.setEvent()},setEvent:function(){if(this.selectTd){this.node.addEvents({click:function(){this.expandOrCollapse()}.bind(this)})}},expandOrCollapse:function(){var e=this.node.getElement("span").get("html");if(e.indexOf("right.png")==-1){this.collapse()}else{this.expand()}},collapse:function(){this.items.each(function(e){e.node.setStyle("display","none")}.bind(this));this.node.getElement("span").set("html","<img src='/x_component_process_Xform/widget/$View/"+this.view.options.style+"/icon/right.png'/>")},expand:function(){this.items.each(function(e){e.node.setStyle("display","table-row")}.bind(this));this.node.getElement("span").set("html","<img src='/x_component_process_Xform/widget/$View/"+this.view.options.style+"/icon/down.png'/>");if(!this.loadChild){this.data.list.each(function(e){this.items.push(new MWF.xApplication.process.Xform.widget.View.Item(this.view,e,this))}.bind(this));this.loadChild=true}}});
|