| 1 |
- MWF.require("MWF.widget.UUID",null,false);MWF.xApplication.AppDesigner.Component=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default"},initialize:function(t,e,i,o){this.setOptions(o);this.module=module;this.form=module.form;this.data=module.json;this.htmlPath=this.options.path;this.designer=i;this.propertyNode=e},onQueryLoad:function(){this.lp=MWF.xApplication.AppDesigner.LP},loadApplication:function(t){if(!this.options.isRefresh){this.maxSize(function(){this.loadDesigner()}.bind(this))}else{this.loadDesigner()}},loadDesigner:function(){this.createNode();this.loadLayout();this.loadListToolBar();this.loadDesignerToolBar();this.loadDesignerTab();MWF.UD.getDataJson("appDesigner",function(t){this.components=t}.bind(this))},loadLayout:function(){this.leftAreaNode=new Element("div",{styles:this.css.leftAreaNode}).inject(this.node);this.rightAreaNode=new Element("div",{styles:this.css.rightAreaNode}).inject(this.node);this.loadLeftAreaLayout();this.loadRightAreaLayout();this.setLayoutSize();this.addEvent("resize",this.setLayoutSize.bind(this))},loadLeftAreaLayout:function(){this.leftAreaResizeNode=new Element("div",{styles:this.css.leftAreaResizeNode}).inject(this.leftAreaNode);this.appListAreaNode=new Element("div",{styles:this.css.appListAreaNode}).inject(this.leftAreaNode);this.appListToolbarNode=new Element("div",{styles:this.css.appListToolbarNode}).inject(this.appListAreaNode);this.appListScrollNode=new Element("div",{styles:this.css.appListScrollNode}).inject(this.appListAreaNode);this.appListContentNode=new Element("div",{styles:this.css.appListContentNode}).inject(this.appListScrollNode)},loadRightAreaLayout:function(){this.designerToolbarNode=new Element("div",{styles:this.css.designerToolbarNode}).inject(this.rightAreaNode);this.designerTabAreaNode=new Element("div",{styles:this.css.designerTabAreaNode}).inject(this.rightAreaNode)},setLayoutSize:function(){var t=this.node.getSize();var e=this.appListToolbarNode.getSize();var i=t.y-e.y;this.appListScrollNode.setStyle("height",""+i+"px");this.designerTabAreaNode.setStyle("height",""+i+"px")},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content)},loadListToolBar:function(t){var e=this.path+"listToolbar.html";this.getToolbarHTML(e,function(e){var i=e.getElements("span");i.each(function(t,e){var i=t.get("MWFButtonImage");if(i){t.set("MWFButtonImage",this.path+""+this.options.style+"/icon/listToolbar/"+i)}}.bind(this));e.inject(this.appListToolbarNode);MWF.require("MWF.widget.Toolbar",function(){this.listToolbar=new MWF.widget.Toolbar(e,{style:"designer"},this);this.listToolbar.load();this.listToolbar.childrenButton[this.listToolbar.childrenButton.length-1].node.setStyle("float","right");if(t)t()}.bind(this))}.bind(this))},loadDesignerToolBar:function(t){var e=this.path+"designerToolbar.html";this.getToolbarHTML(e,function(e){var i=e.getElements("span");i.each(function(t,e){var i=t.get("MWFButtonImage");if(i){t.set("MWFButtonImage",this.path+""+this.options.style+"/icon/designerToolbar/"+i)}}.bind(this));e.inject(this.designerToolbarNode);MWF.require("MWF.widget.Toolbar",function(){this.designerToolbar=new MWF.widget.Toolbar(e,{style:"designer"},this);this.designerToolbar.load();if(t)t()}.bind(this))}.bind(this))},getToolbarHTML:function(t,e){var i=new Request.HTML({url:t,method:"get",onSuccess:function(t,i,o,n){var s=t[0];if(e)e(s)}.bind(this),onFailure:function(t){this.notice("request processToolbars error: "+t.responseText,"error")}.bind(this)});i.send()},loadDesignerTab:function(){MWF.require("MWF.widget.Tab",function(){this.designerTab=new MWF.widget.Tab(this.designerTabAreaNode,{style:"script"});this.designerTab.load()}.bind(this),false)},createComponent:function(){MWF.require("MWF.xDesktop.Dialog",function(){var t=600;var e=230;var i=MWF.getCenterPosition(this.content,t,e);var o=this;var n=new MWF.xDesktop.Dialog({title:this.lp.create,style:"appDesigner",top:i.y-100,left:i.x,fromTop:i.y-100,fromLeft:i.x,width:t,height:e,url:this.path+"create.html",container:this.content,isClose:true,onPostShow:function(){$("createComponent_okButton").addEvent("click",function(){o.doCreateComponent(this)}.bind(this));$("createComponent_cancelButton").addEvent("click",function(){this.close()}.bind(this))}});n.show()}.bind(this))},createComponentCheck:function(t,e,i,o){if(!t||!e||i){this.notice(this.lp.createComponent_input,"error",o.node);return false}for(var n=0;n<this.components.length;n++){var s=this.components[n];if(s.name==t){this.notice(this.lp.createComponent_nameExist,"error",o.node);return false}if(s.title==e){this.notice(this.lp.createComponent_titleExist,"error",o.node);return false}if(s.path==i){this.notice(this.lp.createComponent_pathExist,"error",o.node);return false}}return true},doCreateComponent:function(t){var e=$("createComponent_name").get("value");var i=$("createComponent_title").get("value");var o=$("createComponent_path").get("value");var n=this.createComponentCheck(e,i,o,t);if(n){var s={name:e,title:i,path:o,context:"x_component_"+o.replace(/\./g,"_"),id:(new MWF.widget.UUID).toString()};this.components.push(s);MWF.UD.putData("appDesigner",this.components,function(){this.doCreateComponentModules(s)}.bind(this));t.close()}},doCreateComponentModules:function(t){var e=this.getCreateComponentMainData(t);this.appListContentNode},getCreateComponentMainData:function(t){var e=null;var i="/x_component_"+t.path.replace(/\./g,"_")+"/template/Main.json";MWF.getJSON(i,function(t){e=t},false);e.options.name=t.path;e.options.title=t.path;return e}});
|