| 1 |
- MWF.xApplication.Strategy=MWF.xApplication.Strategy||{};MWF.xApplication.Strategy.Template=MWF.xApplication.Strategy.Template||{};MWF.xDesktop.requireApp("Template","Explorer",null,false);String.implement({toDOM:function(t,e){var i=this.test("^<the|^<tf|^<tb|^<colg|^<ca")&&["<table>","</table>",1]||this.test("^<col")&&["<table><colgroup>","</colgroup><tbody></tbody></table>",2]||this.test("^<tr")&&["<table><tbody>","</tbody></table>",2]||this.test("^<th|^<td")&&["<table><tbody><tr>","</tr></tbody></table>",3]||this.test("^<li")&&["<ul>","</ul>",1]||this.test("^<dt|^<dd")&&["<dl>","</dl>",1]||this.test("^<le")&&["<fieldset>","</fieldset>",1]||this.test("^<opt")&&['<select multiple="multiple">',"</select>",1]||["","",0];if(t){var s=new Element("div",{html:i[0]+this+i[1]}).getChildren();while(i[2]--)s=s[0].getChildren();s.inject(t);if(e)e(t);return s}else{var o=new Element("div",{html:i[0]+this+i[1]});o.setStyle("display","none").inject($(document.body));if(e)e(o);var s=o.getChildren();while(i[2]--)s=s[0].getChildren();o.dispose();return s}}});MWF.xApplication.Strategy.Template.Select=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",width:"800",height:"100%"},initialize:function(t,e,i,s){this.setOptions(s);this.app=e.app;this.explorer=e;this.lp=this.app.lp.template;this.actions=this.app.restActions;this.path="/x_component_Strategy/Template/";this.loadCss();this.node=$(t);this.actions=i},loadCss:function(){this.cssPath="/x_component_Strategy/$Template/"+this.options.style+"/css.wcss";this._loadCss()},load:function(t,e){this._width=this.options.width?this.options.width:230;this._height=this.options.height?this.options.height:30;this._available=this.options.available?this.options.available:"yes";this.createDefault();this.explorer.allArrowArr.push(this.selectArrowDiv);if(e)e()},createDefault:function(){if(this.node)this.node.empty();this.selectValueDiv=new Element("div.selectValueDiv",{styles:this.css.selectValueDiv,id:this.node.get("id")+"Value",text:this.lp.defaultSelect}).inject(this.node);this.selectArrowDiv=new Element("div.selectArrowDiv",{styles:this.css.selectArrowDiv}).inject(this.node);this.selectArrowDiv.setStyles({width:this._height+"px",height:this._height+"px"});this.node.setStyles(this.css.selectDiv);this.node.setStyles({width:this._width+"px",height:this._height+"px","background-color":this._available=="no"?"#eeeeee":""});this.node.set("available",this._available);this.selectValueDiv.setStyles({width:this._width-this._height-10+"px",height:this._height+"px","line-height":this._height+"px"})},setAddress:function(t,e){t=t||{};var i=this;this.node.removeEvents("click");this.node.addEvents({click:function(s){if(!t)return false;if(i.node.get("available")=="no")return false;i.selectArrowDiv.setStyles({background:"url(/x_component_Strategy/$Template/default/icons/arrow-up.png) no-repeat center"});i.explorer.listContentDiv=new Element("div.listContentDiv",{styles:i.css.listContentDiv,id:"listContentDiv"}).inject(i.node);i.explorer.listContentDiv.setStyles({width:i.node.getSize().x+"px","margin-top":i.node.getSize().y+"px","z-index":"300"});i.listDiv=new Element("div.listDiv",{styles:i.css.listDiv}).inject(i.explorer.listContentDiv);i.app.setScrollBar(i.listDiv);t.unshift({cityname:i.lp.defaultSelect});t.each(function(t){var s=new Element("li.listLi",{styles:i.css.listLi,text:t.cityname}).inject(i.listDiv);s.setStyles({color:i.selectValueDiv.get("text")==s.get("text")?"#ffffff":"","background-color":i.selectValueDiv.get("text")==s.get("text")?"#3d77c1":""});s.addEvents({click:function(s){i.node.set("value",this.get("text"));i.explorer.listContentDiv.destroy();i.selectArrowDiv.setStyles({background:"url(/x_component_Strategy/$Template/default/icons/arrow.png) no-repeat center"});if(i.selectValueDiv.get("text")!=this.get("text")){i.selectValueDiv.set({text:this.get("text")});if(e)e(t)}s.stopPropagation()},mouseover:function(){if(this.get("text")!=i.selectValueDiv.get("text")){this.setStyles({"background-color":"#ccc",color:"#ffffff"})}},mouseout:function(){if(this.get("text")!=i.selectValueDiv.get("text")){this.setStyles({"background-color":"",color:""})}}})}.bind(i));t.splice(0,1);s.stopPropagation()}.bind(this)})},setDeptList:function(t,e){t=t||{};var i=this;this.node.removeEvents("click");this.node.addEvents({click:function(s){if(i.node.get("available")=="no")return false;i.selectArrowDiv.setStyles({background:"url(/x_component_Strategy/$Template/default/icons/arrow-up.png) no-repeat center"});i.explorer.listContentDiv=new Element("div.listContentDiv",{styles:i.css.listContentDiv,id:"listContentDiv"}).inject(i.node);i.explorer.listContentDiv.setStyles({width:i.node.getSize().x+"px","margin-top":i.node.getSize().y+"px","z-index":"300"});i.listDiv=new Element("div.listDiv",{styles:i.css.listDiv}).inject(i.explorer.listContentDiv);i.app.setScrollBar(i.listDiv);t.unshift(i.lp.defaultSelect);t.each(function(t){var s=new Element("li.listLi",{styles:i.css.listLi,unit:t==i.lp.defaultSelect?i.lp.defaultSelect:t,text:t.split("@")[0]}).inject(i.listDiv);s.setStyles({color:i.selectValueDiv.get("unit")==s.get("unit")?"#ffffff":"","background-color":i.selectValueDiv.get("unit")==s.get("unit")?"#3d77c1":""});s.addEvents({click:function(s){i.selectValueDiv.set({text:this.get("text"),unit:this.get("unit")});i.node.set("unit",this.get("unit"));i.explorer.listContentDiv.destroy();i.selectArrowDiv.setStyles({background:"url(/x_component_Strategy/$Template/default/icons/arrow.png) no-repeat center"});if(e)e(t);s.stopPropagation()},mouseover:function(){if(this.get("unit")!=i.selectValueDiv.get("unit")){this.setStyles({"background-color":"#ccc",color:"#ffffff"})}},mouseout:function(){if(this.get("unit")!=i.selectValueDiv.get("unit")){this.setStyles({"background-color":"",color:""})}}})}.bind(i));t.splice(0,1);s.stopPropagation()}.bind(this)})},setPerPageList:function(t,e){t=t||{};var i=this;this.node.removeEvents("click");this.node.addEvents({click:function(s){if(!t.value||!t.text)return false;if(i.node.get("available")=="no")return false;i.selectArrowDiv.setStyles({background:"url(/x_component_Strategy/$Template/default/icons/arrow-up.png) no-repeat center"});i.explorer.listContentDiv=new Element("div.listContentDiv",{styles:i.css.listContentDiv,id:"listContentDiv"}).inject(i.node);i.explorer.listContentDiv.setStyles({width:i.node.getSize().x+"px","margin-top":i.node.getSize().y+"px","z-index":"300"});i.listDiv=new Element("div.listDiv",{styles:i.css.listDiv}).inject(i.explorer.listContentDiv);i.app.setScrollBar(i.listDiv);t.text.unshift({configname:i.lp.defaultSelect});t.text.each(function(t){var s=new Element("li.listLi",{styles:i.css.listLi,text:t.configname}).inject(i.listDiv);s.setStyles({color:i.selectValueDiv.get("text")==s.get("text")?"#ffffff":"","background-color":i.selectValueDiv.get("text")==s.get("text")?"#3d77c1":""});s.addEvents({click:function(s){i.selectValueDiv.set({text:this.get("text")});i.node.set("value",this.get("text"));i.explorer.listContentDiv.destroy();i.selectArrowDiv.setStyles({background:"url(/x_component_Strategy/$Template/default/icons/arrow.png) no-repeat center"});if(e)e(t);s.stopPropagation()},mouseover:function(){if(this.get("text")!=i.selectValueDiv.get("text")){this.setStyles({"background-color":"#ccc",color:"#ffffff"})}},mouseout:function(){if(this.get("text")!=i.selectValueDiv.get("text")){this.setStyles({"background-color":"",color:""})}}})}.bind(i));t.text.splice(0,1);s.stopPropagation()}.bind(this)})},setList:function(t,e){t=t||{};var i=this;this.node.removeEvents("click");this.node.addEvents({click:function(s){if(!t.childNodes)return false;if(i.node.get("available")=="no")return false;i.selectArrowDiv.setStyles({background:"url(/x_component_Strategy/$Template/default/icons/arrow-up.png) no-repeat center"});i.explorer.listContentDiv=new Element("div.listContentDiv",{styles:i.css.listContentDiv,id:"listContentDiv"}).inject(i.node);i.explorer.listContentDiv.setStyles({width:i.node.getSize().x+"px","margin-top":i.node.getSize().y+"px","z-index":"300"});i.listDiv=new Element("div.listDiv",{styles:i.css.listDiv}).inject(i.explorer.listContentDiv);i.app.setScrollBar(i.listDiv);t.childNodes.unshift({configname:i.lp.defaultSelect});t.childNodes.each(function(t){var s=new Element("li.listLi",{styles:i.css.listLi,text:t.configname}).inject(i.listDiv);s.setStyles({color:i.selectValueDiv.get("text")==s.get("text")?"#ffffff":"","background-color":i.selectValueDiv.get("text")==s.get("text")?"#3d77c1":""});s.addEvents({click:function(s){i.selectValueDiv.set({text:this.get("text")});i.node.set("value",this.get("text"));i.explorer.listContentDiv.destroy();i.selectArrowDiv.setStyles({background:"url(/x_component_Strategy/$Template/default/icons/arrow.png) no-repeat center"});if(e)e(t);s.stopPropagation()},mouseover:function(){if(this.get("text")!=i.selectValueDiv.get("text")){this.setStyles({"background-color":"#ccc",color:"#ffffff"})}},mouseout:function(){if(this.get("text")!=i.selectValueDiv.get("text")){this.setStyles({"background-color":"",color:""})}}})}.bind(i));t.childNodes.splice(0,1);s.stopPropagation()}.bind(this)})}});MWF.xApplication.Strategy.Template.PopupForm=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",width:500,height:450,top:0,left:0,hasTop:false,hasTopIcon:false,hasTopContent:false,hasIcon:true,hasScroll:true,hasBottom:true,hasMark:true,title:"",draggable:false,maxAction:"false",closeAction:true,relativeToApp:true,sizeRelateTo:"app"},initialize:function(t,e,i,s){this.setOptions(i);this.explorer=t;if(s){if(this.options.relativeToApp){this.app=s.app||this.explorer.app;this.container=s.container||this.app.content;this.lp=s.lp||this.explorer.lp||this.app.lp;this.css=s.css||this.explorer.css||this.app.css;this.actions=s.actions||this.explorer.actions||this.app.actions||this.app.restActions}else{this.container=s.container;this.lp=s.lp||this.explorer.lp;this.css=s.css||this.explorer.css;this.actions=s.actions||this.explorer.actions}}else{if(this.options.relativeToApp){this.app=this.explorer.app;this.container=this.app.content;this.lp=this.explorer.lp||this.app.lp;this.css=this.explorer.css||this.app.css;this.actions=this.explorer.actions||this.app.actions||this.app.restActions}else{this.container=window.document.body;this.lp=this.explorer.lp;this.css=this.explorer.css;this.actions=this.explorer.actions}}this.data=e||{};this.cssPath="/x_component_Strategy/$Template/"+this.options.style+"/popup.wcss";this.load()},load:function(){this._loadCss()},_loadCss:function(){var t={};var e=new Request.JSON({url:this.cssPath,secure:false,async:false,method:"get",noCache:false,onSuccess:function(e,i){t=e;MWF.widget.css[s]=e}.bind(this),onError:function(t,e){alert(e+t)}});e.send();var i=true;for(var s in t){if(s)i=false}if(!i){this.css=Object.merge(t,this.css)}},open:function(t){this.fireEvent("queryOpen");this.isNew=false;this.isEdited=false;this._open();this.fireEvent("postOpen")},create:function(){this.fireEvent("queryCreate");this.isNew=true;this._open();this.fireEvent("postCreate")},edit:function(){this.fireEvent("queryEdit");this.isEdited=true;this._open();this.fireEvent("postEdit")},_open:function(){if(this.options.hasMask){this.formMaskNode=new Element("div.formMaskNode",{styles:this.css.formMaskNode,events:{mouseover:function(t){t.stopPropagation()},mouseout:function(t){t.stopPropagation()},click:function(t){t.stopPropagation()}}}).inject(this.container||this.app.content)}this.formAreaNode=new Element("div.formAreaNode",{styles:this.css.formAreaNode});this.createFormNode();this.formAreaNode.inject(this.formMaskNode||this.container||this.app.content,"after");this.formAreaNode.fade("in");this.setFormNodeSize();this.setFormNodeSizeFun=this.setFormNodeSize.bind(this);if(this.app)this.app.addEvent("resize",this.setFormNodeSizeFun);if(this.options.draggable&&this.formTopNode){var t=(this.container||this.app.content).getSize();var e=this.formAreaNode.getSize();this.formAreaNode.makeDraggable({handle:this.formTopNode,limit:{x:[0,t.x-e.x],y:[0,t.y-e.y]}})}},createFormNode:function(){var t=this;this.formNode=new Element("div.formNode",{styles:this.css.formNode}).inject(this.formAreaNode);if(this.options.hasTop){this.createTopNode()}if(this.options.hasIcon){this.formIconNode=new Element("div.formIconNode",{styles:this.isNew?this.css.formNewNode:this.css.formIconNode}).inject(this.formNode)}this.createContent();if(this.options.hasBottom){this.createBottomNode()}this._setCustom();if(this.options.hasScroll){MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(this.formTableContainer,{indent:false,style:"default",where:"before",distance:30,friction:4,axis:{x:false,y:true},onScroll:function(t){}})}.bind(this))}},_setCustom:function(){},createTopNode:function(){if(!this.formTopNode){this.formTopNode=new Element("div.formTopNode",{styles:this.css.formTopNode}).inject(this.formNode);if(this.options.hasTopIcon){this.formTopIconNode=new Element("div",{styles:this.css.formTopIconNode}).inject(this.formTopNode)}this.formTopTextNode=new Element("div",{styles:this.css.formTopTextNode,text:this.options.title}).inject(this.formTopNode);if(this.options.closeAction){this.formTopCloseActionNode=new Element("div",{styles:this.css.formTopCloseActionNode}).inject(this.formTopNode);this.formTopCloseActionNode.addEvent("click",function(){this.close()}.bind(this))}if(this.options.hasTopContent){this.formTopContentNode=new Element("div.formTopContentNode",{styles:this.css.formTopContentNode}).inject(this.formTopNode);this._createTopContent()}}},_createTopContent:function(){},createContent:function(){this.formContentNode=new Element("div.formContentNode",{styles:this.css.formContentNode}).inject(this.formNode);this.formTableContainer=new Element("div.formTableContainer",{styles:this.css.formTableContainer}).inject(this.formContentNode);this.formTableArea=new Element("div.formTableArea",{styles:this.css.formTableArea,text:"loading..."}).inject(this.formTableContainer);this._createTableContent()},_createTableContent:function(){},createBottomNode:function(){this.formBottomNode=new Element("div.formBottomNode",{styles:this.css.formBottomNode}).inject(this.formNode);this._createBottomContent()},_createBottomContent:function(){this.cancelActionNode=new Element("div.formCancelActionNode",{styles:this.css.formCancelActionNode,text:this.lp.actionCancel}).inject(this.formBottomNode);this.cancelActionNode.addEvent("click",function(t){this.cancel(t)}.bind(this))},cancel:function(t){this.fireEvent("queryCancel");this.close();this.fireEvent("postCancel")},close:function(t){this.fireEvent("queryClose");this._close();if(this.setFormNodeSizeFun&&this.app){this.app.removeEvent("resize",this.setFormNodeSizeFun)}if(this.formMaskNode)this.formMaskNode.destroy();this.formAreaNode.destroy();this.fireEvent("postClose");delete this},_close:function(){},ok:function(t){this.fireEvent("queryOk");var e=this.form.getResult(true,",",true,false,true);if(e){this._ok(e,function(t){if(t.type=="error"){if(this.app)this.app.notice(t.message,"error")}else{if(this.formMaskNode)this.formMaskNode.destroy();this.formAreaNode.destroy();if(this.explorer&&this.explorer.view)this.explorer.view.reload();if(this.app)this.app.notice(this.isNew?this.lp.createSuccess:this.lp.updateSuccess,"success");this.fireEvent("postOk")}}.bind(this))}},_ok:function(t,e){},setFormNodeSize:function(t,e,i,s){if(!t)t=this.options.width?this.options.width:"50%";if(!e)e=this.options.height?this.options.height:"50%";if(!i)i=this.options.top?this.options.top:0;if(!s)s=this.options.left?this.options.left:0;var o=(this.container||this.app.content).getSize();var n=o.x;var l=o.y;"string"==typeof t&&(1<t.length&&"%"==t.substr(t.length-1,1))&&(t=parseInt(n*parseInt(t,10)/100,10));"string"==typeof e&&(1<e.length&&"%"==e.substr(e.length-1,1))&&(e=parseInt(l*parseInt(e,10)/100,10));300>t&&(t=300);220>e&&(e=220);i=i||parseInt((l-e)/2,10);s=s||parseInt((n-t)/2,10);this.formAreaNode.setStyles({width:""+t+"px",height:""+e+"px",top:""+i+"px",left:""+s+"px"});this.formNode.setStyles({width:""+t+"px",height:""+e+"px"});var r=this.formIconNode?this.formIconNode.getSize():{x:0,y:0};var a=this.formTopNode?this.formTopNode.getSize():{x:0,y:0};var c=this.formBottomNode?this.formBottomNode.getSize():{x:0,y:0};var h=e-r.y-a.y-c.y;this.formContentNode.setStyles({height:""+h+"px"});this.formTableContainer.setStyles({height:""+h+"px"})}});MWF.xApplication.Strategy.Template.view=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexView,Implements:[Options,Events],createViewHead:function(){this.fireEvent("queryCreateViewHead");this._queryCreateViewHead();if(this.template){if(!this.template.headSetting||this.template.headSetting.disable||!this.template.headSetting.html){return}}var t=this;this.viewHeadNode=this.formatElement(this.viewNode,this.template.viewHeadSetting);var e=this.headNode=this.formatElement(this.viewHeadNode,this.template.headSetting);this.template.items.each(function(i){if(!i.head)return;if(i.access&&!this.options[i.access])return;if(i.head.access&&!this.options[i.head.access])return;var s=this.formatElement(e,i.head);if(i.name=="$checkbox"){this.checkboxElement=new Element("input",{type:"checkbox"}).inject(s);this.checkboxElement.addEvent("click",function(){this.selectAllCheckbox()}.bind(this))}if(i.defaultSort&&i.defaultSort!=""){this.sortFieldDefault=i.name;this.sortTypeDefault=i.defaultSort}if(i.sort&&i.sort!=""){s.store("sortField",i.name);if(this.sortField==i.name&&this.sortType!=""){s.store("sortType",this.sortType);this.sortIconNode=new Element("div",{styles:this.sortType=="asc"?this.css.sortIconNode_asc:this.css.sortIconNode_desc}).inject(s,"top")}else{s.store("sortType","");this.sortIconNode=new Element("div",{styles:this.css.sortIconNode}).inject(s,"top")}s.setStyle("cursor","pointer");s.addEvent("click",function(){t.resort(this)})}}.bind(this));this.fireEvent("postCreateViewHead");this._postCreateViewHead(e)},createViewBody:function(){this.viewBodyNode=this.formatElement(this.viewNode,this.template.viewBodySetting);this.loadElementList()}});MWF.xApplication.Strategy.Template.Document=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexDocument,Implements:[Options,Events]});MWF.xApplication.Strategy.Template.Paging=new Class({Extends:MWF.xApplication.Template.Explorer.Paging,Implements:[Options,Events]});
|