MWF.xApplication.process.FormDesigner.widget = MWF.xApplication.process.FormDesigner.widget || {}; MWF.require("MWF.widget.UUID", null, false); MWF.xApplication.process.FormDesigner.widget.ScriptIncluder = new Class({ Implements: [Options, Events], Extends: MWF.widget.Common, options: { "style": "default", "maxObj": document.body }, initialize: function(node, designer, options){ this.setOptions(options); this.node = $(node); this.designer = designer; this.path = "../x_component_process_FormDesigner/widget/$ScriptIncluder/"; this.cssPath = "../x_component_process_FormDesigner/widget/$ScriptIncluder/"+this.options.style+"/css.wcss"; this._loadCss(); this.items = []; }, load: function(data){ this.titleNode = new Element("div", {"styles": this.css.titleNode, "text": this.designer.lp.validation.validation}).inject(this.node); this.editorNode = new Element("div", {"styles": this.css.editorNode}).inject(this.node); this.actionNode = new Element("div", {"styles": this.css.actionNode}).inject(this.node); this.listNode = new Element("div", {"styles": this.css.listNode}).inject(this.node); this.loadEditorNode(); this.loadActionNode(); this.loadListNode(data); }, loadEditorNode: function(){ var html = "" + "
"; this.editorNode.set("html", html); var tds = this.editorNode.getElements("td").setStyles(this.css.editTableTdValue); }, loadActionNode: function(){ this.actionAreaNode = new Element("div", {"styles": this.css.actionAreaNode}).inject(this.actionNode); this.addAction = new Element("div", {"styles": this.css.addAction, "text": this.designer.lp.validation.add}).inject(this.actionAreaNode); this.modifyAction = new Element("div", {"styles": this.css.modifyAction_disabled, "text": this.designer.lp.validation.modify}).inject(this.actionAreaNode); this.addAction.addEvent("click", function(){ this.addValidation(); }.bind(this)); this.modifyAction.addEvent("click", function(){ this.modifyValidation(); }.bind(this)); }, getData: function(){ var status = this.getStatusValue(); var decision = this.decisionInputNode.get("value"); var valueType = this.valueTypeSelectNode.options[this.valueTypeSelectNode.selectedIndex].value; var operateor = this.operateorSelectNode.options[this.operateorSelectNode.selectedIndex].value; var value = this.valueInputNode.get("value"); var prompt = this.promptInputNode.get("value"); if (decision == this.designer.lp.validation.decisionName) decision = ""; if (value == this.designer.lp.validation.valueInput) value = ""; return { "status": status, "decision": decision, "valueType": valueType, "operateor": operateor, "value": value, "prompt": prompt }; }, addValidation: function(){ this.hideErrorNode(); var data = this.getData(); if (data.status!="all"){ if (!data.decision || data.decision==this.designer.lp.validation.decisionName){ this.showErrorNode(this.designer.lp.validation.inputDecisionName); return false; } } if (data.operateor!="isnull" && data.operateor!="notnull"){ if (!data.value || data.value==this.designer.lp.validation.valueInput){ this.showErrorNode(this.designer.lp.validation.inputValue); return false; } } if (!data.prompt){ this.showErrorNode(this.designer.lp.validation.inputPrompt); return false; } var item = new MWF.xApplication.process.FormDesigner.widget.ScriptIncluder.Item(data, this); this.items.push(item); item.selected(); this.fireEvent("change"); }, showErrorNode: function(text){ this.errorNode = new Element("div", {"styles": this.css.errorNode}).inject(this.actionNode, "before"); this.errorTextNode = new Element("div", {"styles": this.css.errorTextNode}).inject(this.errorNode); this.errorTextNode.set("text", text); this.errorNode.addEvent("click", function(){this.hideErrorNode();}.bind(this)); }, hideErrorNode: function(){ if (this.errorNode) this.errorNode.destroy(); }, getStatusValue: function(){ for (var i=0; i