123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620 |
- MWF.require("MWF.widget.Common", null, false);
- MWF.require("MWF.widget.JsonTemplate", null, false);
- MWF.xApplication.query.ViewDesigner.Property = MWF.FVProperty = new Class({
- Extends: MWF.widget.Common,
- Implements: [Options, Events],
- options: {
- "style": "default",
- "path": "../x_component_query_FormDesigner/property/property.html"
- },
- initialize: function (module, propertyNode, designer, options) {
- this.setOptions(options);
- this.module = module;
- this.view = module.view;
- this.data = module.json;
- this.data.vid = this.view.json.id;
- this.data.vtype = this.view.json.type;
- this.data.pid = this.view.json.id + this.data.id;
- this.htmlPath = this.options.path;
- if (this.module) {
- this.data.mid = this.module.json.id;
- }
- this.maplists = {};
- this.designer = designer;
- this.propertyNode = propertyNode;
- },
- load: function () {
- if (this.fireEvent("queryLoad")) {
- MWF.getRequestText(this.htmlPath, function (responseText, responseXML) {
- this.htmlString = responseText;
- this.fireEvent("postLoad");
- }.bind(this));
- }
- this.propertyNode.addEvent("keydown", function (e) {
- e.stopPropagation();
- });
- },
- editProperty: function (td) {
- },
- getHtmlString: function (callback) {
- if (!this.htmlString) {
- MWF.getRequestText(this.htmlPath, function (responseText, responseXML) {
- this.htmlString = responseText;
- if (callback) callback();
- }.bind(this));
- } else {
- if (callback) callback();
- }
- },
- show: function () {
- if (!this.propertyContent) {
- this.getHtmlString(function () {
- if (this.htmlString) {
- this.htmlString = o2.bindJson(this.htmlString, {"lp": MWF.xApplication.query.ViewDesigner.LP.propertyTemplate});
- this.JsonTemplate = new MWF.widget.JsonTemplate(this.data, this.htmlString);
- this.propertyContent = new Element("div", {"styles": {"overflow": "hidden"}}).inject(this.propertyNode);
- //var htmlStr = this.JsonTemplate.load();
- this.propertyContent.set("html", this.JsonTemplate.load());
- //this.propertyContent.injectHtml(htmlStr);
- this.setEditNodeEvent();
- this.setEditNodeStyles(this.propertyContent);
- this.loadPropertyTab();
- this.loadPersonInput();
- this.loadPersonSelectInput();
- this.loadViewFilter();
- this.loadScriptArea();
- this.loadColumnExportEditor();
- this.loadJSONArea();
- this.loadEventsEditor();
- this.loadViewStylesArea();
- this.loadPagingStylesArea();
- this.loadActionStylesArea();
- this.loadActionArea();
- this.loadStylesList();
- this.loadMaplist();
- this.loadHtmlEditorArea();
- }
- }.bind(this));
- } else {
- this.propertyContent.setStyle("display", "block");
- }
- },
- hide: function () {
- //this.JsonTemplate = null;
- //this.propertyNode.set("html", "");
- if (this.propertyContent) this.propertyContent.setStyle("display", "none");
- },
- loadJSONArea: function () {
- var jsonNode = this.propertyContent.getElement(".MWFJSONArea");
- if (jsonNode) {
- this.propertyTab.pages.each(function (page) {
- if (page.contentNode == jsonNode.parentElement) {
- page.setOptions({
- "onShow": function () {
- jsonNode.empty();
- MWF.require("MWF.widget.JsonParse", function () {
- this.json = new MWF.widget.JsonParse(this.module.json, jsonNode, null);
- this.json.load();
- }.bind(this));
- }.bind(this)
- });
- }
- }.bind(this));
- }
- },
- loadPropertyTab: function () {
- var tabNodes = this.propertyContent.getElements(".MWFTab");
- if (tabNodes.length) {
- var tmpNode = this.propertyContent.getFirst();
- var tabAreaNode = new Element("div", {
- "styles": this.view.css.propertyTabNode
- }).inject(tmpNode, "before");
- MWF.require("MWF.widget.Tab", function () {
- var tab = new MWF.widget.Tab(tabAreaNode, {"style": "formPropertyList"});
- tab.load();
- var tabPages = [];
- tabNodes.each(function (node) {
- var page = tab.addTab(node, node.get("title"), false);
- tabPages.push(page);
- this.setScrollBar(page.contentNodeArea, "small", null, null);
- }.bind(this));
- tabPages[0].showTab();
- this.propertyTab = tab;
- this.designer.resizeNode();
- }.bind(this), false);
- }
- },
- setEditNodeEvent: function () {
- var property = this;
- // var inputs = this.process.propertyListNode.getElements(".editTableInput");
- var inputs = this.propertyContent.getElements("input");
- inputs.each(function (input) {
- var jsondata = input.get("name");
- if (jsondata && jsondata.substr(0, 1) != "_") {
- if (this.module) {
- var id = this.module.json.id;
- input.set("name", id + jsondata);
- }
- if (jsondata) {
- var inputType = input.get("type").toLowerCase();
- switch (inputType) {
- case "radio":
- input.addEvent("change", function (e) {
- property.setRadioValue(jsondata, this);
- });
- input.addEvent("blur", function (e) {
- property.setRadioValue(jsondata, this);
- });
- input.addEvent("keydown", function (e) {
- e.stopPropagation();
- });
- property.setRadioValue(jsondata, input);
- break;
- case "checkbox":
- input.addEvent("change", function (e) {
- property.setCheckboxValue(jsondata, this);
- });
- input.addEvent("click", function (e) {
- property.setCheckboxValue(jsondata, this);
- });
- input.addEvent("keydown", function (e) {
- e.stopPropagation();
- });
- break;
- default:
- input.addEvent("change", function (e) {
- property.setValue(jsondata, this.value, this);
- });
- input.addEvent("blur", function (e) {
- property.setValue(jsondata, this.value, this);
- });
- input.addEvent("keydown", function (e) {
- if (e.code == 13) {
- property.setValue(jsondata, this.value, this);
- }
- e.stopPropagation();
- });
- if (input.hasClass("editTableInputDate")) {
- this.loadCalendar(input, jsondata);
- }
- }
- }
- }
- }.bind(this));
- var selects = this.propertyContent.getElements("select");
- selects.each(function (select) {
- var jsondata = select.get("name");
- if (jsondata) {
- select.addEvent("change", function (e) {
- property.setSelectValue(jsondata, this);
- });
- //property.setSelectValue(jsondata, select);
- }
- });
- var textareas = this.propertyContent.getElements("textarea");
- textareas.each(function (input) {
- var jsondata = input.get("name");
- if (jsondata) {
- input.addEvent("change", function (e) {
- property.setValue(jsondata, this.value);
- });
- input.addEvent("blur", function (e) {
- property.setValue(jsondata, this.value);
- });
- input.addEvent("keydown", function (e) {
- e.stopPropagation();
- });
- }
- }.bind(this));
- },
- loadCalendar: function (node, jsondata) {
- MWF.require("MWF.widget.Calendar", function () {
- this.calendar = new MWF.widget.Calendar(node, {
- "style": "xform",
- "isTime": false,
- "target": this.module.designer.content,
- "format": "%Y-%m-%d",
- "onClear" : function () {
- debugger;
- this.setValue(jsondata, node.value, node);
- }.bind(this),
- "onComplate": function () {
- this.setValue(jsondata, node.value, node);
- //this.validationMode();
- //this.validation();
- //this.fireEvent("complete");
- }.bind(this)
- });
- //this.calendar.show();
- }.bind(this));
- },
- changeStyle: function (name) {
- this.module.setPropertiesOrStyles(name);
- },
- changeData: function (name, input, oldValue) {
- var i = name.lastIndexOf("*");
- var n = (i != -1) ? name.substr(i + 1, name.length) : name;
- this.module._setEditStyle(n, input, oldValue);
- },
- changeJsonDate: function (key, value) {
- if (typeOf(key) != "array") key = [key];
- var o = this.data;
- var len = key.length - 1;
- key.each(function (n, i) {
- if (!o[n]) o[n] = {};
- if (i < len) o = o[n];
- }.bind(this));
- o[key[len]] = value;
- },
- setRadioValue: function (name, input) {
- if (input.checked) {
- var i = name.indexOf("*");
- var names = (i == -1) ? name.split(".") : name.substr(i + 1, name.length).split(".");
- var value = input.value;
- if (value == "false") value = false;
- if (value == "true") value = true;
- var oldValue = this.data;
- for (var idx = 0; idx < names.length; idx++) {
- if (!oldValue[names[idx]]) {
- oldValue = null;
- break;
- } else {
- oldValue = oldValue[names[idx]];
- }
- }
- //var oldValue = this.data[name];
- this.changeJsonDate(names, value);
- this.changeData(name, input, oldValue);
- }
- },
- setCheckboxValue: function (name, input) {
- var id = this.module.json.id;
- var checkboxList = $$("input[name='" + id + name + "']");
- var values = [];
- checkboxList.each(function (checkbox) {
- if (checkbox.get("checked")) {
- values.push(checkbox.value);
- }
- });
- var oldValue = this.data[name];
- //this.data[name] = values;
- this.changeJsonDate(name, values);
- this.changeData(name, input, oldValue);
- },
- setSelectValue: function (name, select) {
- var idx = select.selectedIndex;
- var options = select.getElements("option");
- var value = "";
- if (options[idx]) {
- value = options[idx].get("value");
- }
- var i = name.indexOf("*");
- var names = (i == -1) ? name.split(".") : name.substr(i + 1, name.length).split(".");
- //var oldValue = this.data[name];
- var oldValue = this.data;
- for (var idx = 0; idx < names.length; idx++) {
- if (!oldValue[names[idx]]) {
- oldValue = null;
- break;
- } else {
- oldValue = oldValue[names[idx]];
- }
- }
- //var oldValue = this.data[name];
- //this.data[name] = value;
- this.changeJsonDate(names, value);
- this.changeData(name, select, oldValue);
- },
- setValue: function (name, value, obj) {
- var names = name.split(".");
- var oldValue = this.data;
- for (var idx = 0; idx < names.length; idx++) {
- if (!oldValue[names[idx]]) {
- oldValue = null;
- break;
- } else {
- oldValue = oldValue[names[idx]];
- }
- }
- //var oldValue = this.data[name];
- //this.data[name] = value;
- this.changeJsonDate(names, value);
- this.changeData(name, obj, oldValue);
- },
- setEditNodeStyles: function (node) {
- var nodes = node.getChildren();
- if (nodes.length) {
- nodes.each(function (el) {
- var cName = el.get("class");
- if (cName) {
- if (this.view.css[cName]) el.setStyles(this.view.css[cName]);
- }
- this.setEditNodeStyles(el);
- }.bind(this));
- }
- },
- loadHtmlEditorArea: function(){
- var htmlAreas = this.propertyContent.getElements(".MWFHtmlEditorArea");
- htmlAreas.each(function(node){
- var title = node.get("title");
- var name = node.get("name");
- var scriptContent = this.data[name];
- MWF.require("MWF.widget.HtmlEditorArea", function(){
- var htmlArea = new MWF.widget.HtmlEditorArea(node, {
- "title": title,
- //"maxObj": this.propertyNode.parentElement.parentElement.parentElement,
- "maxObj": this.designer.editContentNode || this.designer.formContentNode || this.designer.pageContentNode,
- "onChange": function(){
- this.data[name] = htmlArea.getValue();
- this.changeData(name);
- htmlArea.isChanged = true;
- }.bind(this),
- // "onBlur": function(){
- // if (htmlArea.isChanged){
- // this.changeData(name, node, "");
- // htmlArea.isChanged = false;
- // }
- // }.bind(this),
- "onSave": function(){
- this.designer.saveView();
- }.bind(this)
- });
- htmlArea.load({"code": scriptContent});
- }.bind(this));
- }.bind(this));
- },
- loadScriptArea: function () {
- var scriptAreas = this.propertyContent.getElements(".MWFScriptArea");
- var formulaAreas = this.propertyContent.getElements(".MWFFormulaArea");
- this.loadScriptEditor(scriptAreas);
- this.loadScriptEditor(formulaAreas, "formula");
- },
- loadScriptEditor: function (scriptAreas, style) {
- scriptAreas.each(function (node) {
- var title = node.get("title");
- var name = node.get("name");
- var names = name.split(".");
- var scriptContent = this.data;
- Array.each(names, function (n) {
- if (scriptContent) scriptContent = scriptContent[n];
- });
- // var scriptContent = this.data[name];
- MWF.require("MWF.widget.ScriptArea", function () {
- var scriptArea = new MWF.widget.ScriptArea(node, {
- "title": title,
- //"maxObj": this.propertyNode.parentElement.parentElement.parentElement,
- "maxObj": this.designer.editContentNode,
- "type": node.dataset["type"],
- "onChange": function () {
- var scriptObj = this.data;
- Array.each(names, function (n, idx) {
- if( idx === names.length -1 )return;
- if (scriptObj) scriptObj = scriptObj[n];
- });
- scriptObj[names[names.length -1]] = scriptArea.toJson().code;
- // this.data[name] = scriptArea.toJson().code;
- }.bind(this),
- "onSave": function () {
- this.designer.saveView();
- }.bind(this),
- "style": style || "default",
- "runtime": "server"
- });
- scriptArea.load({"code": scriptContent});
- }.bind(this));
- }.bind(this));
- },
- loadStatColumnSelect: function () {
- },
- loadPersonInput: function () {
- var identityNodes = this.propertyContent.getElements(".MWFPersonIdentity");
- var personNodes = this.propertyContent.getElements(".MWFPersonPerson");
- var personUnitNodes = this.propertyContent.getElements(".MWFPersonUnit");
- MWF.xDesktop.requireApp("process.ProcessDesigner", "widget.PersonSelector", function () {
- identityNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "identity",
- "names": this.data[node.get("name")],
- "onChange": function (ids) {
- this.savePersonItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- personNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "person",
- "names": this.data[node.get("name")],
- "onChange": function (ids) {
- this.savePersonItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- personUnitNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "unit",
- "names": this.data[node.get("name")],
- "onChange": function (ids) {
- this.savePersonItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- }.bind(this));
- },
- savePersonItem: function (node, ids) {
- var values = [];
- ids.each(function (id) {
- //values.push({"name": (id.data.distinguishedName || id.data.name), "id": id.data.id});
- values.push((id.data.distinguishedName || id.data.id || id.data.name));
- }.bind(this));
- var name = node.get("name");
- key = name.split(".");
- var o = this.data;
- var len = key.length - 1;
- key.each(function (n, i) {
- if (!o[n]) o[n] = {};
- if (i < len) o = o[n];
- }.bind(this));
- o[key[len]] = values;
- //this.data.data.restrictWhereEntry[node.get("name")] = values;
- },
- loadPersonSelectInput: function () {
- var applicationNodes = this.propertyContent.getElements(".MWFSelectApplication");
- var processNodes = this.propertyContent.getElements(".MWFSelectProcess");
- // var companyNodes = this.propertyContent.getElements(".MWFSelectCompany");
- // var departmentNodes = this.propertyContent.getElements(".MWFSelectDepartment");
- var personNodes = this.propertyContent.getElements(".MWFSelectPerson");
- var identityNodes = this.propertyContent.getElements(".MWFSelectIdentity");
- var personUnitNodes = this.propertyContent.getElements(".MWFSelectUnit");
- var cmsapplicationNodes = this.propertyContent.getElements(".MWFSelectCMSApplication");
- var cmscategoryNodes = this.propertyContent.getElements(".MWFSelecCMStCategory");
- var viewStyleNodes = this.propertyContent.getElements(".MWFViewStyleSelect");
- MWF.xDesktop.requireApp("process.ProcessDesigner", "widget.PersonSelector", function () {
- applicationNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "application",
- "names": (this.data.data.where) ? this.data.data.where.applicationList : [],
- "onChange": function (ids) {
- this.savePersonSelectItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- processNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "process",
- "names": (this.data.data.where) ? this.data.data.where.processList : [],
- "onChange": function (ids) {
- this.savePersonSelectItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- personUnitNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "unit",
- "names": (this.data.data.where) ? this.data.data.where.creatorUnitList : [],
- "onChange": function (ids) {
- this.savePersonSelectItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- personNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "person",
- "names": (this.data.data.where) ? this.data.data.where.creatorPersonList : [],
- "onChange": function (ids) {
- this.savePersonSelectItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- identityNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "identity",
- "names": (this.data.data.where) ? this.data.data.where.creatorIdentityList : [],
- "onChange": function (ids) {
- this.savePersonSelectItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- cmsapplicationNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "CMSApplication",
- "names": (this.data.data.where) ? this.data.data.where.appInfoList : [],
- "onChange": function (ids) {
- this.savePersonSelectItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- cmscategoryNodes.each(function (node) {
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "CMSCategory",
- "names": (this.data.data.where) ? this.data.data.where.categoryInfoList : [],
- "onChange": function (ids) {
- this.savePersonSelectItem(node, ids);
- }.bind(this)
- });
- }.bind(this));
- var _self = this;
- viewStyleNodes.each(function(node){
- debugger;
- var nodeName = node.get("name").split(".").getLast();
- var data = this.data.data[nodeName];
- if( typeOf( data ) === "string" ){
- for( var key in this.module.view.stylesList ){
- var s = this.module.view.stylesList[key];
- if( ((!data && key==="default") || (data===key)) ){
- data = {
- name : s.name,
- id : key
- };
- break;
- }
- }
- }
- new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(node, this.view.designer, {
- "type": "FormStyle",
- "count": 1,
- "names": [data],
- "selectorOptions" : {
- "appType": "service",
- "stylesUrl": "../x_component_query_ViewDesigner/$View/skin/config.json",
- "mode" : "pc" //( this.form.options.mode || "" ).toLowerCase() === "mobile" ? "mobile" : "pc"
- },
- "validFun" : function (ids) {
- var flag = true;
- if( ids.length === 0 ){
- this.designer.notice(MWF.xApplication.query.ViewDesigner.LP.mustSelectFormStyle, "error");
- flag = false;
- }else if( ids[0].data.type === "script" ){
- o2.Actions.load('x_program_center').ScriptAction.flag( ids[0].data.alias || ids[0].data.name, {}, function( json ) {
- try{
- var f = eval("(function(){\n return "+json.data.text+"\n})");
- var j = f();
- if( typeOf(j) !== "object" ){
- this.designer.notice( MWF.xApplication.query.ViewDesigner.LP.notValidJson, "error" );
- flag = false;
- }
- }catch (e) {
- this.designer.notice( MWF.xApplication.query.ViewDesigner.LP.notValidJson +":"+ e.message, "error" );
- flag = false;
- }
- }.bind(this), function () {
- flag = false;
- }, false);
- }
- return flag;
- }.bind(this),
- "onChange": function(ids){
- var d = ids[0].data;
- var data;
- if( d.type === "script" ){
- data = {
- "appType": d.appType,
- "type" : "script",
- "name": d.name,
- "alias": d.alias,
- "id": d.id,
- "appName" : d.appName || d.applicationName,
- "appId": d.appId,
- "application": d.application
- };
- }else{
- data = d.id;
- }
- var oldValue = this.data.data[nodeName];
- this.data.data[nodeName] = data;
- this.changeData(node.get('name'), node, oldValue);
- }.bind(this)
- });
- var next = node.getNext();
- if( next && next.get("class") === "MWFScriptSelectRefresh" ){
- var refreshNode = new Element("div", {"styles": this.view.css.propertyRefreshFormNode}).inject(next);
- refreshNode.addEvent("click", function(e){
- _self.changeData(this.get('name'), this );
- }.bind(node));
- }
- }.bind(this));
- }.bind(this));
- },
- savePersonSelectItem: function (node, ids) {
- //this.initWhereEntryData();
- var values = [];
- ids.each(function (id) {
- values.push({"name": (id.data.distinguishedName || id.data.name), "id": id.data.id});
- //values.push((id.data.distinguishedName || id.data.id || id.data.name));
- }.bind(this));
- var name = node.get("name");
- key = name.split(".");
- var o = this.data;
- var len = key.length - 1;
- key.each(function (n, i) {
- if (!o[n]) o[n] = {};
- if (i < len) o = o[n];
- }.bind(this));
- o[key[len]] = values;
- //this.data.data.restrictWhereEntry[node.get("name")] = values;
- },
- //loadWorkDataEditor: function(){
- // var workDataNodes = this.propertyContent.getElements(".MWFWorkData");
- // workDataNodes.each(function(node){
- // var select = node.getElement("select");
- // for (var i=0; i<select.options.length; i++){
- // if (select.options[i].value==this.data.name){
- // select.options[i].set("selected", true);
- // break;
- // }
- // }
- // if (!this.data.type) this.data.type = "text";
- // select.addEvent("change", function(e){
- // delete this.data.path;
- // this.data.name = select.options[select.selectedIndex].value;
- // this.module.listNode.getLast().set("text", this.data.text+"("+this.data.name+")");
- // this.setDataType();
- // }.bind(this));
- //
- // this.setDataType();
- // }.bind(this));
- // var nodes = this.propertyContent.getElements(".MWFWorkDataCheck");
- // nodes.each(function(node){
- // if (this.data.name) node.set("checked", true);
- // }.bind(this));
- //},
- //setDataType: function(){
- // switch (this.data.name){
- // case "startTime":case "completedTime":
- // this.data.type ="date";
- // break;
- // case "completed":
- // this.data.type ="boolean";
- // break;
- // default:
- // this.data.type ="text";
- // }
- //},
- //loadDataDataEditor: function(){
- // var nodes = this.propertyContent.getElements(".MWFDataData");
- // nodes.each(function(node){
- // var input = node.getElement("input");
- // input.set("value", this.data.path);
- // input.addEvent("change", function(e){
- // delete this.data.name;
- // this.data.path = input.get("value");
- // this.module.listNode.getLast().set("text", this.data.text+"("+this.data.path+")");
- // }.bind(this));
- // input.addEvent("blur", function(e){
- // delete this.data.name;
- // this.data.path = input.get("value");
- // this.module.listNode.getLast().set("text", this.data.text+"("+this.data.path+")");
- // }.bind(this));
- // input.addEvent("keydown", function(e){
- // if (e.code==13){
- // delete this.data.name;
- // this.data.path = input.get("value");
- // this.module.listNode.getLast().set("text", this.data.text+"("+this.data.path+")");
- // }
- // e.stopPropagation();
- // }.bind(this));
- //
- // var select = node.getElement("select");
- // for (var i=0; i<select.options.length; i++){
- // if (select.options[i].value==this.data.type){
- // select.options[i].set("selected", true);
- // break;
- // }
- // }
- // if (!this.data.type) this.data.type = "text";
- // select.addEvent("change", function(e){
- // this.data.type = select.options[select.selectedIndex].value;
- // }.bind(this));
- //
- // }.bind(this));
- // var nodes = this.propertyContent.getElements(".MWFDataDataCheck");
- // nodes.each(function(node){
- // if (this.data.path) node.set("checked", true);
- // }.bind(this));
- //},
- loadColumnExportEditor: function () {
- var _self = this;
- var nodes = this.propertyContent.getElements(".MWFColumnExport");
- nodes.each(function (node) {
- //if (!this.data.export) this.data.export = {};
- //var sort = this.data.export.sort || "";
- //var sortOrder = this.data.export.sortOrder || "1";
- var select = node.getElement("select");
- var sortList = this.view.data.data.orderList;
- sortList.each(function (order) {
- if (order.column == this.data.column) {
- if (order.orderType == "asc") select.options[1].set("selected", true);
- if (order.orderType == "desc") select.options[1].set("selected", false);
- }
- }.bind(this));
- select.addEvent("change", function (e) {
- debugger;
- var sortList = this.view.data.data.orderList;
- var v = select.options[select.selectedIndex].value;
- if (v != "none") {
- var flag = false;
- sortList.each(function (order) {
- if (order.column == this.data.column) {
- flag = true;
- order.orderType = select.options[select.selectedIndex].value;
- }
- }.bind(this));
- if (!flag) sortList.push({
- "column": this.data.column,
- "orderType": select.options[select.selectedIndex].value
- });
- var oldOrderList = Array.clone(this.view.data.data.orderList);
- this.view.data.data.orderList = [];
- this.view.json.data.selectList.each(function (sel) {
- oldOrderList.each(function (order) {
- if (order.column == sel.column) {
- this.view.data.data.orderList.push(order);
- }
- }.bind(this));
- }.bind(this));
- } else {
- var sortList = this.view.data.data.orderList;
- var deleteItem = null;
- sortList.each(function (order) {
- if (order.column == this.data.column) {
- deleteItem = order;
- }
- }.bind(this));
- if (deleteItem) sortList.erase(deleteItem);
- }
- }.bind(this));
- var radios = node.getElements("input[name='" + this.module.json.id + "groupEntry']");
- var group = this.view.data.data.group;
- if (group.column == this.data.column) radios[0].set("checked", true);
- radios.addEvent("click", function (e) {
- if (this.checked) {
- if (this.value == "true") {
- _self.view.data.data.group.column = _self.data.column;
- _self.view.items.each(function (col) {
- if (col.property) {
- var groupRadios = col.property.propertyContent.getElement(".MWFColumnExportGroup").getElements("input");
- groupRadios.each(function (r) {
- if (r.value == "true") r.set("checked", false);
- if (r.value == "false") r.set("checked", true);
- });
- }
- });
- (_self.view.data.data.selectList).each(function (s) {
- if (s.column !== _self.data.column) s.groupEntry = false;
- });
- this.set("checked", true);
- } else {
- if (group.column == _self.data.column) _self.view.data.data.group = {};
- }
- }
- });
- }.bind(this));
- },
- loadViewFilter: function () {
- var nodes = this.propertyContent.getElements(".MWFViewFilter");
- var filtrData = this.view.data.data.filterList;
- var customData = this.view.data.data.customFilterList;
- nodes.each(function (node) {
- MWF.xDesktop.requireApp("query.ViewDesigner", "widget.ViewFilter", function () {
- var _slef = this;
- new MWF.xApplication.query.ViewDesigner.widget.ViewFilter(node, this.view.designer, {
- "filtrData": filtrData,
- "customData": customData
- }, {
- "onChange": function (ids) {
- var data = this.getData();
- _slef.changeJsonDate(["data", "filterList"], data.data);
- _slef.changeJsonDate(["data", "customFilterList"], data.customData);
- }
- });
- }.bind(this));
- }.bind(this));
- },
- loadColumnFilter: function () {
- var nodes = this.propertyContent.getElements(".MWFColumnFilter");
- nodes.each(function (node) {
- this.module.filterAreaNode = node;
- var table = new Element("table", {
- "styles": {"width": "100%"},
- "border": "0px",
- "cellPadding": "0",
- "cellSpacing": "0"
- }).inject(node);
- var tr = new Element("tr", {"styles": this.module.css.filterTableTitle}).inject(table);
- var lp = MWF.APPDVD.LP.filter;
- var html = "<th style='width:24px;border-right:1px solid #CCC;border-bottom:1px solid #999;'></th>" +
- "<th style='border-right:1px solid #CCC;border-left:1px solid #FFF;border-bottom:1px solid #999;'>"+lp.logic+"</th>" +
- "<th style='border-right:1px solid #CCC;border-left:1px solid #FFF;border-bottom:1px solid #999;'>"+lp.path+"</th>" +
- "<th style='border-right:1px solid #CCC;border-left:1px solid #FFF;border-bottom:1px solid #999;'>"+lp.compare+"</th>" +
- "<th style='border-left:1px solid #FFF;border-bottom:1px solid #999;'>"+lp.value+"</th>";
- tr.set("html", html);
- var addActionNode = new Element("div", {"styles": this.module.css.filterAddActionNode}).inject(tr.getFirst("th"));
- addActionNode.addEvent("click", function () {
- this.addFilter(table);
- }.bind(this));
- if (this.data.filterList) {
- this.data.filterList.each(function (op) {
- new MWF.xApplication.query.ViewDesigner.Property.Filter(op, table, this);
- }.bind(this));
- }
- }.bind(this));
- },
- addFilter: function (table) {
- op = {
- "logic": "and",
- "comparison": "",
- "value": ""
- }
- if (!this.data.filterList) this.data.filterList = [];
- this.data.filterList.push(op);
- var filter = new MWF.xApplication.query.ViewDesigner.Property.Filter(op, table, this);
- filter.editMode();
- },
- loadViewStylesArea: function () {
- var _self = this;
- var viewAreas = this.propertyContent.getElements(".MWFViewStylesArea");
- viewAreas.each(function (node) {
- var name = node.get("name");
- var d = this.data;
- Array.each(name.split("."), function (n) {
- if (d) d = d[n];
- });
- var viewStyles = d || {};
- MWF.require("MWF.widget.Maplist", function () {
- var maps = [];
- Object.each(viewStyles, function (v, k) {
- var mapNode = new Element("div").inject(node);
- mapNode.empty();
- var maplist = new MWF.widget.Maplist(mapNode, {
- "title": k,
- "collapse": true,
- "onChange": function () {
- // var oldData = _self.data[name];
- var oldData = this.data;
- Array.each(name.split("."), function (n) {
- if (oldData) oldData = oldData[n];
- });
- maps.each(function (o) {
- d[o.key] = o.map.toJson();
- }.bind(this));
- _self.changeData(name, node, oldData);
- }
- });
- maps.push({"key": k, "map": maplist});
- maplist.load(v);
- }.bind(this));
- }.bind(this));
- }.bind(this));
- },
- loadMaplist: function(){
- var maplists = this.propertyContent.getElements(".MWFMaplist");
- debugger;
- maplists.each(function(node){
- var title = node.get("title");
- var name = node.get("name");
- var lName = name.toLowerCase();
- var collapse = node.get("collapse");
- var mapObj = this.data[name];
- if (!mapObj) mapObj = {};
- MWF.require("MWF.widget.Maplist", function(){
- node.empty();
- var maplist = new MWF.widget.Maplist(node, {
- "title": title,
- "collapse": (collapse) ? true : false,
- "onChange": function(){
- //this.data[name] = maplist.toJson();
- //
- var oldData = this.data[name];
- this.changeJsonDate(name, maplist.toJson());
- this.changeStyle(name, oldData);
- this.changeData(name);
- }.bind(this),
- "onDelete": function(key){
- debugger;
- this.module.deletePropertiesOrStyles(name, key);
- }.bind(this),
- "isProperty": (lName.contains("properties") || lName.contains("property") || lName.contains("attribute"))
- });
- maplist.load(mapObj);
- this.maplists[name] = maplist;
- }.bind(this));
- }.bind(this));
- },
- loadActionStylesArea: function () {
- var _self = this;
- var actionAreas = this.propertyContent.getElements(".MWFActionStylesArea");
- actionAreas.each(function (node) {
- var name = node.get("name");
- var actionStyles = this.data[name];
- MWF.require("MWF.widget.Maplist", function () {
- var maps = [];
- Object.each(actionStyles, function (v, k) {
- var mapNode = new Element("div").inject(node);
- mapNode.empty();
- var maplist = new MWF.widget.Maplist(mapNode, {
- "title": k,
- "collapse": true,
- "onChange": function () {
- var oldData = _self.data[name];
- maps.each(function (o) {
- _self.data[name][o.key] = o.map.toJson();
- }.bind(this));
- _self.changeData(name, node, oldData);
- }
- });
- maps.push({"key": k, "map": maplist});
- maplist.load(v);
- }.bind(this));
- }.bind(this));
- }.bind(this));
- },
- loadPagingStylesArea: function () {
- var _self = this;
- var pagingAreas = this.propertyContent.getElements(".MWFPagingStylesArea");
- pagingAreas.each(function (node) {
- var name = node.get("name");
- var pagingStyles = this.data[name];
- MWF.require("MWF.widget.Maplist", function () {
- var maps = [];
- Object.each(pagingStyles, function (v, k) {
- var mapNode = new Element("div").inject(node);
- mapNode.empty();
- var maplist = new MWF.widget.Maplist(mapNode, {
- "title": k,
- "collapse": true,
- "onChange": function () {
- var oldData = _self.data[name];
- maps.each(function (o) {
- _self.data[name][o.key] = o.map.toJson();
- }.bind(this));
- _self.changeData(name, node, oldData);
- }
- });
- maps.push({"key": k, "map": maplist});
- maplist.load(v);
- }.bind(this));
- }.bind(this));
- }.bind(this));
- },
- loadEventsEditor: function () {
- MWF.xApplication.process = MWF.xApplication.process || {};
- MWF.APPFD = MWF.xApplication.process.FormDesigner = MWF.xApplication.process.FormDesigner || {};
- MWF.xDesktop.requireApp("process.FormDesigner", "lp." + o2.language, null, false);
- var events = this.propertyContent.getElement(".MWFEventsArea");
- if (events) {
- var name = events.get("name");
- var eventsObj = this.data;
- Array.each(name.split("."), function (n) {
- if (eventsObj) eventsObj = eventsObj[n];
- })
- MWF.xDesktop.requireApp("process.FormDesigner", "widget.EventsEditor", function () {
- var eventsEditor = new MWF.xApplication.process.FormDesigner.widget.EventsEditor(events, this.designer, {
- //"maxObj": this.propertyNode.parentElement.parentElement.parentElement,
- "maxObj": this.designer.editContentNode || this.designer.contentNode
- });
- eventsEditor.load(eventsObj, this.data, name);
- }.bind(this));
- }
- },
- loadActionArea: function () {
- debugger;
- MWF.xApplication.process = MWF.xApplication.process || {};
- MWF.APPFD = MWF.xApplication.process.FormDesigner = MWF.xApplication.process.FormDesigner || {};
- MWF.xDesktop.requireApp("process.FormDesigner", "lp." + o2.language, null, false);
- var multiActionArea = this.propertyContent.getElements(".MWFMultiActionArea");
- multiActionArea.each(function(node){
- var name = node.get("name");
- var actionContent = this.data[name];
- MWF.xDesktop.requireApp("process.FormDesigner", "widget.ActionsEditor", function(){
- var actionEditor = new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(node, this.designer, this.data, {
- "maxObj": this.designer.editContentNode || this.propertyNode.parentElement.parentElement.parentElement,
- "scriptMaxObj": this.designer.editContentNode,
- "systemToolsAddress": "../x_component_query_ViewDesigner/$View/toolbars.json",
- "isSystemTool" : true,
- "noEditShow": true,
- "noReadShow": true,
- "onChange": function(){
- this.data[name] = actionEditor.data;
- this.changeData(name);
- }.bind(this)
- });
- actionEditor.load(actionContent);
- }.bind(this));
- }.bind(this));
- var actionAreas = this.propertyContent.getElements(".MWFActionArea");
- actionAreas.each(function (node) {
- var name = node.get("name");
- var actionContent = this.data[name];
- MWF.xDesktop.requireApp("process.FormDesigner", "widget.ActionsEditor", function () {
- // debugger;
- // var actionEditor = new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(node, this.designer, {
- // "maxObj": this.propertyNode.parentElement.parentElement.parentElement,
- // "noCreate": true,
- // "noDelete": true,
- // "noCode": true,
- // "onChange": function(){
- // this.data[name] = actionEditor.data;
- // }.bind(this)
- // });
- // actionEditor.load(this.module.defaultToolBarsData);
- var actionEditor = new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(node, this.designer, this.data, {
- "maxObj": this.designer.editContentNode || this.propertyNode.parentElement.parentElement,
- "scriptMaxObj": this.designer.editContentNode,
- "noEditShow": true,
- "noReadShow": true,
- "onChange": function () {
- this.data[name] = actionEditor.data;
- this.changeData(name);
- }.bind(this)
- });
- actionEditor.load(actionContent);
- }.bind(this));
- }.bind(this));
- var actionAreas = this.propertyContent.getElements(".MWFDefaultActionArea");
- actionAreas.each(function (node) {
- var name = node.get("name");
- var actionContent = this.data[name] || this.module.defaultToolBarsData;
- MWF.xDesktop.requireApp("process.FormDesigner", "widget.ActionsEditor", function () {
- var actionEditor = new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(node, this.designer, this.data, {
- "maxObj": this.designer.editContentNode || this.propertyNode.parentElement.parentElement,
- "scriptMaxObj": this.designer.editContentNode,
- "isSystemTool": true,
- "systemToolsAddress": "../x_component_query_ViewDesigner/$View/toolbars.json",
- "noCreate": true,
- "noDelete": false,
- "noCode": true,
- "noReadShow": true,
- "noEditShow": true,
- "onChange": function () {
- this.data[name] = actionEditor.data;
- this.changeData(name);
- }.bind(this)
- });
- actionEditor.load(actionContent);
- // var actionEditor = new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(node, this.designer, {
- // "maxObj": this.propertyNode.parentElement.parentElement.parentElement,
- // "onChange": function(){
- // this.data[name] = actionEditor.data;
- // }.bind(this)
- // });
- // actionEditor.load(actionContent);
- }.bind(this));
- }.bind(this));
- },
- loadStylesList: function () {
- var styleSelNodes = this.propertyContent.getElements(".MWFViewStyle");
- styleSelNodes.each(function (node) {
- debugger;
- if (this.module.stylesList) {
- if (!this.data.data.viewStyleType) this.data.data.viewStyleType = "default";
- // var mode = ( this.form.options.mode || "" ).toLowerCase() === "mobile" ? "mobile" : "pc";
- Object.each(this.module.stylesList, function (s, key) {
- // if( s.mode.contains( mode ) ){
- new Element("option", {
- "text": s.name,
- "value": key,
- "selected": ((!this.data.data.viewStyleType && key == "default") || (this.data.data.viewStyleType == key))
- }).inject(node)
- // }
- }.bind(this));
- } else {
- node.getParent("tr").setStyle("display", "none");
- }
- }.bind(this));
- }
- //initWhereEntryData: function(){
- // if (!this.data.data.restrictWhereEntry) this.data.data.restrictWhereEntry = {
- // "applicationList": [],
- // "processList": [],
- // "companyList": [],
- // "departmentList": [],
- // "personList": [],
- // "identityList": []
- // };
- //},
- //loadApplicationSelector: function(){
- // var nodes = this.propertyContent.getElements(".MWFApplicationSelect");
- // if (nodes.length){
- // MWF.xDesktop.requireApp("Organization", "Selector.package", function(){
- // nodes.each(function(node){
- // var title = new Element("div", {"styles": this.view.css.applicationSelectTitle, "text": node.get("title")}).inject(node);
- // var content = new Element("div", {"styles": this.view.css.applicationSelectContent}).inject(node);
- // var action = new Element("div", {"styles": this.view.css.applicationSelectAction, "text": node.get("title")}).inject(node);
- // action.addEvent("click", function(e){
- // var values = [];
- // if (this.data.data.whereEntry){
- // if (this.data.data.whereEntry.applicationList.length){
- // this.data.data.whereEntry.applicationList.each(function(item){
- // values.push(item.id);
- // }.bind(this));
- // }
- // }
- // var options = {
- // "type": "application",
- // "count": 0,
- // "values": values,
- // //"title": this.app.lp.monthly.selectSortApplication,
- // "onComplete": function(items){
- // this.initWhereEntryData();
- // this.data.data.whereEntry.applicationList = [];
- // content.empty();
- // items.each(function(item){
- // this.data.data.whereEntry.applicationList.push({
- // "id": item.data.id,
- // "name": item.data.name
- // });
- // new Element("div", {
- // "styles": this.view.css.applicationSelectItem,
- // "text": item.data.name
- // }).inject(content);
- // }.bind(this));
- // }.bind(this)
- // };
- // var selector = new MWF.OrgSelector(this.view.designer.content, options);
- // }.bind(this));
- //
- // this.initWhereEntryData();
- // this.data.data.whereEntry.applicationList.each(function(app){
- // new Element("div", {
- // "styles": this.view.css.applicationSelectItem,
- // "text": app.name
- // }).inject(content);
- // }.bind(this));
- // }.bind(this));
- // }.bind(this));
- // }
- //},
- //loadApplicationSelector1: function(){
- // var nodes = this.propertyContent.getElements(".MWFApplicationSelect");
- // if (nodes.length){
- // this._getAppSelector(function(){
- // nodes.each(function(node){
- // var title = new Element("div", {"styles": this.view.css.applicationSelectTitle, "text": node.get("title")}).inject(node);
- // var content = new Element("div", {"styles": this.view.css.applicationSelectContent}).inject(node);
- // var action = new Element("div", {"styles": this.view.css.applicationSelectAction, "text": node.get("title")}).inject(node);
- // action.addEvent("click", function(e){
- // this.appSelector.load(function(apps){
- // if (!this.data.data.select) this.data.data.select = {"applicationRestrictList": [], "processRestrictList": []};
- // this.data.data.select.applicationRestrictList = [];
- // content.empty();
- // if (apps.length){
- // apps.each(function(app){
- // var o = {
- // "name": app.name,
- // "id": app.id,
- // "alias": app.alias
- // }
- // this.data.data.select.applicationRestrictList.push(o);
- //
- // new Element("div", {
- // "styles": this.view.css.applicationSelectItem,
- // "text": app.name
- // }).inject(content);
- //
- // }.bind(this));
- // }
- // }.bind(this));
- // }.bind(this));
- // if (!this.data.data.select) this.data.data.select = {"applicationRestrictList": [], "processRestrictList": []};
- // this.data.data.select.applicationRestrictList.each(function(app){
- // new Element("div", {
- // "styles": this.view.css.applicationSelectItem,
- // "text": app.name
- // }).inject(content);
- // }.bind(this));
- //
- // }.bind(this));
- // }.bind(this));
- // }
- //},
- //
- //_getAppSelector: function(callback){
- // if (!this.appSelector){
- // MWF.xDesktop.requireApp("process.ProcessManager", "widget.ApplicationSelector", function(){
- // this.appSelector = new MWF.xApplication.process.ProcessManager.widget.ApplicationSelector(this.view.designer, {"maskNode": this.view.designer.content});
- // if (callback) callback();
- // }.bind(this));
- // }else{
- // if (callback) callback();
- // }
- //},
- //this.initWhereEntryData();
- //loadProcessSelector: function(){
- // var nodes = this.propertyContent.getElements(".MWFApplicationSelect");
- // if (nodes.length){
- // MWF.xDesktop.requireApp("Organization", "Selector.package", function(){
- // nodes.each(function(node){
- // var title = new Element("div", {"styles": this.view.css.applicationSelectTitle, "text": node.get("title")}).inject(node);
- // var content = new Element("div", {"styles": this.view.css.applicationSelectContent}).inject(node);
- // var action = new Element("div", {"styles": this.view.css.applicationSelectAction, "text": node.get("title")}).inject(node);
- // action.addEvent("click", function(e){
- // var values = [];
- // if (this.data.data.whereEntry){
- // if (this.data.data.whereEntry.processList.length){
- // this.data.data.whereEntry.processList.each(function(item){
- // values.push(item.id);
- // }.bind(this));
- // }
- // }
- // var options = {
- // "type": "process",
- // "count": 0,
- // "values": values,
- // "onComplete": function(items){
- // this.initWhereEntryData();
- // this.data.data.whereEntry.processList = [];
- // content.empty();
- // items.each(function(item){
- // this.data.data.whereEntry.processList.push({
- // "id": item.data.id,
- // "name": item.data.name
- // });
- // new Element("div", {
- // "styles": this.view.css.applicationSelectItem,
- // "text": item.data.name
- // }).inject(content);
- // }.bind(this));
- // }.bind(this)
- // };
- // var selector = new MWF.OrgSelector(this.view.designer.content, options);
- // }.bind(this));
- //
- // this.initWhereEntryData();
- // this.data.data.whereEntry.processList.each(function(app){
- // new Element("div", {
- // "styles": this.view.css.applicationSelectItem,
- // "text": app.name
- // }).inject(content);
- // }.bind(this));
- // }.bind(this));
- // }.bind(this));
- // }
- //}
- //loadProcessSelector1: function(){
- // var nodes = this.propertyContent.getElements(".MWFProcessSelect");
- // if (nodes.length){
- // this._getProcessSelector(function(){
- // nodes.each(function(node){
- // var title = new Element("div", {"styles": this.view.css.applicationSelectTitle, "text": node.get("title")}).inject(node);
- // var content = new Element("div", {"styles": this.view.css.applicationSelectContent}).inject(node);
- // var action = new Element("div", {"styles": this.view.css.applicationSelectAction, "text": node.get("title")}).inject(node);
- // action.addEvent("click", function(e){
- // var ids=[];
- // this.data.data.select.applicationRestrictList.each(function(app){
- // ids.push(app.id);
- // });
- // this.processSelector.load(ids, function(apps){
- // if (!this.data.data.select) this.data.data.select = {"applicationRestrictList": [], "processRestrictList": []};
- // this.data.data.select.processRestrictList = [];
- // content.empty();
- // if (apps.length){
- // apps.each(function(app){
- // var o = {
- // "name": app.name,
- // "id": app.id,
- // "alias": app.alias
- // }
- // this.data.data.select.processRestrictList.push(o);
- //
- // new Element("div", {
- // "styles": this.view.css.applicationSelectItem,
- // "text": app.name
- // }).inject(content);
- //
- // }.bind(this));
- // }
- // }.bind(this));
- // }.bind(this));
- // if (!this.data.data.select) this.data.data.select = {"applicationRestrictList": [], "processRestrictList": []};
- // this.data.data.select.processRestrictList.each(function(app){
- // new Element("div", {
- // "styles": this.view.css.applicationSelectItem,
- // "text": app.name
- // }).inject(content);
- // }.bind(this));
- //
- // }.bind(this));
- // }.bind(this));
- // }
- //},
- //_getProcessSelector: function(callback){
- // if (!this.processSelector){
- // MWF.xDesktop.requireApp("process.ProcessManager", "widget.ProcessSelector", function(){
- // this.processSelector = new MWF.xApplication.process.ProcessManager.widget.ProcessSelector(this.view.designer, {"maskNode": this.view.designer.content});
- // if (callback) callback();
- // }.bind(this));
- // }else{
- // if (callback) callback();
- // }
- //}
- });
- MWF.xApplication.query.ViewDesigner.Property.Filter = new Class({
- Implements: [Events],
- initialize: function (json, table, property) {
- this.property = property;
- this.module = property.module;
- this.table = table;
- this.data = json;
- this.load();
- },
- load: function () {
- var lp = MWF.APPDVD.LP.filter;
- this.node = new Element("tr", {"styles": this.module.css.filterTableTd}).inject(this.table);
- var html = "<td style='widtd:24px;border-right:1px solid #CCC;border-bottom:1px solid #999;'></td>" +
- "<td style='padding:3px;border-right:1px solid #CCC;border-bottom:1px solid #999; width:60px'>" + this.data.logic + "</td>" +
- "<td style='padding:3px;border-right:1px solid #CCC;border-bottom:1px solid #999; width:30px'>"+lp.columnValue+"</td>" +
- "<td style='padding:3px;border-right:1px solid #CCC;border-bottom:1px solid #999;'>" + this.data.comparison + "</td>" +
- "<td style='padding:3px;border-bottom:1px solid #999;'>" + this.data.value + "</td>";
- this.node.set("html", html);
- var tds = this.node.getElements("td");
- this.delActionNode = new Element("div", {"styles": this.module.css.filterDelActionNode}).inject(tds[0]);
- this.delActionNode.addEvent("click", function (e) {
- this.delFilter(e);
- e.stopPropagation();
- }.bind(this));
- this.logicNode = tds[1];
- this.comparisonNode = tds[3];
- this.valueNode = tds[4];
- this.node.addEvent("click", function () {
- if (!this.isEditMode) this.editMode();
- }.bind(this));
- this.node.addEvent("blur", function () {
- if (this.isEditMode) this.readMode();
- }.bind(this));
- },
- delFilter: function (e) {
- var _self = this;
- this.property.designer.confirm("warn", e, MWF.APPDVD.LP.notice.deleteFilterTitle, MWF.APPDVD.LP.notice.deleteFilter, 300, 120, function () {
- _self.node.destroy();
- _self.property.data.filterList.erase(_self.data);
- MWF.release(_self);
- this.close();
- }, function () {
- this.close();
- }, null);
- },
- editMode: function () {
- if (this.property.editModeFilter) {
- if (this.property.editModeFilter != this) this.property.editModeFilter.readMode();
- }
- var width = this.logicNode.getSize().x - 9;
- this.logicNode.empty();
- var logicSelect = new Element("select", {"styles": {"width": "90%"}}).inject(this.logicNode);
- var html = "";
- if (this.data.logic == "and") {
- html = "<option value=\"and\" selected>and</option><option value=\"or\">or</option>";
- } else {
- html = "<option value=\"and\">and</option><option value=\"or\" selected>or</option>";
- }
- logicSelect.set("html", html);
- logicSelect.addEvent("change", function () {
- this.data.logic = logicSelect.options[logicSelect.selectedIndex].value;
- }.bind(this));
- width = this.comparisonNode.getSize().x - 9;
- this.comparisonNode.empty();
- var comparisonSelect = new Element("select", {"styles": {"width": "90%"}}).inject(this.comparisonNode);
- var lp = MWF.APPDVD.LP.filter;
- html = "";
- switch (this.property.data.type) {
- case "text":
- html += "<option value=''></option><option value='==' " + ((this.data.comparison == "==") ? "selected" : "") + ">"+lp.equals+"(==)</option>" +
- "<option value='!=' " + ((this.data.comparison == "!=") ? "selected" : "") + ">"+lp.notEquals+"(!=)</option>" +
- "<option value='@' " + ((this.data.comparison == "@") ? "selected" : "") + ">"+lp.contain+"(@)</option>";
- break;
- case "date":
- html += "<option value=''></option><option value='>' " + ((this.data.comparison == ">") ? "selected" : "") + ">"+lp.greaterThan+"(>)</option>" +
- "<option value='<' " + ((this.data.comparison == "<") ? "selected" : "") + ">"+lp.lessThan+"(<)</option>" +
- "<option value='>=' " + ((this.data.comparison == ">=") ? "selected" : "") + ">"+lp.greaterThanOrEqualTo+"(>=)</option>" +
- "<option value='<=' " + ((this.data.comparison == "<=") ? "selected" : "") + ">"+lp.lessThanOrEqualTo+"(<=)</option>";
- break;
- case "number":
- html += "<option value=''></option><option value='==' " + ((this.data.comparison == "==") ? "selected" : "") + ">"+lp.equals+"(==)</option>" +
- "<option value='!=' " + ((this.data.comparison == "!=") ? "selected" : "") + ">"+lp.notEquals+"(!=)</option>" +
- "<option value='>' " + ((this.data.comparison == ">") ? "selected" : "") + ">"+lp.greaterThan+"(>)</option>" +
- "<option value='<' " + ((this.data.comparison == "<") ? "selected" : "") + ">"+lp.lessThan+"(<)</option>" +
- "<option value='>=' " + ((this.data.comparison == ">=") ? "selected" : "") + ">"+lp.greaterThanOrEqualTo+"(>=)</option>" +
- "<option value='<=' " + ((this.data.comparison == "<=") ? "selected" : "") + ">"+lp.lessThanOrEqualTo+"(<=)</option>";
- break;
- case "boolean":
- html += "<option value=''></option><option value='==' " + ((this.data.comparison == "==") ? "selected" : "") + ">"+lp.equals+"(==)</option>" +
- "<option value='!=' " + ((this.data.comparison == "!=") ? "selected" : "") + ">"+lp.notEquals+"(!=)</option>";
- break;
- }
- comparisonSelect.set("html", html);
- comparisonSelect.addEvent("change", function () {
- this.data.comparison = comparisonSelect.options[comparisonSelect.selectedIndex].value;
- }.bind(this));
- width = this.valueNode.getSize().x - 9;
- this.valueNode.empty();
- var type = "text";
- switch (this.property.data.type) {
- case "date":
- var valueInput = new Element("input", {
- "styles": {"width": "90%"},
- "type": "text",
- "value": this.data.value
- }).inject(this.valueNode);
- MWF.require("MWF.widget.Calendar", function () {
- this.calendar = new MWF.widget.Calendar(valueInput, {
- "style": "xform",
- "isTime": true,
- "secondEnable": true,
- "target": this.property.designer.content,
- "format": "%Y-%m-%d %H:%M:%S"
- });
- //this.calendar.show();
- }.bind(this));
- break;
- case "number":
- var valueInput = new Element("input", {
- "styles": {"width": "90%"},
- "type": "number",
- "value": this.data.value
- }).inject(this.valueNode);
- break;
- case "boolean":
- var valueInput = new Element("select", {
- "styles": {"width": "" + width + "px"},
- "html": "<option value=\"\"></option><option value=\"true\" " + ((this.data.value) ? "selected" : "") + ">true</option><option value=\"false\" " + ((!this.data.value) ? "selected" : "") + ">false</option>"
- }).inject(this.valueNode);
- break;
- default:
- var valueInput = new Element("input", {
- "styles": {"width": "90%"},
- "type": "text",
- "value": this.data.value
- }).inject(this.valueNode);
- }
- if (valueInput.tagName.toLowerCase() == "select") {
- valueInput.addEvent("change", function () {
- var v = valueInput.options[valueInput.selectedIndex].value;
- this.data.value = (v = "true") ? true : false;
- }.bind(this));
- } else {
- valueInput.addEvent("change", function (e) {
- this.data.value = valueInput.get("value");
- }.bind(this));
- valueInput.addEvent("blur", function (e) {
- this.data.value = valueInput.get("value");
- }.bind(this));
- valueInput.addEvent("keydown", function (e) {
- if (e.code == 13) {
- this.data.value = valueInput.get("value");
- this.readMode();
- }
- e.stopPropagation();
- }.bind(this));
- }
- this.isEditMode = true;
- this.property.editModeFilter = this;
- },
- readMode: function () {
- if (this.isEditMode) {
- var logicSelect = this.logicNode.getElement("select");
- this.data.logic = logicSelect.options[logicSelect.selectedIndex].value;
- var comparisonSelect = this.comparisonNode.getElement("select");
- this.data.comparison = comparisonSelect.options[comparisonSelect.selectedIndex].value;
- var valueInput = this.valueNode.getFirst();
- if (valueInput.tagName.toLowerCase() == "select") {
- var v = valueInput.options[valueInput.selectedIndex].value;
- this.data.value = (v = "true") ? true : false;
- } else {
- this.data.value = valueInput.get("value");
- }
- this.logicNode.empty();
- this.comparisonNode.empty();
- this.valueNode.empty();
- this.logicNode.set("text", this.data.logic);
- this.comparisonNode.set("text", this.data.comparison);
- this.valueNode.set("text", this.data.value);
- this.isEditMode = false;
- this.property.editModeFilter = null;
- }
- }
- });
|