MWF.xApplication.Execution = MWF.xApplication.Execution || {}; MWF.xDesktop.requireApp("Template", "Explorer", null, false); MWF.xDesktop.requireApp("Template", "MPopupForm", null, false); MWF.require("MWF.widget.Identity", null,false); MWF.xApplication.Execution.SettingExplorer = new Class({ Extends: MWF.widget.Common, Implements: [Options, Events], options: { "style": "default" }, initialize: function (node, app, actions, options) { this.setOptions(options); this.app = app; this.lp = app.lp; this.path = "/x_component_Execution/$SettingExplorer/"; this.loadCss(); this.actions = actions; this.node = $(node); }, loadCss: function () { this.cssPath = "/x_component_Execution/$SettingExplorer/" + this.options.style + "/css.wcss"; this._loadCss(); }, load: function () { this.middleContent = this.app.middleContent; //this.middleContent.setStyles({"margin-top":"0px","border":"0px solid #f00"}); this.createNaviContent(); this.createContentDiv(); this.resizeWindow(); this.app.addEvent("resize", function(){ this.resizeWindow(); }.bind(this)); }, resizeWindow: function(){ var size = this.app.middleContent.getSize(); this.naviDiv.setStyles({"height":(size.y-40)+"px"}); this.naviContentDiv.setStyles({"height":(size.y-180)+"px"}); this.contentDiv.setStyles({"height":(size.y-40)+"px"}); }, createNaviContent: function(){ this.naviDiv = new Element("div.naviDiv",{ "styles":this.css.naviDiv }).inject(this.middleContent); this.naviTitleDiv = new Element("div.naviTitleDiv",{ "styles":this.css.naviTitleDiv, "text": this.lp.systemSetting }).inject(this.naviDiv); this.naviContentDiv = new Element("div.naviContentDiv",{"styles":this.css.naviContentDiv}).inject(this.naviDiv); this.naviBottomDiv = new Element("div.naviBottomDiv",{"styles":this.css.naviBottomDiv}).inject(this.naviDiv); var jsonUrl = this.path+"navi.json"; MWF.getJSON(jsonUrl, function(json){ json.each(function(data, i){ var naviContentLi = new Element("li.naviContentLi",{"styles":this.css.naviContentLi}).inject(this.naviContentDiv); naviContentLi.addEvents({ "mouseover" : function(ev){ if(this.bindObj.currentNaviItem != this.node)this.node.setStyles( this.styles ) }.bind({"styles": this.css.naviContentLi_over, "node":naviContentLi, "bindObj": this }) , "mouseout" : function(ev){ if(this.bindObj.currentNaviItem != this.node)this.node.setStyles( this.styles ) }.bind({"styles": this.css.naviContentLi, "node":naviContentLi, "bindObj": this }) , "click" : function(ev){ if( this.bindObj.currentNaviItem )this.bindObj.currentNaviItem.setStyles( this.bindObj.css.naviContentLi ); this.node.setStyles( this.styles ); this.bindObj.currentNaviItem = this.node; if( this.action && this.bindObj[this.action] )this.bindObj[this.action](); }.bind({"styles": this.css.naviContentLi_current, "node":naviContentLi, "bindObj": this, "action" : data.action }) }); var naviContentImg = new Element("img.naviContentImg",{ "styles":this.css.naviContentImg, "src":"/x_component_Execution/$Main/"+this.options.style+"/icon/"+data.icon }).inject(naviContentLi); var naviContentSpan = new Element("span.naviContentSpan",{ "styles":this.css.naviContentSpan, "text":data.title }).inject(naviContentLi); if( i == 0 )naviContentLi.click(); }.bind(this)); }.bind(this)); }, createContentDiv: function(){ this.contentDiv = new Element("div.contentDiv",{"styles":this.css.contentDiv}).inject(this.middleContent); }, openSystemConfig: function(){ if( this.contentDiv )this.contentDiv.empty(); if( this.explorer ){ this.explorer.destroy(); delete this.explorer; } this.explorer = new MWF.xApplication.Execution.SettingExplorer.SystemConfigExplorer(this.contentDiv, this.app, this,{style:this.options.style}); this.explorer.load(); }, openSecretarySetting: function(){ if( this.contentDiv )this.contentDiv.empty(); if( this.explorer ){ this.explorer.destroy(); delete this.explorer; } this.explorer = new MWF.xApplication.Execution.SettingExplorer.SecretarySettingExplorer(this.contentDiv, this.app, this,{style:this.options.style}); this.explorer.load(); }, openCategorySetting: function(){ if( this.contentDiv )this.contentDiv.empty(); if( this.explorer ){ this.explorer.destroy(); delete this.explorer; } this.explorer = new MWF.xApplication.Execution.SettingExplorer.CategorySettingExplorer(this.contentDiv, this.app, this,{style:this.options.style}); this.explorer.load(); } }); MWF.xApplication.Execution.SettingExplorer.SystemConfigExplorer = new Class({ Extends: MWF.widget.Common, Implements: [Options, Events], options: { "style": "default" }, initialize: function (container, app, parent, options) { this.container = container; this.parent = parent; this.app = app; this.css = this.parent.css; this.lp = this.app.lp; }, load: function () { this.container.empty(); //this.loadToolbar(); this.loadView(); }, destroy : function(){ if(this.resizeWindowFun)this.app.removeEvent("resize",this.resizeWindowFun); this.view.destroy(); }, aa:function(){ if(d.configValue && d.configValue!=''){vl=''}else {var v = d.configValue.split(',');v1 = '';for (i = 0; i < v.length; i++) {if (v1 == '') {v1 = v[i].split('@')[0];} else {v1 = v1 + ',' + v[i].split('@')[0];};}} return v1 }, loadToolbar: function(){ this.toolbar = new Element("div",{ styles : this.css.toolbar }).inject(this.container); this.createActionNode = new Element("div",{ styles : this.css.toolbarActionNode, text: this.lp.createConfig }).inject(this.toolbar); this.createActionNode.addEvent("click",function(){ var form = new MWF.xApplication.Execution.SettingExplorer.SystemConfigForm(this, {}, { onPostOk : function(){ this.view.reload(); }.bind(this)}); form.create(); }.bind(this)); this.fileterNode = new Element("div",{ styles : this.css.fileterNode }).inject(this.toolbar); }, loadView : function(){ this.viewContainer = Element("div",{ "styles" : this.css.viewContainer }).inject(this.container); this.resizeWindow(); this.resizeWindowFun = this.resizeWindow.bind(this); this.app.addEvent("resize", this.resizeWindowFun ); this.view = new MWF.xApplication.Execution.SettingExplorer.SystemConfigView( this.viewContainer, this.app, this, { templateUrl : this.parent.path+"listItem_config.json", scrollEnable : true } ); this.view.load(); }, resizeWindow: function(){ var size = this.app.content.getSize(); this.viewContainer.setStyles({"height":(size.y-65)+"px"}); } }); MWF.xApplication.Execution.SettingExplorer.SystemConfigView = new Class({ Extends: MWF.xApplication.Template.Explorer.ComplexView, _createDocument: function(data){ return new MWF.xApplication.Execution.SettingExplorer.SystemConfigDocument(this.viewNode, data, this.explorer, this); }, _getCurrentPageData: function(callback, count){ if (!count)count = 20; //var id = (this.items.length) ? this.items[this.items.length - 1].data.id : "(0)"; //var filter = this.filterData || {}; this.actions.listConfigAll( function (json) { if (callback)callback(json); }.bind(this)) }, _removeDocument: function(documentData, all){ this.actions.deleteConfig(documentData.id, function(json){ this.reload(); this.app.notice(this.app.lp.deleteDocumentOK, "success"); }.bind(this)); }, _create: function(){ }, _openDocument: function( documentData ){ var form = new MWF.xApplication.Execution.SettingExplorer.SystemConfigForm(this, documentData, { onPostOk : function(){ this.reload(); }.bind(this) }); form.edit(); }, _queryCreateViewNode: function(){ }, _postCreateViewNode: function( viewNode ){ }, _queryCreateViewHead:function(){ }, _postCreateViewHead: function( headNode ){ } }); MWF.xApplication.Execution.SettingExplorer.SystemConfigDocument = new Class({ Extends: MWF.xApplication.Template.Explorer.ComplexDocument, _queryCreateDocumentNode:function( itemData ){ }, _postCreateDocumentNode: function( itemNode, itemData ){ } }); MWF.xApplication.Execution.SettingExplorer.SystemConfigForm = new Class({ Extends: MPopupForm, Implements: [Options, Events], options: { "style": "default", "width": "600", "height": "290", "hasTop": true, "hasIcon": false, "hasTopIcon" : true, "hasTopContent" : true, "hasBottom": true, "title": MWF.xApplication.Execution.LP.categoryFormTitle, "draggable": true, "closeAction": true }, _createTableContent: function () { var html = "" + "" + " " + "" + " " + "" + " " + "" + " " + "
"; this.formTableArea.set("html", html); var configValueSetting = {text: this.lp.configValue }; //alert(JSON.stringify(this.data)) //alert(this.data.valueType) //if( this.data.configCode == "REPORT_WORKFLOW_TYPE" ){ // configValueSetting.type = "select"; // configValueSetting.selectValue = ["ADMIN_AND_ALLLEADER","DEPLOYER"]; //}else if( this.data.configCode == "REPORT_SUPERVISOR" ){ // configValueSetting.tType = "identity"; // configValueSetting.count = 1; //}else if( this.data.configCode == "REPORT_AUDIT_LEADER" ){ // configValueSetting.tType = "identity"; // configValueSetting.count = 0; //}else if( this.data.configCode == "COMPANY_WORK_ADMIN" ){ // configValueSetting.tType = "identity"; // configValueSetting.count = 0; //}else if( this.data.configCode == "ARCHIVEMANAGER" ){ // configValueSetting.tType = "identity"; // configValueSetting.count = 0; //}else if( this.data.configCode == "REPORT_AUDIT_LEVEL" ){ // configValueSetting.tType = "number"; //} //alert(this.data.valueType) configValueSetting.tType = this.data.valueType; if(configValueSetting.tType=="select"){ configValueSetting.type = "select"; configValueSetting.selectValue = this.data.selectContent.split("|") }else if(configValueSetting.tType=="identity"){ configValueSetting.type="org"; configValueSetting.orgType = "identity"; if(this.data.isMultiple){ configValueSetting.count = 0 } }else if(configValueSetting.tType == "workflow"){ configValueSetting.type="org"; configValueSetting.orgType = "process"; }else{ } MWF.xDesktop.requireApp("Template", "MForm", function () { this.form = new MForm(this.formTableArea, this.data, { style: "execution", isEdited: this.isEdited || this.isNew, itemTemplate: { configName: {text: this.lp.configName, type : "innerText" }, configValue : configValueSetting, orderNumber: {text: this.lp.orderNumber, type : "innerText" }, description: {text: this.lp.description, type : "innerText" } } }, this.app); this.form.load(); }.bind(this), true); }, _ok: function (data, callback) { //if(this.data.configCode == "APPRAISE_WORKFLOW_ID"){ if(this.data.valueType == "workflow"){ if(this.form.getItem("configValue").orgObject){ this.data.configValue = this.form.getItem("configValue").orgObject[0].data.id }else if(this.form.getItem("configValue").dom.orgData){ this.data.configValue = this.form.getItem("configValue").dom.orgData[0] }else{ this.data.configValue = "" } } this.app.restActions.saveConfig( data, function(json){ if( callback )callback(json); this.fireEvent("postOk") }.bind(this)); } }); MWF.xApplication.Execution.SettingExplorer.SecretarySettingExplorer = new Class({ Extends: MWF.widget.Common, Implements: [Options, Events], options: { "style": "default" }, initialize: function (container, app, parent, options) { this.container = container; this.parent = parent; this.app = app; this.css = this.parent.css; this.lp = this.app.lp; }, load: function () { this.container.empty(); this.loadToolbar(); this.loadView(); }, destroy : function(){ if(this.resizeWindowFun)this.app.removeEvent("resize",this.resizeWindowFun); this.view.destroy(); }, loadToolbar: function(){ this.toolbar = new Element("div",{ styles : this.css.toolbar }).inject(this.container); this.createActionNode = new Element("div",{ styles : this.css.toolbarActionNode, text: this.lp.createSecretary }).inject(this.toolbar); this.createActionNode.addEvent("click",function(){ var form = new MWF.xApplication.Execution.SettingExplorer.SecretarySettingForm(this, {}, { onPostOk : function(){ this.view.reload(); }.bind(this)}); form.create(); }.bind(this)); this.fileterNode = new Element("div",{ styles : this.css.fileterNode }).inject(this.toolbar); }, loadView : function(){ this.viewContainer = Element("div",{ "styles" : this.css.viewContainer }).inject(this.container); this.resizeWindow(); this.resizeWindowFun = this.resizeWindow.bind(this); this.app.addEvent("resize", this.resizeWindowFun ); this.view = new MWF.xApplication.Execution.SettingExplorer.SecretarySettingView( this.viewContainer, this.app, this, { templateUrl : this.parent.path+"listItem_secretary.json", scrollEnable : true } ); this.view.load(); }, resizeWindow: function(){ var size = this.app.content.getSize(); this.viewContainer.setStyles({"height":(size.y-121)+"px"}); } }); MWF.xApplication.Execution.SettingExplorer.SecretarySettingView = new Class({ Extends: MWF.xApplication.Template.Explorer.ComplexView, _createDocument: function(data){ return new MWF.xApplication.Execution.SettingExplorer.SecretarySettingDocument(this.viewNode, data, this.explorer, this); }, _getCurrentPageData: function(callback, count){ if (!count)count = 20; var id = (this.items.length) ? this.items[this.items.length - 1].data.id : "(0)"; var filter = this.filterData || {}; this.actions.listSecretaryNext(id, count, filter, function (json) { if (callback)callback(json); }.bind(this)) }, _removeDocument: function(documentData, all){ this.actions.deleteSecretary(documentData.id, function(json){ this.reload(); this.app.notice(this.app.lp.deleteDocumentOK, "success"); }.bind(this)); }, _create: function(){ }, _openDocument: function( documentData ){ var form = new MWF.xApplication.Execution.SettingExplorer.SecretarySettingForm(this, documentData, { onPostOk : function(){ this.reload(); }.bind(this) }); form.edit(); }, _queryCreateViewNode: function(){ }, _postCreateViewNode: function( viewNode ){ }, _queryCreateViewHead:function(){ }, _postCreateViewHead: function( headNode ){ } }); MWF.xApplication.Execution.SettingExplorer.SecretarySettingDocument = new Class({ Extends: MWF.xApplication.Template.Explorer.ComplexDocument, _queryCreateDocumentNode:function( itemData ){ }, _postCreateDocumentNode: function( itemNode, itemData ){ } }); MWF.xApplication.Execution.SettingExplorer.SecretarySettingForm = new Class({ Extends: MPopupForm, Implements: [Options, Events], options: { "style": "default", "width": "600", "height": "260", "hasTop": true, "hasIcon": false, "hasTopIcon" : true, "hasTopContent" : true, "hasBottom": true, "title": MWF.xApplication.Execution.LP.secretaryFormTitle, "draggable": true, "closeAction": true }, _createTableContent: function () { var html = "" + "" + " " + "" + " " + "" + " " + "
"; this.formTableArea.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { this.form = new MForm(this.formTableArea, this.data, { style: "execution", isEdited: this.isEdited || this.isNew, itemTemplate: { secretaryIdentity: {text: this.lp.secretaryIdentity, type:"org",orgType: "identity", notEmpty: true}, leaderIdentity: {text: this.lp.leaderIdentity, type:"org",orgType: "identity", notEmpty: true}, description: {text: this.lp.description, type: "textarea"} } }, this.app); this.form.load(); }.bind(this), true); }, _ok: function (data, callback) { this.app.restActions.saveSecretary( data, function(json){ if( callback )callback(json); this.fireEvent("postOk") }.bind(this)); } }); MWF.xApplication.Execution.SettingExplorer.CategorySettingExplorer = new Class({ Extends: MWF.widget.Common, Implements: [Options, Events], options: { "style": "default" }, initialize: function (container, app, parent, options) { this.container = container; this.parent = parent; this.app = app; this.css = this.parent.css; this.lp = this.app.lp; }, load: function () { this.container.empty(); this.loadToolbar(); this.loadView(); }, destroy : function(){ if(this.resizeWindowFun)this.app.removeEvent("resize",this.resizeWindowFun); this.view.destroy(); }, loadToolbar: function(){ this.toolbar = new Element("div",{ styles : this.css.toolbar }).inject(this.container); this.createActionNode = new Element("div",{ styles : this.css.toolbarActionNode, text: this.lp.createCategory }).inject(this.toolbar); this.createActionNode.addEvent("click",function(){ var form = new MWF.xApplication.Execution.SettingExplorer.CategorySettingForm(this, {}, { onPostOk : function(){ this.view.reload(); }.bind(this)}); form.create(); }.bind(this)); this.fileterNode = new Element("div",{ styles : this.css.fileterNode }).inject(this.toolbar); }, loadView : function(){ this.viewContainer = Element("div",{ "styles" : this.css.viewContainer }).inject(this.container); this.resizeWindow(); this.resizeWindowFun = this.resizeWindow.bind(this); this.app.addEvent("resize", this.resizeWindowFun ); this.view = new MWF.xApplication.Execution.SettingExplorer.CategorySettingView( this.viewContainer, this.app, this, { templateUrl : this.parent.path+"listItem_category.json", scrollEnable : true } ); this.view.load(); }, resizeWindow: function(){ var size = this.app.content.getSize(); this.viewContainer.setStyles({"height":(size.y-121)+"px"}); } }); MWF.xApplication.Execution.SettingExplorer.CategorySettingView = new Class({ Extends: MWF.xApplication.Template.Explorer.ComplexView, _createDocument: function(data){ return new MWF.xApplication.Execution.SettingExplorer.CategorySettingDocument(this.viewNode, data, this.explorer, this); }, _getCurrentPageData: function(callback, count){ if (!count)count = 20; //var id = (this.items.length) ? this.items[this.items.length - 1].data.id : "(0)"; //var filter = this.filterData || {}; this.actions.listCategoryAll( function (json) { if (callback)callback(json); }.bind(this)) }, _removeDocument: function(documentData, all){ this.actions.deleteCategory(documentData.id, function(json){ this.reload(); this.app.notice(this.app.lp.deleteDocumentOK, "success"); }.bind(this)); }, _create: function(){ }, _openDocument: function( documentData ){ var form = new MWF.xApplication.Execution.SettingExplorer.CategorySettingForm(this, documentData, { onPostOk : function(){ this.reload(); }.bind(this) }); form.edit(); }, _queryCreateViewNode: function(){ }, _postCreateViewNode: function( viewNode ){ }, _queryCreateViewHead:function(){ }, _postCreateViewHead: function( headNode ){ } }); MWF.xApplication.Execution.SettingExplorer.CategorySettingDocument = new Class({ Extends: MWF.xApplication.Template.Explorer.ComplexDocument, _queryCreateDocumentNode:function( itemData ){ }, _postCreateDocumentNode: function( itemNode, itemData ){ } }); MWF.xApplication.Execution.SettingExplorer.CategorySettingForm = new Class({ Extends: MPopupForm, Implements: [Options, Events], options: { "style": "default", "width": "600", "height": "260", "hasTop": true, "hasIcon": false, "hasTopIcon" : true, "hasTopContent" : true, "hasBottom": true, "title": MWF.xApplication.Execution.LP.categoryFormTitle, "draggable": true, "closeAction": true }, _createTableContent: function () { var html = "" + "" + " " + "" + " " + "" + " " + "
"; this.formTableArea.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { this.form = new MForm(this.formTableArea, this.data, { style: "execution", isEdited: this.isEdited || this.isNew, itemTemplate: { workTypeName: {text: this.lp.workTypeName, notEmpty: true}, orderNumber: {text: this.lp.orderNumber, tType : "number" }, description: {text: this.lp.description, type: "textarea"} } }, this.app); this.form.load(); }.bind(this), true); }, _ok: function (data, callback) { this.app.restActions.saveCategory( data, function(json){ if( callback )callback(json); this.fireEvent("postOk") }.bind(this)); } });