| 1 |
- MWF.xApplication.process.FormDesigner.Module=MWF.xApplication.process.FormDesigner.Module||{};MWF.xDesktop.requireApp("process.FormDesigner","Module.$Element",null,false);MWF.require("MWF.widget.Toolbar",null,false);MWF.xApplication.process.FormDesigner.Module.Sidebar=MWF.FCSidebar=new Class({Extends:MWF.FC$Element,Implements:[Options,Events],options:{style:"default",propertyPath:"/x_component_process_FormDesigner/Module/Sidebar/sidebar.html"},addAction:function(){},initialize:function(form,options){this.setOptions(options);this.path="/x_component_process_FormDesigner/Module/Sidebar/";this.cssPath="/x_component_process_FormDesigner/Module/Sidebar/"+this.options.style+"/css.wcss";this._loadCss();this.moduleType="component";this.moduleName="sidebar";this.Node=null;this.form=form;this.container=null;this.containerNode=null;this.systemTools=[]},setTemplateStyles:function(styles){this.json.style=styles.style},clearTemplateStyles:function(styles){this.json.style="xform_side_blue_simple"},setAllStyles:function(){this._refreshActionbar()},_createMoveNode:function(){this.moveNode=new Element("div",{MWFType:"sidebar",id:this.json.id,styles:this.css.moduleNodeMove,events:{selectstart:function(e){e.preventDefault()}}}).inject(this.form.container)},_createNode:function(callback){this.node=new Element("div",{id:this.json.id,MWFType:"actionbar",styles:this.css.moduleNode,events:{selectstart:function(e){e.preventDefault()}}}).inject(this.form.node);if(this.form.options.mode=="Mobile"){this.node.set("text",MWF.APPFD.LP.notice.notUseModuleInMobile+"("+this.moduleName+")");this.node.setStyles({height:"24px","line-height":"24px","background-color":"#999"})}else{this.toolbarNode=new Element("div").inject(this.node);this.toolbarWidget=new MWF.widget.Toolbar(this.toolbarNode,{style:this.json.style},this);MWF.getJSON(this.path+"toolbars.json",function(json){this.json.defaultTools=json;this.setToolbars(json,this.toolbarNode);this.toolbarWidget.load()}.bind(this),false)}},_initModule:function(){this.setStyleTemplate();this._setNodeProperty();if(!this.form.isSubform)this._createIconAction();this._setNodeEvent();this._refreshActionbar();this.loadPosition();this.form.designer.designNode.addEvent("scroll",function(){}.bind(this))},position:function(){if(this.parentContainer){this.sideNode=this.parentContainer.node;var p=this.sideNode.getPosition();var s=this.sideNode.getSize();if(!this.sidePosition||!(this.sidePosition.p.x==p.x&&this.sidePosition.p.y==p.y&&this.sidePosition.s.x==s.x&&this.sidePosition.s.y==s.y)){this.loadPosition()}}},loadPosition:function(){this.sideNode=this.parentContainer.node;var size=this.form.designer.designNode.getSize();var scroll=this.form.designer.designNode.getScroll();var sideSize=this.sideNode.getSize();var sidePosition=this.sideNode.getPosition(this.sideNode.getOffsetParent());var nodeSize=this.node.getSize();if(sideSize.y>size.y){var center=size.y/2-nodeSize.y/2;if(center<sidePosition.y){this.node.setStyle("top",""+sidePosition.y+"px")}else if(center>sidePosition.y+sideSize.y){var tmp=sidePosition.y+sideSize.y-nodeSize.y;this.node.setStyle("top",""+tmp+"px")}else{this.node.setStyle("top",""+center+"px")}}else{var top=sidePosition.y+sideSize.y/2-nodeSize.y/2;if(top>size.y){if(sidePosition.y+nodeSize.y>size.y){this.node.setStyle("top",""+sidePosition.y+"px")}else{var tmp=size.y-nodeSize.y;this.node.setStyle("top",""+tmp+"px")}}else if(top<=45){if(sidePosition.y+sideSize.y<nodeSize.y+45){var tmp=sidePosition.y+sideSize.y-nodeSize.y;this.node.setStyle("top",""+tmp+"px")}else{this.node.setStyle("top","45px")}}else{this.node.setStyle("top",""+top+"px")}}var left=sideSize.x+sidePosition.x+5;this.node.setStyle("left",""+left+"px");this.node.setStyle("position","absolute");this.json.styles=this.node.getStyles(["top","left","bottom","right","position"]);this.json.styles.bottom="auto";this.json.styles.right="auto";var p=this.sideNode.getPosition();var s=this.sideNode.getSize();this.sidePosition={p:p,s:s};this.node.setStyles({right:"auto",bottom:"auto"})},_refreshActionbar:function(){if(this.form.options.mode=="Mobile"){this.node.set("text",MWF.APPFD.LP.notice.notUseModuleInMobile+"("+this.moduleName+")");this.node.setStyles({height:"24px","line-height":"24px","background-color":"#999"})}else{this.toolbarNode=this.node.getFirst("div");this.toolbarNode.empty();this.toolbarWidget=new MWF.widget.Toolbar(this.toolbarNode,{style:this.json.style},this);if(this.json.defaultTools){debugger;var json=Array.clone(this.json.defaultTools);if(this.json.tools)json.append(this.json.tools);this.setToolbars(json,this.toolbarNode);this.toolbarWidget.load()}else{MWF.getJSON(this.path+"toolbars.json",function(json){this.json.defaultTools=json;var json=Array.clone(this.json.defaultTools);if(this.json.tools)json.append(this.json.tools);this.setToolbars(json,this.toolbarNode);this.toolbarWidget.load()}.bind(this),false)}}},setToolbars:function(tools,node){tools.each(function(tool){var actionNode=new Element("div",{MWFnodetype:tool.type,MWFButtonImage:this.path+""+this.options.style+"/tools/"+tool.img,title:tool.title,MWFButtonAction:tool.action,MWFButtonText:tool.text}).inject(node);this.systemTools.push(actionNode);if(tool.sub){var subNode=node.getLast();this.setToolbars(tool.sub,subNode)}}.bind(this))},_setEditStyle_custom:function(name){if(name=="hideSystemTools"){if(this.json.hideSystemTools){this.systemTools.each(function(tool){tool.setStyle("display","none")})}else{this.systemTools.each(function(tool){tool.setStyle("display","block")})}}if(name=="barPosition"||name=="styles"){this.loadPosition()}if(name=="defaultTools"||name=="tools"){this._refreshActionbar()}}});
|