| 1 |
- MWF.xApplication.cms=MWF.xApplication.cms||{};MWF.CMSE=MWF.xApplication.cms.Module=MWF.xApplication.cms.Module||{};MWF.require("MWF.widget.Identity",null,false);MWF.xDesktop.requireApp("cms.Module","Actions.RestActions",null,false);MWF.xApplication.cms.Module.options={multitask:false,executable:true};MWF.xApplication.cms.Module.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"cms.Module",icon:"icon.png",width:"1200",height:"700",isResize:false,isMax:true,isCategory:false,searchKey:"",title:MWF.xApplication.cms.Module.LP.title},onQueryLoad:function(){this.lp=MWF.xApplication.cms.Module.LP},loadApplication:function(t){this.controllers=[];this.isAdmin=false;this.restActions=new MWF.xApplication.cms.Module.Actions.RestActions;this.createNode();this.loadApplicationContent()},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:this.css.node}).inject(this.content)},loadApplicationContent:function(){if(this.options.columnData){this.setTitle(this.options.columnData.appName);this.loadController(function(){this.loadTitle();this.loadMenu()}.bind(this))}else if(this.status&&this.status.columnId){this.loadColumnData(this.status.columnId,function(){this.loadController(function(){this.loadTitle();this.loadMenu()}.bind(this))}.bind(this))}},loadColumnData:function(t,e){this.restActions.getColumn({id:t},function(t){this.options.columnData=t.data;this.setTitle(this.options.columnData.appName);if(e)e()}.bind(this))},loadController:function(t){this.restActions.listColumnController(this.options.columnData.id,function(e){e.data=e.data||[];e.data.each(function(t){this.controllers.push(t.adminUid)}.bind(this));this.isAdmin=MWF.AC.isAdministrator()||this.controllers.contains(layout.desktop.session.user.name);if(t)t(e)}.bind(this))},loadTitle:function(){this.loadTitleBar();this.loadCreateDocumentActionNode();this.loadTitleIconNode();this.loadTitleTextNode();this.loadRefreshNode();this.loadSearchNode()},loadTitleBar:function(){this.titleBar=new Element("div",{styles:this.css.titleBar}).inject(this.node)},loadCreateDocumentActionNode:function(){this.createDocumentAction=new Element("div",{styles:this.css.createDocumentAction}).inject(this.titleBar);this.createDocumentAction.addEvents({click:function(t){if(this.creater){this.creater.load()}else{MWF.xDesktop.requireApp("cms.Index","Creater",function(){this.creater=new MWF.xApplication.cms.Index.Creater(this,this.options.columnData,this.view);this.creater.load()}.bind(this))}}.bind(this)})},loadTitleIconNode:function(){this.defaultColumnIcon="/x_component_cms_Index/$Main/"+this.options.style+"/icon/column.png";var t=this.iconAreaNode=new Element("div",{styles:this.css.titleIconAreaNode}).inject(this.titleBar);var e=this.iconNode=new Element("img",{styles:this.css.titleIconNode}).inject(t);if(this.options.columnData.appIcon){this.iconNode.set("src","data:image/png;base64,"+this.options.columnData.appIcon+"")}else{this.iconNode.set("src",this.defaultColumnIcon)}e.makeLnk({par:this._getLnkPar()})},_getLnkPar:function(){var t=this.defaultColumnIcon;if(this.options.columnData.appIcon)t="data:image/png;base64,"+this.options.columnData.appIcon;var e="cms.Module"+this.options.columnData.id;return{icon:t,title:this.options.columnData.appName,par:'cms.Module#{"columnId": "'+this.options.columnData.id+'", "appId": "'+e+'"}'}},loadTitleTextNode:function(){this.titleTextNode=new Element("div",{styles:this.css.titleTextNode,text:this.options.columnData.appName}).inject(this.titleBar)},loadSearchNode:function(){this.searchBarAreaNode=new Element("div",{styles:this.css.searchBarAreaNode}).inject(this.titleBar);this.searchBarNode=new Element("div",{styles:this.css.searchBarNode}).inject(this.searchBarAreaNode);this.searchBarActionNode=new Element("div",{styles:this.css.searchBarActionNode}).inject(this.searchBarNode);this.searchBarResetActionNode=new Element("div",{styles:this.css.searchBarResetActionNode}).inject(this.searchBarNode);this.searchBarResetActionNode.setStyle("display","none");this.searchBarInputBoxNode=new Element("div",{styles:this.css.searchBarInputBoxNode}).inject(this.searchBarNode);this.searchBarInputNode=new Element("input",{type:"text",value:this.options.searchKey!=""?this.options.searchKey:this.lp.searchKey,styles:this.css.searchBarInputNode}).inject(this.searchBarInputBoxNode);var t=this;this.searchBarActionNode.addEvent("click",function(){this.search()}.bind(this));this.searchBarResetActionNode.addEvent("click",function(){this.reset()}.bind(this));this.searchBarInputNode.addEvents({focus:function(){if(this.value==t.lp.searchKey)this.set("value","")},blur:function(){if(!this.value)this.set("value",t.lp.searchKey)},keydown:function(t){if(t.code==13){this.search();t.preventDefault()}}.bind(this),selectstart:function(t){t.preventDefault()}})},loadRefreshNode:function(){this.refreshAreaNode=new Element("div",{styles:this.css.refreshAreaNode}).inject(this.titleBar);this.refreshActionNode=new Element("div",{styles:this.css.refreshActionNode,title:this.lp.refresh}).inject(this.refreshAreaNode);this.refreshActionNode.addEvent("click",function(){this.reloadView()}.bind(this))},loadMenu:function(t){this.naviContainerNode=new Element("div.naviContainerNode",{styles:this.css.naviContainerNode}).inject(this.node);this.naviNode=new Element("div.naviNode",{styles:this.css.naviNode}).inject(this.naviContainerNode);MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(this.naviContainerNode,{style:"xApp_ProcessManager_StartMenu",distance:100,friction:4,axis:{x:false,y:true}})}.bind(this));this.addEvent("resize",function(){this.setNaviSize()}.bind(this));if(this.status&&this.status.categoryId){this._loadMenu(this.status)}else if(this.options.categoryId&&this.options.categoryId!=""){if(this.options.viewId&&this.options.viewId!=""){this._loadMenu({categoryId:this.options.categoryId,viewId:this.options.viewId})}else{this.getCategoryDefaultView(this.options.categoryId,function(t){if(t){this._loadMenu({categoryId:this.options.categoryId,viewId:t,isCategory:this.options.isCategory})}else{this._loadMenu({categoryId:this.options.categoryId,isCategory:this.options.isCategory,naviIndex:this.options.naviIndex||0})}}.bind(this))}}else{this._loadMenu({categoryId:"all"})}},reloadView:function(){this.reset()},_loadMenu:function(t){this.navi=new MWF.xApplication.cms.Module.Navi(this,this.naviNode,this.options.columnData,t);this.setNaviSize()},clearContent:function(){if(this.moduleContent){if(this.view)delete this.view;this.moduleContent.destroy();this.moduleContent=null}},openView:function(t,e,i,s,o){if((!s||s!="")&&this.options.searchKey!=""){s=this.options.searchKey;this.options.searchKey=""}MWF.xDesktop.requireApp("cms.Module","ViewExplorer",function(){this.clearContent();this.moduleContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);if(!this.restActions)this.restActions=new MWF.xApplication.cms.Module.Actions.RestActions;this.view=new MWF.xApplication.cms.Module.ViewExplorer(this.moduleContent,this.restActions,this.options.columnData,e,i,{isAdmin:this.isAdmin,searchKey:s});this.view.app=this;this.view.load();if(!s||s==""){this.searchBarResetActionNode.setStyle("display","none");this.searchBarActionNode.setStyle("display","block");this.searchBarInputNode.set("value",this.lp.searchKey)}}.bind(this))},getCategoryDefaultView:function(t,e){MWF.UD.getDataJson("cms_defaultView_"+t,function(t){if(e)e(t?t.id:null)}.bind(this))},setCategoryDefaultView:function(t,e){MWF.UD.putData("cms_defaultView_"+t,{id:e},function(){this.app.notice(this.app.lp.setDefaultSuccess,"success")}.bind(this))},search:function(t){if(!t)t=this.searchBarInputNode.get("value");if(t==this.lp.searchKey)t="";if(t!=""){this.searchBarResetActionNode.setStyle("display","block");this.searchBarActionNode.setStyle("display","none")}if(this.navi.currentViewNaviNode){var e=this.navi.currentViewNaviNode;var i=e.retrieve("viewData");var s=e.retrieve("categoryId");if(i.content&&typeof i.content=="string"){i.content=JSON.parse(i.content)}this.openView(e,this.navi.categorys[s].data,i,t)}},reset:function(){this.searchBarInputNode.set("value",this.lp.searchKey);this.searchBarResetActionNode.setStyle("display","none");this.searchBarActionNode.setStyle("display","block");if(this.navi.currentViewNaviNode){var t=this.navi.currentViewNaviNode}else{var t=this.navi.categorys.all.views.default.node}this.navi.setCurrentViewNode(t);this.currentViewNaviNode=null},recordStatus:function(){var t=this.navi.currentViewNaviNode;if(t){var e=t.retrieve("viewData");var i=t.retrieve("categoryId");var s=t.retrieve("isCategory");if(i){return{columnId:this.options.columnData.id,categoryId:i,isCategory:s,viewId:e.id?e.id:"default"}}else{return{columnId:this.options.columnData.id}}}else{return{columnId:this.options.columnData.id}}},setNaviSize:function(){var t=this.titleBar?this.titleBar.getSize():{x:0,y:0};var e=this.node.getSize();var i=this.naviContainerNode.getStyle("padding-top").toFloat();var s=this.naviContainerNode.getStyle("padding-bottom").toFloat();var o=e.y-i-s-t.y;this.naviContainerNode.setStyle("height",""+o+"px")}});MWF.xApplication.cms.Module.Navi=new Class({Implements:[Options,Events],options:{categoryId:"",viewId:"",isCategory:false,navi:-1},initialize:function(t,e,i,s){this.setOptions(s);this.app=t;this.node=$(e);this.columnData=i;this.categorys={};this.load()},load:function(){var t=this;this.loadAllDocNaviNode();new Element("div",{styles:this.app.css.viewNaviBottom}).inject(this.node);this.app.restActions.listCategory(this.columnData.id,function(e){e.data.each(function(e){var i=new Element("div.categoryNaviNode",{styles:this.app.css.categoryNaviNode,text:e.name}).inject(this.node);this.categorys[e.id]={};this.categorys[e.id].data=e;this.categorys[e.id].node=i;this.categorys[e.id].views={};i.store("categoryId",e.id);i.store("isCategory",true);i.addEvents({mouseover:function(){if(t.currentViewNaviNode!=this)this.setStyles(t.app.css.categoryNaviNode_over)},mouseout:function(){if(t.currentViewNaviNode!=this)this.setStyles(t.app.css.categoryNaviNode)},click:function(){t.setCurrentViewNode(this)}});if(!e.defaultViewName||e.defaultViewName=="default"||e.defaultViewName==""){i.store("viewData",{isDefault:true});if(this.options.categoryId==e.id&&this.options.isCategory){this.setCurrentViewNode(i)}}else{this.app.restActions.getView(e.defaultViewName,function(t){i.store("viewData",t.data);if(this.options.categoryId==e.id&&this.options.isCategory){this.setCurrentViewNode(i)}}.bind(this))}var s=new Element("div.viewNaviListNode",{styles:this.app.css.viewNaviListNode}).inject(this.node);var o=0;this.app.restActions.listViewByCategory(e.id,function(t){t.data.each(function(t){this.createViewNaviNode(s,t,e.id,o++)}.bind(this));new Element("div",{styles:this.app.css.viewNaviSepartorNode}).inject(s)}.bind(this))}.bind(this));this.fireEvent("postLoad")}.bind(this),function(){this.fireEvent("postLoad")}.bind(this),true)},loadAllDocNaviNode:function(){var t=this;this.categorys.all={};this.categorys.all.data={isAll:true};this.categorys.all.views={};var e=this.viewNaviListNode_all=new Element("div.viewNaviListNode_all",{styles:this.app.css.viewNaviListNode_all}).inject(this.node);var i=this.viewNaviNode_all=new Element("div.viewNaviNode_all",{styles:this.app.css.viewNaviNode_all,text:this.app.lp.allDocument}).inject(e);var s={isDefault:true,isAll:true};i.store("isAll",true);i.store("viewData",s);i.store("categoryId","all");var o=this.categorys.all.views.default={};o.data=s;o.node=i;i.addEvents({mouseover:function(){if(t.currentViewNaviNode!=this)this.setStyles(t.app.css.viewNaviNode_all_over)},mouseout:function(){if(t.currentViewNaviNode!=this)this.setStyles(t.app.css.viewNaviNode_all)},click:function(e){t.setCurrentViewNode(this)}});new Element("div",{styles:this.app.css.viewNaviSepartorNode}).inject(e);if(this.options.categoryId=="all"){this.setCurrentViewNode(i)}},createViewNaviNode:function(t,e,i,s){var o=this;var n=new Element("div.viewNaviNode",{styles:this.app.css.viewNaviNode,text:e.isDefault?this.app.lp.defaultView:e.name}).inject(t);n.store("viewData",e);n.store("categoryId",i);var a=e.isDefault?"default":e.id;var c=this.categorys[i].views[a]={};c.data=e;c.node=n;n.addEvents({mouseover:function(){if(o.currentViewNaviNode!=this)this.setStyles(o.app.css.viewNaviNode_over)},mouseout:function(){if(o.currentViewNaviNode!=this)this.setStyles(o.app.css.viewNaviNode)},click:function(t){o.setCurrentViewNode(this)}});if(this.options.categoryId==i&&!this.options.isCategory){if(this.options.viewId=="default"&&e.isDefault){this.setCurrentViewNode(n)}else if(this.options.viewId==e.id){this.setCurrentViewNode(n)}else if(this.options.naviIndex==s){this.setCurrentViewNode(n)}}},setCurrentViewNode:function(t){if(this.currentViewNaviNode){if(this.currentViewNaviNode.retrieve("isAll")){this.currentViewNaviNode.setStyles(this.app.css.viewNaviNode_all)}else if(this.currentViewNaviNode.retrieve("isCategory")){this.currentViewNaviNode.setStyles(this.app.css.categoryNaviNode)}else{this.currentViewNaviNode.setStyles(this.app.css.viewNaviNode)}}if(t.retrieve("isAll")){t.setStyles(this.app.css.viewNaviNode_all_selected)}else if(t.retrieve("isCategory")){t.setStyles(this.app.css.categoryNaviNode_selected)}else{t.setStyles(this.app.css.viewNaviNode_selected)}this.currentViewNaviNode=t;var e=t.retrieve("viewData");var i=t.retrieve("categoryId");if(e.content&&typeof e.content=="string"){e.content=JSON.parse(e.content)}this.app.openView(t,this.categorys[i].data,e,"",this)}});
|