![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/keeview_app/html/ |
Upload File : |
var form_module = {}; // Hàm vẽ form default khi tạo form mới form_module.formVersion = 2; form_module.generateDefaultLinearInputForm = function(host, typeid, items, baseFormId){ form_module.type2inputform.structure = form_module.type2inputform.structure_linear; form_module.type2inputform.extends_structure = form_module.type2inputform.extends_structure_linear; form_module.type2inputform.union = form_module.type2inputform.union_linear; var data, type, t_id, t_idx; var typeDict = {}; data_module.typelists.items.forEach((cur, idx) => { typeDict[cur.id] = idx; }); if (typeid == "union"){ data = form_module.type2inputform[typeid](host, items); } else { t_idx = typeDict[typeid]; type = data_module.typelists.items[t_idx].type; if (form_module.primitiveTypeList.indexOf(type) != -1){ type = data_module.typelists.items[t_idx].type2; } // type = host.typeDict[typeid].type; // if (form_module.primitiveTypeList.indexOf(type) != -1){ // type = host.typeDict[typeid].type2; // } data = (form_module.type2inputform[type] || form_module.type2inputform.notSupport)(host, type, items, baseFormId); if(data){ data.attributes = data.attributes ||{}; data.attributes.inputType = type; data.attributes.formVersion = form_module.formVersion; } } return data; }; form_module.setAttributeOfTreeTableInput = function(t_id, t_name){ var host = { database: {} }; contentModule.makeDatabaseContent(host, {typelists: data_module.typelists.items}); var dict = {}; data_module.typelists.items.forEach(function (elt, index) { contentModule.makeDataTypeDecode(elt); dict[elt.id] = index; }); var getType = function(index){ var type = data_module.typelists.items[index].type; if (form_module.primitiveTypeList.indexOf(type) != -1){ type = data_module.typelists.items[index].type2; } return type; } var type = getType(dict[t_id]); var header; var self = this; return form_module.makeHeaderOfTable(host, t_id).then(function(result){ header = result; if ( type != "structure" && type != "extends_structure" ) { header.descriptions[t_id].text = t_name; } // TODO: var preloadDescriptors = self.attributes.propertyDescriptors.__preloaded__; if (preloadDescriptors){ for (var pName in preloadDescriptors){ if(header.descriptions[pName]) Object.assign(header.descriptions[pName], preloadDescriptors[pName]); } } console.log("set attributes for treetable"); self.setAttribute("propertyNames", header.names); self.setAttribute("propertyDescriptors", header.descriptions); setTimeout(function(){ self.attributes.propertyDescriptors.__completeLoad__ = true; }, 1500); }, function(rj){}); }; form_module.setAttributeOfTableInput = function(t_id, t_name){ var host = { database: {} }; contentModule.makeDatabaseContent(host, {typelists: data_module.typelists.items}); var dict = {}; data_module.typelists.items.forEach(function (elt, index) { contentModule.makeDataTypeDecode(elt); dict[elt.id] = index; }); var getType = function(index){ var type = data_module.typelists.items[index].type; if (form_module.primitiveTypeList.indexOf(type) != -1){ type = data_module.typelists.items[index].type2; } return type; } var type = getType(dict[t_id]); var header; var self = this; return form_module.makeHeaderOfTable(host, t_id).then(function(result){ header = result; if ( type != "structure" && type != "extends_structure" ) { header.descriptions[t_id].text = t_name; } // TODO: var preloadDescriptors = self.attributes.propertyDescriptors.__preloaded__; if (preloadDescriptors){ for (var pName in preloadDescriptors){ if(header.descriptions[pName]) Object.assign(header.descriptions[pName], preloadDescriptors[pName]); } } self.setAttribute("propertyNames", header.names); self.setAttribute("propertyDescriptors", header.descriptions); setTimeout(function(){ self.attributes.propertyDescriptors.__completeLoad__ = true; }, 1500); // self.setAttribute("records", []); var handleCmdRemoveRow = function (event) { event.accept(new Promise(function (resolve) { ModalElement.question({ title: LanguageModule.text("txt_warning"), message: "Bạn có muốn xóa không?", onclick: function (sel) { if (sel == 0) { resolve(true); } else { resolve(false); } } }); })); }; var handleCmdInsertRow = function (event) { event.resolve(new Promise(function (resolve) { resolve({}); })); }; self.editor.on('cmd_remove_row', handleCmdRemoveRow); self.editor.on('cmd_insert_row', handleCmdInsertRow); }, function(rj){}); }; // Hàm đổi tên form form_module.renameForm = function(taskName, id, name){ return new Promise(function(rs, rj){ FormClass.api_call({ url: "input_form_rename.php", params: [ {name: "id", value: id}, {name: "name", value: name}, {name: "taskName", value: taskName} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == "ok"){ rs(); } else { rj(); } } else rj(); } }); }); }; // Hàm xóa form form_module.deleteForm = function(host, id){ var formContent; if (host.taskName == "input") formContent = data_module.input_forms; else if (host.taskName == "m_input") formContent = data_module.mobile_input_forms; else if (host.taskName == "m_output") formContent = data_module.mobile_output_forms; else formContent = data_module.output_forms; return new Promise(function(resolve, reject){ ModalElement.show_loading(); FormClass.api_call({ url: 'input_form_delete.php', params: [ {name: "id", value: id}, {name: "task", value: host.taskName} ], func: function(success, message){ ModalElement.close(-1); if (success) { if (message.substr(0, 2) == "ok"){ formContent.items = formContent.items.filter(function(elt){ return elt.id != id; }); resolve(); } else { reject(message); } } else { reject(message); } } }) }); }; // Hàm lưu thêm form mới form_module.saveForm = function(host, params){ params.available = 1; params.ver = 1; params.task = host.taskName; params.content = EncodingClass.string.fromVariable(params.content); var formContent; if (host.taskName == "input") { formContent = data_module.input_forms; // FM_form_content = data_module.input_forms; } else if (host.taskName == "m_input") { formContent = data_module.mobile_input_forms; // FM_form_content = data_module.mobile_input_forms; } else if (host.taskName == "m_output") { formContent = data_module.mobile_output_forms; // FM_form_content = data_module.mobile_output_forms; } else { formContent = data_module.output_forms; // FM_form_content = data_module.output_forms; } return new Promise(function(resolve, reject){ ModalElement.show_loading(); FormClass.api_call({ url: 'input_form_add_new_save.php', params: [ {name: "data", value: EncodingClass.string.fromVariable(params)} ], func: function(success, message){ ModalElement.close(-1); if (success) { if (message.substr(0, 2) == "ok"){ params.id = parseInt(EncodingClass.string.toVariable(message.substr(2)), 10); params.content = EncodingClass.string.toVariable(params.content); formContent.items.push(params); // FM_form_content.items.push(params); form_module.attachOnCreatedCb(params.content); formContent.items.sort(function(a, b){ if (absol.string.nonAccentVietnamese(a.name) < absol.string.nonAccentVietnamese(b.name)) return -1; if (absol.string.nonAccentVietnamese(a.name) > absol.string.nonAccentVietnamese(b.name)) return 1; return 0; }); if (host.taskName == "input") { data_module.input_forms.items = formContent.items; hr.input_form.loadFormConstructorToAssembler(); } else if (host.taskName == "m_input") { data_module.mobile_input_forms.items = formContent.items; hr.input_form_mobile.loadFormConstructorToAssembler(); } else if (host.taskName == "m_output") { data_module.mobile_output_forms.items = formContent.items; hr.output_form_mobile.loadFormConstructorToAssembler(); } else { data_module.output_forms.items = formContent.items; hr.output_form.loadFormConstructorToAssembler(); } resolve(params); } else { if (message == "nameerror"){ ModalElement.alert({message: "Tên form đã được sử dụng"}); } reject(message); } } else { reject(message); } } }) }); } // Hàm vẽ giao diện thêm form mới form_module.showNewFormDialog = function(host){ return new Promise(function(accept, deny){ var formContent; if (host.taskName == "input") formContent = data_module.input_forms; else if (host.taskName == "m_input") formContent = data_module.mobile_input_forms; else if (host.taskName == "m_output") formContent = data_module.mobile_output_forms; else formContent = data_module.output_forms; var formName = absol._({ tag: 'input', class: "cardsimpleInput", style: { width: "400px" }, props: { type: 'text' } }); var initForm = absol._({ tag: 'selectmenu', style: { width: "400px" }, props: { items: [ {text: "HyperLayout", value: "HyperLayout"}, {text: "LinearLayout", value: "LinearLayout"} ], value: "HyperLayout" } }); var items = []; var dict = {}; for (var i = 0; i < data_module.typelists.items.length; i++){ if ( data_module.typelists.items[i].type == "structure" || data_module.typelists.items[i].type == "extends_structure" || data_module.typelists.items[i].type == "array" || data_module.typelists.items[i].type == "treetable" || data_module.typelists.items[i].type2 == "structure" || data_module.typelists.items[i].type2 == "array" || data_module.typelists.items[i].type2 == "treetable" || data_module.typelists.items[i].id > 0 ) items.push({ value: data_module.typelists.items[i].id, text: data_module.typelists.items[i].name, sortText: absol.string.nonAccentVietnamese(data_module.typelists.items[i].name).toLowerCase() }); dict[data_module.typelists.items[i].id] = data_module.typelists.items[i]; } items.sort(function(a, b){ if (a.sortText > b.sortText) return 1; if (a.sortText < b.sortText) return -1; return 0; }); items.unshift({text: LanguageModule.text("txt_select_datatype"), value: 0}); host.typeDict = dict; host.formDict = {}; formContent.items.forEach(function(elt){ host.formDict[elt.id] = elt; }); var type = absol._({ tag: "selectmenu", style: { width: "400px" }, props: { enableSearch: true, items: items }, on: { change: function(){ if (!host.typeDict) { host.typeDict = {}; data_module.typelists.items.forEach((item, i) => { host.typeDict[item.id] = item; }); } var path1 = form_module.getTypePath(host, this.value); data_module.typelists.items.forEach((item, i) => { if (!item.includedid) return; if (item.includedid.startsWith("_" + path1[0] + "_")) path1 = path1.concat(form_module.getTypePath(host, item.id)); }); var path = path1.filter(function(item, idx){ return path1.indexOf(item) === idx; }); var formItems = []; formContent.items.forEach((item, i) => { if (path.indexOf(item.typeid) != -1) formItems.push({value: item.id, text: item.name}) }); if (dict[this.value].type == "array" || dict[this.value].type2 == "array") { absol.$(".create-new-form-array-display-form", tDiv, function(elt){ elt.style.display = null; }); display_form.value = "datasheet"; host.isArray = true; } else { absol.$(".create-new-form-array-display-form", tDiv, function(elt){ elt.style.display = "none"; }); if (formItems.length > 0) { formItems.sort(function(a, b){ if (a.sortText > b.sortText) return 1; if (a.sortText < b.sortText) return -1; return 0; }); formItems.unshift({value: 0, text: LanguageModule.text("txt_select_value")}); absol.$(".create-new-form-base-form", tDiv, function(elt){ elt.style.display = null; }); form.items = formItems; form.value = 0; } else { absol.$(".create-new-form-base-form", tDiv, function(elt){ elt.style.display = "none"; }); form.value = 0; } } if (formName.value.trim() == ""){ formName.value = this.textContent; formName.focus(); } } } }); var form = absol._({ tag: "selectmenu", style: { width: "400px" }, props: { enableSearch: true, items: [], value: 0 } }); var display_form = absol._({ tag: "selectmenu", style: { width: "400px" }, props: { enableSearch: true, items: [ {value: "datasheet", text: LanguageModule.text("txt_datasheet")}, {value: "list", text: LanguageModule.text("txt_list")} ], value: "datasheet" } }); var tDiv = DOMElement.div({ children: [DOMElement.table({ data: [ [ {text: "Tên form"}, { attrs: {style: {paddingLeft: "10px"}}, children: [formName] } ], [{attrs: {style: {paddingTop: "10px"}}}], [ {text: "Kiểu dữ liệu"}, { attrs: {style: {paddingLeft: "10px"}}, children: [type] } ], [{attrs: {className: "create-new-form-base-form", style: {display: "none", paddingTop: "10px"}}}], [ {attrs: {style: {display: "none"}, className: "create-new-form-base-form"}, text: "Thừa kế từ form"}, { attrs: {className: "create-new-form-base-form", style: {display: "none", paddingLeft: "10px"}}, children: [form] } ], [{attrs: {className: "create-new-form-array-display-form", style: {display: "none", paddingTop: "10px"}}}], [ {attrs: {style: {display: "none"}, className: "create-new-form-array-display-form"}, text: "Hình thức hiển thị"}, { attrs: {className: "create-new-form-array-display-form", style: {display: "none", paddingLeft: "10px"}}, children: [display_form] } ], [{attrs: {style: {paddingTop: "10px"}}}], [ {text: "Init form"}, { attrs: {style: {paddingLeft: "10px"}}, children: [initForm] } ] ] })] }); ModalElement.showWindow({ index: 1, title: "Tạo form mới", bodycontent: DOMElement.div({ style: { padding: "10px" }, children: [ tDiv, DOMElement.div({ attrs: { style: { paddingTop: "20px", textAlign: "center" } }, children: [ DOMElement.div({ attrs: {style: { display: "inline-block" }}, children: [theme.okButton({ onclick: function () { var name = formName.value.trim(); if (name == ""){ ModalElement.alert({message: LanguageModule.text("txt_no_name")}); return; } var params = { typeid: parseInt(type.value, 10), name: name }; host.display_form = display_form.value; var baseFormId = form.value; if (params.typeid == 0) { ModalElement.alert({message: LanguageModule.text("txt_no_datatype_is_selected_yet")}); return; } for (var i = 0; i < formContent.items.length; i++){ if (formContent.items[i].name == name) { ModalElement.alert({message: "Tên form đã được sử dụng"}); return; } } var form_content; if (host.taskName == "input" || host.taskName == "m_input") { if (initForm.value == "LinearLayout") { if (!host.isMobile) form_content = form_module.generateDefaultLinearInputForm(host, params.typeid, host.typeDict[params.typeid], baseFormId); else form_content = form_module.generateDefaultLinearMobileInputForm(host, params.typeid, host.typeDict[params.typeid], baseFormId); params.content = { layout: { tag: "LinearLayout", style: { overflowY: "visible", height: "auto", width: host.isMobile ? 350 : "auto" }, attributes: {} }, circuit: {} }; } else { if (!host.isMobile) form_content = form_module.generateDefaultRelativeInputForm(host, params.typeid, host.typeDict[params.typeid], baseFormId); else form_content = form_module.generateDefaultRelativeMobileInputForm(host, params.typeid, host.typeDict[params.typeid], baseFormId); if (baseFormId) { var t = host.formDict[baseFormId].content; params.content = { layout: { tag: "HyperLayout", style: t.layout.style, attributes: t.layout.attributes }, circuit: {} }; } else { params.content = { layout: { tag: "HyperLayout", style: {}, attributes: {} }, circuit: {} }; } } } else { if (initForm.value == "LinearLayout") { if (!host.isMobile) form_content = form_module.generateDefaultLinearOutputForm(host, params.typeid, host.typeDict[params.typeid], baseFormId); else form_content = form_module.generateDefaultLinearMobileOutputForm(host, params.typeid, host.typeDict[params.typeid], baseFormId); params.content = { layout: { tag: "LinearLayout", style: { overflowY: "visible", height: "auto", width: host.isMobile ? 350 : "auto" }, attributes: {} }, circuit: {} }; } else { if (!host.isMobile) form_content = form_module.generateDefaultRelativeOutputForm(host, params.typeid, host.typeDict[params.typeid], baseFormId); else form_content = form_module.generateDefaultRelativeMobileOutputForm(host, params.typeid, host.typeDict[params.typeid], baseFormId); if (baseFormId) { var t = host.formDict[baseFormId].content; params.content = { layout: { tag: "HyperLayout", style: t.layout.style, attributes: t.layout.attributes }, circuit: {} }; } else { params.content = { layout: { tag: "HyperLayout", style: {}, attributes: {} }, circuit: {} }; } } } if (!form_content) { return; } var childrenid = ""; if (dict[params.typeid].type == "shifts") params.content.layout.attributes.name = "ValidTimeShift"; else if (dict[params.typeid].includedid) { if (dict[params.typeid].includedid.indexOf("_-54_") != -1) params.content.layout.attributes.name = "ValidTimeShift"; } if (dict[params.typeid].type == "array" || dict[params.typeid].type2 == "array"){ params.content.layout.style.width = "auto"; params.content.layout.children = [form_content]; // params.content.layout.children = [form_content.layout]; // params.content.circuit = form_content.circuit; if (form_content.tag != "TableInput") childrenid = "_" + form_content.attributes.itemFragmentClass; } else if (dict[params.typeid].type == "treetable" || dict[params.typeid].type2 == "treetable"){ params.content.layout.style.width = "auto"; params.content.layout.children = [form_content]; } else if ( dict[params.typeid].type == "structure" || dict[params.typeid].type == "extends_structure" || dict[params.typeid].type2 == "structure" ) { var getChildrenIdList = function(cur){ if (cur.class && !isNaN(parseInt(cur.class))){ childrenid += "_" + parseInt(cur.class); } else if (cur.children && cur.children.length > 0){ cur.children.forEach(function(elt){ getChildrenIdList(elt); }) } } params.content.layout.children = form_content.layout; form_content.layout.forEach(function(elt){ getChildrenIdList(elt); }); params.content.circuit = form_content.circuit; } else { params.content.layout.children = [form_content.layout]; params.content.circuit = form_content.circuit; } if (childrenid != "") childrenid += "_"; params.childrenid = childrenid; params.typedescendantid = ""; contentModule.getDescendantsId(host, dict[params.typeid]).forEach(function(elt){ params.typedescendantid += "_" + elt; }); if (params.typedescendantid != "") params.typedescendantid += "_"; params.isMobile = host.isMobile; accept(params); ModalElement.close(1); } })] }), DOMElement.div({ attrs: {style: { display: "inline-block", paddingLeft: "10px" }}, children: [theme.cancelButton({ onclick: function () { deny("cancel"); ModalElement.close(1); } })] }) ] }) ] }) }); setTimeout(function(){ formName.focus(); }, 50); }); }; // Hàm thêm form mới // form_module.addNewForm = function(host){ // return form_module.showNewFormDialog(host).then(function(result){ // return form_module.saveForm(host, result) // }); // }; // Hàm lưu sửa đổi form cũ form_module.formSaveContent = function(data){ var st = { id: data.id, content: data.content, childrenid: data.childrenid, typedescendantid: data.typedescendantid, ver: data.ver + 1 }; return new Promise(function(rs, rj){ FormClass.api_call({ url: "input_form_edit_save.php", params: [ {name: "data", value: EncodingClass.string.fromVariable(st)} ], func: function(success, message){ if (success){ if (message.substr(0, 2) == 'ok'){ var formContent = EncodingClass.string.toVariable(message.substr(2)); formContent.content = EncodingClass.string.toVariable(formContent.content); rs(formContent); } else { rj(message); } } else { rj(message); } } }); }); }; form_module.generateDefaultLinearOutputForm = function(host, typeid, items, baseFormId){ form_module.type2outputform.structure = form_module.type2outputform.structure_linear; form_module.type2outputform.extends_structure = form_module.type2outputform.extends_structure_linear; form_module.type2outputform.union = form_module.type2outputform.union_linear; var data, type, t_id, t_idx; var typeDict = {}; data_module.typelists.items.forEach((cur, idx) => { typeDict[cur.id] = idx; }); if (typeid == "union"){ data = form_module.type2outputform[typeid](host, items); } else { t_idx = typeDict[typeid]; type = data_module.typelists.items[t_idx].type; if (form_module.primitiveTypeList.indexOf(type) != -1){ type = data_module.typelists.items[t_idx].type2; } // type = host.typeDict[typeid].type; // if (form_module.primitiveTypeList.indexOf(type) != -1){ // type = host.typeDict[typeid].type2; // } data = (form_module.type2outputform[type] || form_module.type2outputform.notSupport)(host, type, items, baseFormId); if(data){ data.attributes = data.attributes ||{}; data.attributes.inputType = type; data.attributes.formVersion = form_module.formVersion; } } return data; }; form_module.attachOnCreatedCb = function attachOnCreatedCb(compData){ var type = compData.attributes && compData.attributes.inputType; if (type && form_module.tag2OnCreated[type]){ compData.onCreated = form_module.tag2OnCreated[type]; } if (compData.children && compData.children.length > 0) compData.children.forEach(attachOnCreatedCb); } form_module.tag2OnCreated = {}; form_module.tag2OnCreated.array = function(){ var tag = this.tag; if (tag !== "TableInput") return; var t_id = this.attributes.typeIdOfArray; var t_name = this.attributes.nameOfArray; return form_module.setAttributeOfTableInput.call(this, t_id, t_name).then(function(s){ }); }; form_module.tag2OnCreated.treetable = function(){ var t_id = this.attributes.typeIdOfTreeTable; var t_name = this.attributes.nameOfTreeTable; return form_module.setAttributeOfTreeTableInput.call(this, t_id, t_name); }; form_module.tag2OnCreated.user = function(task){ return data_module.loadUsersList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {users: rs}); var items = contentModule.getUsersListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.userlist = function(task){ return data_module.loadUsersList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {users: rs}); var items = contentModule.getUsersListSelectMenu(host); items.splice(0, 1); // if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.geopos = function(task){ return data_module.loadGeographiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {geopos: rs}); var items = contentModule.getGeoposListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_department = function(task){ return data_module.loadOrgsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {orgs: rs}); contentModule.makeOrgsIndex(host); var items = contentModule.getOrgsListSelectTreeMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_document_groups = function(task){ return data_module.loadDocument_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {document_groups: rs}); var items = contentModule.getDocumentGroupsListSelectTreeMenu(host); return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_document_folders = function(task){ return data_module.loadDocument_foldersList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {document_folders: rs}); var items = contentModule.getDocumentFoldersListSelectTreeMenu(host); return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.select_department_employee = function(task){ return Promise.all([data_module.loadOrgsList(), data_module.loadEmployeesList(), data_module.loadPeoplesList()]).then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {orgs: rs[0], employees: rs[1], peoples: rs[2]}); var pDict = {}; host.database.peoples.items.forEach(function(elt){ pDict[elt.id] = elt; }); host.database.employees.items.forEach(function(elt){ elt.fullname = pDict[elt.peopleid].fullname; }); contentModule.makeOrgsIndex(host); contentModule.makeEmployeesIndex(host); var items = contentModule.getOrgsAndEmployeesListSelectTreeMenu(host); items.splice(0, 1); // var items = contentModule.getOrgsListSelectTreeMenu(host); return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_position = function(departmentid){ // var self = this; // return data_module.loadPositionsList().then(function(rs){ // if (departmentid !== undefined) { // rs = rs.filter(function(elt){ // return elt.orgid == departmentid; // }); // } // var host = {database: {}}; // contentModule.makeDatabaseContent(host, {positions: rs}); // return contentModule.getPositionsListSelectMenu(host); // // self.domElt.items = contentModule.getPositionsListSelectMenu(host); // }, function(rj){console.log(rj);}); return Promise.all([ data_module.loadOrgsList(), data_module.loadPositionsList() ]).then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {orgs: rs[0], positions: rs[1]}); contentModule.makeOrgsIndex(host); contentModule.makePositionsIndex(host); var items = contentModule.getMemberOfPositionSelectMenu(host); if (!task) items.unshift({value: 0, text: LanguageModule.text("txt_select_value"), isLeaf: true}); else items.unshift({value: 0, text: ""}); return items; // return contentModule.getEmployeesListSelectMenu(host); }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_position_2 = function(task){ return data_module.loadPositions2List().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {positions: rs}); var items = contentModule.getPositionsListSelectMenu(host); if (task) items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; // form_module.tag2OnCreated.member_of_people = function(){ // // var self = this; // return data_module.loadPeoplesList().then(function(rs){ // var host = {database: {}}; // contentModule.makeDatabaseContent(host, {peoples: rs}); // return contentModule.getPeoplesListSelectMenu(host); // // self.domElt.items = contentModule.getPeoplesListSelectMenu(host); // }, function(rj){console.log(rj);}); // }; form_module.tag2OnCreated.member_of_employee = function(fragment, task){ return data_module.loadEmployeeItemsPrivView().then(function(host){ var items = contentModule.getMemberOfEmployeeSelectMenu(host); if (task == "output") items[0].text = ""; return items; // return contentModule.getEmployeesListSelectMenu(host); }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_policies = function(fragment, task){ return data_module.loadPoliciesData().then(function(x){ var host = { database: {} }; contentModule.makeDatabaseContent(host, x); var items = contentModule.getPoliciesSelectMenu(host); if (task == "output") items[0].text = ""; return items; // return contentModule.getEmployeesListSelectMenu(host); }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_template_groups = function(task){ return data_module.loadTemplateGroupList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {template_groups: rs}); host.database.template_groups.items.unshift({ id: -1, name: LanguageModule.text("txt_onboarding"), comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); host.database.template_groups.items.unshift({ id: -3, name: LanguageModule.text("txt_offboarding"), comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); host.database.template_groups.items.unshift({ id: -4, name: LanguageModule.text("txt_examination"), comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); host.database.template_groups.items.unshift({ id: -2, name: "Khác...", comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); var items = contentModule.getMemberOfTemplateGroupSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.employee_list = function(task){ return data_module.loadEmployeeItemsPrivView().then(function(host){ var items = contentModule.getMemberOfEmployeeSelectMenu(host); items.splice(0, 1); return items; // return contentModule.getEmployeesListSelectMenu(host); }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.nation_city = function(task){ return Promise.all([ data_module.loadNationsList(), data_module.loadCitiesList() ]).then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {nations: rs[0], cities: rs[1]}); contentModule.makeCitiesIndex(host); var items = contentModule.getNationCityDualSelectMenu(host); return items; // return contentModule.getEmployeesListSelectMenu(host); }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.position_list = function(task){ return Promise.all([ data_module.loadOrgsList(), data_module.loadPositionsList() ]).then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {orgs: rs[0], positions: rs[1]}); contentModule.makeOrgsIndex(host); contentModule.makePositionsIndex(host); var items = contentModule.getMemberOfPositionSelectMenu(host); return items; // return contentModule.getEmployeesListSelectMenu(host); }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_employee_choose_company = function(host, task){ if (!host.companyLoad) { host.companyLoad = { database: {} }; host.companyLoad.resultAsync = data_module.loadOrgsList().then(function(rs){ contentModule.makeDatabaseContent(host.companyLoad, {orgs: rs}); contentModule.makeOrgsIndex(host.companyLoad); var items = []; var items = [{value: 0, text: task == "output" ? "" : LanguageModule.text("txt_select_value")}]; host.companyLoad.database.orgs.items.forEach(function(elt){ if (elt.parentid == 0) items.push({ value: elt.id, text: elt.name, sortText: absol.string.nonAccentVietnamese(elt.name).toLowerCase() }); }); items.sort(function(a, b){ if (a.sortText > b.sortText) return 1; if (a.sortText < b.sortText) return -1; return 0; }); host.companyItems = items; return items; }).catch(function(err){console.log(err);}); } return host.companyLoad.resultAsync; }; form_module.tag2OnCreated.member_of_employee_choose_department = function(host, companyid, task){ if (!host.companyLoad){ form_module.tag2OnCreated.member_of_employee_choose_company(host, task); } return host.companyLoad.resultAsync.then(function(rs){ var items; if (!companyid) return []; items = contentModule.getDepartmentListSelectTreeMenu(host.companyLoad, companyid); return items; }); }; form_module.tag2OnCreated.member_of_employee_by_departmentid = function(departmentid){ return data_module.loadEmployeesListByOrgid(departmentid).then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, rs); return contentModule.getEmployeesListSelectMenu(host); }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_position_by_departmentid = function(departmentid, task){ return data_module.loadPositionsListByOrgid(departmentid).then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {positions: rs}); var items = contentModule.getPositionsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_assets = function(task){ // var self = this; return data_module.loadAssetsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {assets: rs}); var items = contentModule.getAssetsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_instruments_and_tools = function(task){ // var self = this; return data_module.loadInstruments_and_toolsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {instruments_and_tools: rs}); var items = contentModule.getInstrumentAndToolsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_assets_instruments_and_tools = function(task){ var host = {database: {}}; return Promise.all([data_module.loadAssetsList(), data_module.loadInstruments_and_toolsList()]).then(function(content){ contentModule.makeDatabaseContent(host, {assets: content[0], instruments_and_tools: content[1]}); var items = contentModule.getAssetsInstrumentAndToolsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }); }; form_module.tag2OnCreated.member_of_warehouses = function(fragment, task){ return data_module.loadWarehousesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {warehouses: rs}); var items = contentModule.getWarehousesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_welcome_templates = function(task){ return data_module.loadWelcomeTemplatesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {welcome_templates: rs}); var items = contentModule.getMemberOfWelcomeTemplateSelectMenu(host); // if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_allowance_policy_groups = function(task){ return data_module.loadAllowance_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {allowance_policy_groups: rs}); var items = contentModule.getAllowancePolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_bonus_policy_groups = function(task){ return data_module.loadBonus_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {bonus_policy_groups: rs}); var items = contentModule.getBonusPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_piece_wage_policy_groups = function(task){ return data_module.loadPiece_wage_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {piece_wage_policy_groups: rs}); var items = contentModule.getPieceWagePolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_attendance_clock_policy_groups = function(task){ return data_module.loadAttendance_clock_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {attendance_clock_policy_groups: rs}); var items = contentModule.getAttendanceClockPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_product_groups = function(task){ return data_module.loadProductGroupList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {product_groups: rs}); var items = contentModule.getProductGroupsSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_position_groups = function(task){ return data_module.loadPositionGroupList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {position_groups: rs}); var items = contentModule.getPositionGroupsSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_piece_wage_policies = function(task){ var host = {database: {}}; return Promise.all([data_module.loadPiece_wage_policy_groupsList(), data_module.loadPiece_wage_policiesList()]).then(function(content){ contentModule.makeDatabaseContent(host, {piece_wage_policy_groups: content[0], piece_wage_policies: content[1]}); var items = contentModule.getPieceWagePoliciesSelectMenu(host); if (task == "output") items[0].text = ""; return items; }); }; form_module.tag2OnCreated.member_of_attendance_clock_policies = function(task){ var host = {database: {}}; return Promise.all([data_module.loadAttendance_clock_policy_groupsList(), data_module.loadAttendance_clock_policiesList()]).then(function(content){ contentModule.makeDatabaseContent(host, {attendance_clock_policy_groups: content[0], attendance_clock_policies: content[1]}); var items = contentModule.getAttendanceClockPoliciesSelectMenu(host); if (task == "output") items[0].text = ""; return items; }); }; form_module.tag2OnCreated.member_of_product_list = function(task){ var host = {database: {}}; return Promise.all([data_module.loadProductGroupList(), data_module.loadProductsList()]).then(function(content){ contentModule.makeDatabaseContent(host, {product_groups: content[0], products: content[1]}); var items = contentModule.getProductListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }); }; form_module.tag2OnCreated.member_of_standard_workday_policy_groups = function(task){ return data_module.loadStandard_workday_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {standard_workday_policy_groups: rs}); var items = contentModule.getStandardWorkdayPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_work_flow_groups = function(task){ return data_module.loadWork_flow_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {work_flow_groups: rs}); var items = contentModule.getWorkFlowGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_work_flows = function(task){ return data_module.loadWork_flowsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {work_flows: rs}); var items = contentModule.getWorkFlowsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_payroll_cycle = function(task){ return data_module.loadPayrollCycleList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {payroll_cycle: rs}); var items = contentModule.getPayrollCycleListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_objects = function(task){ return data_module.loadObjectsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {objects: rs}); var items = contentModule.getObjectsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_lesson_categories = function(task){ return data_module.loadLesson_categoriesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {lesson_categories: rs}); var items = contentModule.getLessonCategoriesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_typelists = function(task){ return data_module.loadType_listsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {typelists: rs}); var items = contentModule.getTypeListsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_input_forms = function(task){ var items = contentModule.getInputFormsListSelectMenu(); if (task == "output") items[0].text = ""; return items; }; form_module.tag2OnCreated.member_of_mobile_input_forms = function(task){ var items = contentModule.getMobileInputFormsListSelectMenu(); if (task == "output") items[0].text = ""; return items; }; form_module.tag2OnCreated.member_of_output_forms = function(task){ var items = contentModule.getOutputFormsListSelectMenu(); if (task == "output") items[0].text = ""; return items; }; form_module.tag2OnCreated.member_of_mobile_output_forms = function(task){ var items = contentModule.getMobileOutputFormsListSelectMenu(); if (task == "output") items[0].text = ""; return items; }; form_module.tag2OnCreated.member_of_typelists = function(task){ return data_module.loadType_listsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {typelists: rs}); var items = contentModule.getTypeListsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_partner_class = function(task){ return data_module.loadPartner_classList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {partner_class: rs}); var items = contentModule.getPartnerClassListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_partner = function(task){ return data_module.loadPartnerList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {partner: rs}); var items = contentModule.getPartnerListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_contact = function(task){ return data_module.loadContactList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {contact: rs}); var items = contentModule.getContactListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_document_types = function(task){ return data_module.loadDocument_typesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {document_types: rs}); var items = contentModule.getDocumentTypesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_orgs = function(task){ return data_module.loadOrgCompanysList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {orgs: rs}); var items = contentModule.getOrgsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_other_liability_policy_groups = function(task){ return data_module.loadOther_liability_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {other_liability_policy_groups: rs}); var items = contentModule.getOtherLiabilityPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_other_policy_groups = function(task){ return data_module.loadOther_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {other_policy_groups: rs}); var items = contentModule.getOtherPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_insurance_policies = function(task){ return data_module.loadInsurance_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {insurance_policies: rs}); var items = contentModule.getInsurancePoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_tax_policies = function(task){ return data_module.loadTax_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {tax_policies: rs}); var items = contentModule.getTaxPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_trade_union_policies = function(task){ return data_module.loadTrade_union_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {trade_union_policies: rs}); var items = contentModule.getTradeUnionPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_leave_policies = function(task){ return data_module.loadLeave_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {leave_policies: rs}); var items = contentModule.getLeavePoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; console.log("1", items); return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_benefit_policies = function(task){ return data_module.loadBenefit_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {benefit_policies: rs}); var items = contentModule.getBenefitPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_allowance_policies = function(task){ return data_module.loadAllowance_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {allowance_policies: rs}); var items = contentModule.getAllowancePoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_bonus_policies = function(task){ return data_module.loadBonus_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {bonus_policies: rs}); var items = contentModule.getBonusPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_standard_workday_policies = function(task){ return data_module.loadStandard_workday_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {standard_workday_policies: rs}); var items = contentModule.getStandardWorkdayPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_overtime_policies = function(task){ return data_module.loadOvertime_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {overtime_policies: rs}); var items = contentModule.getOvertimePoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_punishment_policies = function(task){ return data_module.loadPunishment_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {punishment_policies: rs}); var items = contentModule.getPunishmentPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_advance_payment_policies = function(task){ return data_module.loadAdvance_payment_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {advance_payment_policies: rs}); var items = contentModule.getAdvancePaymentPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_late_early_checkin_policies = function(task){ return data_module.loadLate_early_checkin_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {late_early_checkin_policies: rs}); var items = contentModule.getLateEarlyCheckinPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_salary_policies = function(task){ return data_module.loadSalary_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {salary_policies: rs}); var items = contentModule.getSalaryPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_other_liability_policies = function(task){ return data_module.loadOther_liability_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {other_liability_policies: rs}); var items = contentModule.getOtherLiabilityPoliciesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_nations = function(task){ return data_module.loadNationsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {nations: rs}); var items = contentModule.getNationsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_cities = function(task){ return data_module.loadCitiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {cities: rs}); var items = contentModule.getCitiesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_ethnics = function(task){ return data_module.loadEthnicsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {ethnics: rs}); var items = contentModule.getEthnicsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_religions = function(task){ return data_module.loadReligionsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {religions: rs}); var items = contentModule.getReligionsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_salary_policy_groups = function(task){ return data_module.loadSalary_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {salary_policy_groups: rs}); var items = contentModule.getSalaryPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_trade_union_policy_groups = function(task){ return data_module.loadTrade_union_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {trade_union_policy_groups: rs}); var items = contentModule.getTradeUnionPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_overtime_policy_groups = function(task){ return data_module.loadOvertime_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {overtime_policy_groups: rs}); var items = contentModule.getOvertimePolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_offboarding_reasons = function(task){ return data_module.loadOffboardingReasonList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {offboarding_reasons: rs}); var items = contentModule.getOffboardingReasonListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.multiselect_offboarding_reasons = function(task){ return data_module.loadOffboardingReasonList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {offboarding_reasons: rs}); var items = contentModule.getOffboardingReasonListSelectMenu(host); items.splice(0, 1); return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_offboarding_types = function(task){ return data_module.loadOffboardingTypeList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {offboarding_types: rs}); var items = contentModule.getOffboardingTypeListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_punishment_policy_groups = function(task){ return data_module.loadPunishment_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {punishment_policy_groups: rs}); var items = contentModule.getPunishmentPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_asset_category = function(task){ return data_module.loadAssetCategoryList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {asset_category: rs}); var items = contentModule.getAssetCategoryListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_instruments_and_tools_category = function(task){ return data_module.loadInstrumentsAndToolsCategoryList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {instruments_and_tools_category: rs}); var items = contentModule.getAssetsInstrumentAndToolsCategoryListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_projects = function(task){ return data_module.loadProjectsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {projects: rs}); var items = contentModule.getProjectsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_tax_policy_groups = function(task){ return data_module.loadTax_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {tax_policy_groups: rs}); var items = contentModule.getTaxPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_advance_payment_policy_groups = function(task){ return data_module.loadAdvance_payment_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {advance_payment_policy_groups: rs}); var items = contentModule.getAdvancePaymentPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_late_early_checkin_policy_groups = function(task){ return data_module.loadLate_early_checkin_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {late_early_checkin_policy_groups: rs}); var items = contentModule.getLateEarlyCheckinPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_benefit_policy_groups = function(task){ return data_module.loadBenefit_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {benefit_policy_groups: rs}); var items = contentModule.getBenefitPolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_shifts = function(task){ return data_module.loadShiftsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {shifts: rs}); var items = contentModule.getShiftsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_timesheets = function(task){ return data_module.loadTimesheetsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {timesheet: rs}); var items = contentModule.getTimesheetsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_pay_percentage = function(task){ return data_module.loadPayPercentageList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {pay_percentage: rs}); var items = contentModule.getPayPercentageListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.members_of_shifts = function(task){ return data_module.loadShiftsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {shifts: rs}); var items = contentModule.getShiftsListSelectBox(host); return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.members_of_partner_class = function(task){ return data_module.loadPartner_classList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {partner_class: rs}); var items = contentModule.getPartnerClassListSelectBox(host); return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.members_of_locations = function(task){ return data_module.loadGeographiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {geopos: rs}); var items = contentModule.getGeoposListSelectBox(host); return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_leave_policy_groups = function(task){ return data_module.loadLeave_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {leave_policy_groups: rs}); var items = contentModule.getLeavePolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_employment_contract_types = function(task){ return data_module.loadEmployment_contract_typesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {employment_contract_types: rs}); var items = contentModule.getEmploymentContractTypesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_insurance_policy_groups = function(task){ return data_module.loadInsurance_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {insurance_policy_groups: rs}); var items = contentModule.getInsurancePolicyGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.member_of_training_program_groups = function(task){ return data_module.loadTrainingProgram_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {training_program_groups: rs}); var items = contentModule.getTrainingProgramGroupsListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.fx = form_module.fx ||{};//todo: gom ham form_module.fx.load_warehouse_items = function(){ var self = this; return data_module.loadWarehousesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {warehouses: rs}); return contentModule.getWarehousesListSelectMenu(host); }, function(rj){console.log(rj);}); }; form_module.fx.member_of_assets = function(host, warehouseid, asset_transactionid){ var self = this; var c = contentModule.getAssetsHandoverListSelectMenu(host, warehouseid, asset_transactionid); return c; }; form_module.fx.change_table_asset_handover_assetid_propertyDescriptors = function(oldProps, newItems){ if (!oldProps['-72'].propertyDescriptors.type_asset_handover_lines_assetid) { oldProps['-72'].propertyDescriptors.__preloaded__ = { type_asset_handover_lines_assetid:{ items: newItems, onchange: '{{' + 'type_asset_handover_lines_status = contentModule.getStatusByAssetId(this.fragment.getContext("host"), type_asset_handover_lines_assetid);' +'}}' } }; return oldProps; } //// TODO: prevent load in onCreated oldProps['-72'].propertyDescriptors.type_asset_handover_lines_assetid.items = newItems; if (oldProps['-72'].propertyDescriptors.__completeLoad__) oldProps['-72'].records = []; oldProps['-72'].propertyDescriptors.type_asset_handover_lines_assetid.onchange = '{{' + 'type_asset_handover_lines_status = contentModule.getStatusByAssetId(this.fragment.getContext("host"), type_asset_handover_lines_assetid);' +'}}'; oldProps['-72'].propertyDescriptors.type_asset_handover_lines_status.readOnly = true; return oldProps; }; form_module.fx.member_of_instruments_and_tools = function(host, warehouseid, asset_transactionid){ var self = this; var c = contentModule.getInstrumentAndToolsHandoverListSelectMenu(host, warehouseid, asset_transactionid); return c; }; form_module.fx.change_table_instruments_and_tools_handover_assetid_propertyDescriptors = function(oldProps, newItems){ if (!oldProps['-231'].propertyDescriptors.type_instruments_and_tools_handover_lines_assetid) { oldProps['-231'].propertyDescriptors.__preloaded__ = { type_instruments_and_tools_handover_lines_assetid:{ items: newItems, onchange: '{{' +'if (type_instruments_and_tools_handover_lines_assetid == 0) return; type_instruments_and_tools_handover_lines_amount = 1;' +'type_instruments_and_tools_handover_lines_unit = contentModule.getUnitByInstrumentsAndToolsId(this.fragment.getContext("host"), type_instruments_and_tools_handover_lines_assetid);' + 'type_instruments_and_tools_handover_lines_inventory = contentModule.getInventoryByByInstrumentsAndToolsId(this.fragment.getContext("host"), type_instruments_and_tools_handover_lines_assetid);' +'}}' } }; return oldProps; } //// TODO: prevent load in onCreated oldProps['-231'].propertyDescriptors.type_instruments_and_tools_handover_lines_assetid.items = newItems; if (oldProps['-231'].propertyDescriptors.__completeLoad__) oldProps['-231'].records = []; oldProps['-231'].propertyDescriptors.type_instruments_and_tools_handover_lines_assetid.onchange = '{{' +'type_instruments_and_tools_handover_lines_amount = 1;' +'type_instruments_and_tools_handover_lines_unit = contentModule.getUnitByInstrumentsAndToolsId(this.fragment.getContext("host"), type_instruments_and_tools_handover_lines_assetid);' + 'type_instruments_and_tools_handover_lines_inventory = contentModule.getInventoryByByInstrumentsAndToolsId(this.fragment.getContext("host"), type_instruments_and_tools_handover_lines_assetid);' +'}}'; oldProps['-231'].propertyDescriptors.type_instruments_and_tools_handover_lines_unit.readOnly = true; oldProps['-231'].propertyDescriptors.type_instruments_and_tools_handover_lines_inventory.readOnly = true; oldProps['-231'].propertyDescriptors.type_instruments_and_tools_handover_lines_amount.max = '= type_instruments_and_tools_handover_lines_inventory'; return oldProps; }; form_module.fx.member_of_assets_recall = function(host, employeeid, asset_transactionid){ var self = this; var c = contentModule.getAssetsRecallListSelectMenu(host, employeeid, asset_transactionid); return c; }; form_module.fx.change_table_recall_asetid_propertyDescriptors = function(oldProps, newItems){ if (!oldProps['-76'].propertyDescriptors.type_asset_recall_lines_assetid) { oldProps['-76'].propertyDescriptors.__preloaded__ = { type_asset_recall_lines_assetid:{ items: newItems, onchange: '{{' + 'type_asset_recall_lines_status = contentModule.getStatusByAssetId(this.fragment.getContext("host"), type_asset_recall_lines_assetid);' +'}}' } }; return oldProps; } //// TODO: prevent load in onCreated oldProps['-76'].propertyDescriptors.type_asset_recall_lines_assetid.items = newItems; if (oldProps['-76'].propertyDescriptors.__completeLoad__) oldProps['-76'].records = []; oldProps['-76'].propertyDescriptors.type_asset_recall_lines_assetid.onchange = '{{' + 'type_asset_recall_lines_status = contentModule.getStatusByAssetId(this.fragment.getContext("host"), type_asset_recall_lines_assetid);' +'}}'; oldProps['-76'].propertyDescriptors.type_asset_recall_lines_status.readOnly = true; return oldProps; }; form_module.tag2OnCreated.member_of_worktime_machines = function(task){ return data_module.loadWorktimeMachinesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {worktime_machines: rs}); var items = contentModule.getWorktime_machinesListSelectMenu(host); if (task == "output") items[0].text = ""; return items; }, function(rj){console.log(rj);}); }; form_module.tag2OnCreated.language = function(task){ var items = contentModule.getLanguageListSelectMenu(task); if (task == "output") items[0].text = ""; return items; }; form_module.tag2OnCreated.enum = function(t_id, task){ var host = { database: {} }; contentModule.makeDatabaseContent(host, {typelists: data_module.typelists.items}); var typeDict = {}; data_module.typelists.items.forEach(function (elt, index) { contentModule.makeDataTypeDecode(elt); typeDict[elt.id] = elt; }); var type = typeDict[t_id].type; var items; switch (type) { case 'language': items = contentModule.getLanguageListSelectMenu(task); break; default: var content = typeDict[t_id].content; var lists = content.details.map(function(elt){ return { text: elt.text, value: elt.localid, key: elt.key }; }); lists.unshift({text: LanguageModule.text("txt_select_value"), value: 0}); items = lists; } if (task == "output") items[0].text = ""; return items; }; form_module.tag2OnCreated.enum_multi = function(t_id, task){ // var t_id = this.attributes.typeid // var self = this; return Promise.all([ // data_module.loadTypeList(), data_module.loadLeave_policy_groupsList(), data_module.loadEmployment_contract_typesList() ]).then(function(values){ var host = { database: {} }; contentModule.makeDatabaseContent(host, {typelists: data_module.typelists.items, leave_policy_groups: values[0], employment_contract_types: values[1]}); // contentModule.makeDatabaseContent(host, {typelists: values[0], leave_policy_groups: values[1], employment_contract_types: values[2]}); var typeDict = {}; data_module.typelists.items.forEach(function (elt, index) { contentModule.makeDataTypeDecode(elt); typeDict[elt.id] = elt; }); var type = typeDict[t_id].type; var items; switch (type) { case 'language': items = contentModule.getLanguageListSelectMenu(task); items.splice(0, 1); break; case 'member_of_leave_policy_groups': items = contentModule.getLeavePolicyGroupsListSelectMenu(host, task); items.splice(0, 1); break; case 'member_of_employment_contract_types': items = contentModule.getEmploymentContractTypesListSelectMenu(host, task); items.splice(0, 1); break; default: var content = typeDict[t_id].content; var lists = content.details.map(function(elt){ return { text: elt.text, value: elt.localid, key: elt.value }; }); // lists.unshift({text: LanguageModule.text("txt_select_value"), value: 0}); items = lists; } // if (task == "output") items[0].text = ""; return items; }); }; form_module.tag2OnCreated.extends_enum = function(typeid, task){ var host = { database: {} }; contentModule.makeDatabaseContent(host, {typelists: data_module.typelists.items}); var typeDict = {}; data_module.typelists.items.forEach(function (elt, index) { contentModule.makeDataTypeDecode(elt); typeDict[elt.id] = elt; }); var t_id = typeDict[typeid].content.typeof; var content = typeDict[typeid].content.details; while (typeDict[t_id].type == "extends_enum"){ content = typeDict[t_id].content.details.concat(content) t_id = typeDict[t_id].content.typeof; } var type = typeDict[t_id].type; var lists; switch (type) { case 'language': lists = contentModule.getLanguageListSelectMenu(); break; default: lists = typeDict[t_id].content.details.map(function(elt){ return { text: elt.text, value: elt.localid }; }); lists.unshift({text: LanguageModule.text("txt_select_value"), value: 0}); } content.forEach(function(elt){ lists.push({ text: elt.text, value: elt.localid }); }); lists[0].text = ""; return lists; // var typeid = this.attributes.typeid; // var self = this; // return data_module.loadTypeList().then(function(typelists){ // var host = { // database: {} // }; // contentModule.makeDatabaseContent(host, {typelists: typelists}); // var typeDict = {}; // data_module.typelists.items.forEach(function (elt, index) { // contentModule.makeDataTypeDecode(elt); // typeDict[elt.id] = elt; // }); // var t_id = typeDict[typeid].content.typeof; // var content = typeDict[typeid].content.details; // while (typeDict[t_id].type == "extends_enum"){ // content = typeDict[t_id].content.details.concat(content) // t_id = typeDict[t_id].content.typeof; // } // var type = typeDict[t_id].type; // var lists; // switch (type) { // case 'language': // lists = contentModule.getLanguageListSelectMenu(); // break; // default: // lists = typeDict[t_id].content.details.map(function(elt){ // return { // text: elt.text, // value: elt.localid // }; // }); // lists.unshift({text: LanguageModule.text("txt_select_value"), value: 0}); // } // content.forEach(function(elt){ // lists.push({ // text: elt.text, // value: elt.localid // }); // }); // lists[0].text = ""; // return lists; // // self.domElt.items = lists; // }); }; form_module.tag2OnCreated.extends_enum_multi = function(typeid, task){ var host = { database: {} }; contentModule.makeDatabaseContent(host, {typelists: data_module.typelists.items}); var typeDict = {}; data_module.typelists.items.forEach(function (elt, index) { contentModule.makeDataTypeDecode(elt); typeDict[elt.id] = elt; }); var t_id = typeDict[typeid].content.typeof; var content = typeDict[typeid].content.details; while (typeDict[t_id].type == "extends_enum_multi"){ content = typeDict[t_id].content.details.concat(content) t_id = typeDict[t_id].content.typeof; } var type = typeDict[t_id].type; var lists; switch (type) { case 'language': lists = contentModule.getLanguageListSelectMenu(); lists.splice(0, 1); break; default: lists = typeDict[t_id].content.details.map(function(elt){ return { text: elt.text, value: elt.localid }; }); // lists.unshift({text: LanguageModule.text("txt_select_value"), value: 0}); } content.forEach(function(elt){ lists.push({ text: elt.text, value: elt.localid }); }); // lists[0].text = ""; return lists; // var typeid = this.attributes.typeid; // var self = this; // return data_module.loadTypeList().then(function(typelists){ // var host = { // database: {} // }; // contentModule.makeDatabaseContent(host, {typelists: typelists}); // var typeDict = {}; // data_module.typelists.items.forEach(function (elt, index) { // contentModule.makeDataTypeDecode(elt); // typeDict[elt.id] = elt; // }); // var t_id = typeDict[typeid].content.typeof; // var content = typeDict[typeid].content.details; // while (typeDict[t_id].type == "extends_enum_multi"){ // content = typeDict[t_id].content.details.concat(content) // t_id = typeDict[t_id].content.typeof; // } // var type = typeDict[t_id].type; // var lists; // switch (type) { // case 'language': // lists = contentModule.getLanguageListSelectMenu(); // break; // default: // lists = typeDict[t_id].content.details.map(function(elt){ // return { // text: elt.text, // value: elt.localid // }; // }); // lists.unshift({text: LanguageModule.text("txt_select_value"), value: 0}); // } // content.forEach(function(elt){ // lists.push({ // text: elt.text, // value: elt.localid // }); // }); // lists[0].text = ""; // return lists; // // self.domElt.items = lists; // }); }; form_module.makeHeaderOfTable = function(host, typeid){ var index, dict, type, content; dict = {}; data_module.typelists.items.forEach(function(elt, index){ dict[elt.id] = index; }); index = dict[typeid]; var getType = function(index){ var type = data_module.typelists.items[index].type; if (form_module.primitiveTypeList.indexOf(type) != -1){ type = data_module.typelists.items[index].type2; } return type; } type = getType(index); if (type == "structure") content = data_module.typelists.items[index].content.details; else if (type == "extends_structure"){ host.dictionary = { typelists: dict }; content = contentModule.makeExtendTypeData(host, typeid); } else { content = [{ type: typeid, localid: typeid }]; } var names, descriptions; names = []; descriptions = {}; var keys = []; var promiseList = []; content.forEach(function(elt){ var index, type, h; if (elt.type == "union") { Object.keys(elt.detailUnion).forEach((key) => { elt.detailUnion[key].forEach((sub) => { index = dict[sub.type]; type = getType(index); h = (form_module.makeDataOfHeader[type] || form_module.makeDataOfHeader.notSupport)(host, sub, index); if (h) { keys.push(sub.localid); names.push(sub.localid); promiseList.push(h); } }); }); } else { index = dict[elt.type]; type = getType(index); h = (form_module.makeDataOfHeader[type] || form_module.makeDataOfHeader.notSupport)(host, elt, index); if (h) { names.push(elt.localid); keys.push(elt.localid); promiseList.push(h); } } }); return new Promise(function(rs, rj){ Promise.all(promiseList).then(function(result){ result.forEach(function(elt, index){ descriptions[keys[index]] = elt; }); rs({ names: names, descriptions: descriptions }); }, function(){ rj(); }); }); }; form_module.makeDataOfHeader = {}; form_module.makeDataOfHeader.notSupport = function(host, item){ console.log(host, item); return undefined; //todo: log ra coi loi } form_module.makeDataOfHeader.string = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "text", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.performance_chart = function(host, item){ var colorMapping = [ {value: 0}, {value: 0.5}, {value: 1}, {value: 1.2} ]; systemconfig.thresholdcolor.forEach(function(elt, idx){ colorMapping[idx].color = elt; }); return new Promise(function(rs, rj){ rs({ type: "performance", text: item.name, colorMapping: colorMapping, required: item.require }); }); }; form_module.makeDataOfHeader.note = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "text", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.number = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "number", text: item.name, required: item.require, format:{ maximumFractionDigits: item.decpre ? item.decpre : 20, minimumFractionDigits: item.decpre ? item.decpre : 0 } }); }); }; form_module.makeDataOfHeader.hour_period = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "TimeRange24", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.currency = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "number", text: item.name, required: item.require, format:{ maximumFractionDigits: item.decpre ? item.decpre : 20, minimumFractionDigits: item.decpre ? item.decpre : 0 } }); }); }; form_module.makeDataOfHeader.date = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "Date", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.month = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "Date", text: item.name, format: "mm/yyyy", required: item.require }); }); }; form_module.makeDataOfHeader.datetime = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "Date", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.datemonth = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "Date", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.date_level = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "DateNLevel", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.boolean = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "boolean", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.email_address = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "text", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.user = function(host, item){ var items = data_module.users.items.map(function(elt){ return { text: elt.username + " - " + elt.fullname, value: elt.id }; }); return new Promise(function(rs, rj){ rs({ type: "enum", emptyValue: 0, text: item.name, items: items, required: item.require }); }); }; form_module.makeDataOfHeader.userlist = function(host, item){ var items = data_module.users.items.map(function(elt){ return { text: elt.username + " - " + elt.fullname, value: elt.id }; }); return new Promise(function(rs, rj){ rs({ type: "{enum}", text: item.name, items: items, required: item.require }); }); }; form_module.makeDataOfHeader.phonenumber = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "text", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.website = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "text", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.gps = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "text", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.geopos = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getGeoposListSelectMenu(), required: item.require }); }); }; form_module.makeDataOfHeader.member_of_department = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadOrgsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {orgs: rs}); contentModule.makeOrgsIndex(host); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getOrgsListSelectTreeMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_trade_union_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadTrade_union_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {trade_union_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getTradeUnionPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_document_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadDocument_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {document_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getDocumentGroupsListSelectTreeMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_document_folders = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadDocument_foldersList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {document_folders: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getDocumentFoldersListSelectTreeMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_position = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPositionsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {positions: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPositionsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_position_2 = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPositions2List().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {positions: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPositionsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_people = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPeoplesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {peoples: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPeoplesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_employee = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadEmployeeItemsPrivView().then(function(host){ resolve({ type: "treeleafenum", emptyValue: 0, text: item.name, items: contentModule.getMemberOfEmployeeSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPoliciesData().then(function(x){ var host = { database: {} }; contentModule.makeDatabaseContent(host, x); resolve({ type: "treeleafenum", emptyValue: 0, text: item.name, items: contentModule.getPoliciesSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_template_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadTemplateGroupList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {template_groups: rs}); host.database.template_groups.items.unshift({ id: -1, name: LanguageModule.text("txt_onboarding"), comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); host.database.template_groups.items.unshift({ id: -3, name: LanguageModule.text("txt_offboarding"), comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); host.database.template_groups.items.unshift({ id: -4, name: LanguageModule.text("txt_examination"), comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); host.database.template_groups.items.unshift({ id: -2, name: "Khác...", comment: "", extrainfo: "obj#0#", available: 1, ver: 1 }); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getMemberOfTemplateGroupSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_worktime_machines = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadWorktimeMachinesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {worktime_machines: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getWorktime_machinesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_assets = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadAssetsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {assets: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAssetsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_instruments_and_tools = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadInstruments_and_toolsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {instruments_and_tools: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getInstrumentAndToolsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_assets_instruments_and_tools = function(host, item){ return new Promise(function(resolve, reject){ var host = {database: {}}; Promise.all([data_module.loadAssetsList(), data_module.loadInstruments_and_toolsList()]).then(function(content){ contentModule.makeDatabaseContent(host, {assets: content[0], instruments_and_tools: content[1]}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAssetsInstrumentAndToolsListSelectMenu(host), required: item.require }); }); }); }; form_module.makeDataOfHeader.member_of_warehouses = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadWarehousesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {warehouses: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getWarehousesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_welcome_templates = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadWarehousesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {welcome_templates: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getMemberOfWelcomeTemplateSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_allowance_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadAllowance_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {allowance_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAllowancePolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_bonus_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadBonus_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {bonus_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getBonusPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_piece_wage_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPiece_wage_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {piece_wage_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPieceWagePolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_attendance_clock_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadAttendance_clock_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {attendance_clock_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAttendanceClockPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_product_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadProductGroupList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {product_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getProductGroupsSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_position_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPositionGroupList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {position_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPositionGroupsSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_product_list = function(host, item){ return new Promise(function(resolve, reject){ var host = {database: {}}; Promise.all([data_module.loadProductGroupList(), data_module.loadProductsList()]).then(function(content){ contentModule.makeDatabaseContent(host, {product_groups: content[0], products: content[1]}); resolve({ type: "treeleafenum", emptyValue: 0, text: item.name, items: contentModule.getProductListSelectMenu(host), required: item.require }); }); }); }; form_module.makeDataOfHeader.member_of_piece_wage_policies = function(host, item){ return new Promise(function(resolve, reject){ var host = {database: {}}; Promise.all([data_module.loadPiece_wage_policy_groupsList(), data_module.loadPiece_wage_policiesList()]).then(function(content){ contentModule.makeDatabaseContent(host, {piece_wage_policy_groups: content[0], piece_wage_policies: content[1]}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPieceWagePoliciesSelectMenu(host), required: item.require }); }); }); }; form_module.makeDataOfHeader.member_of_attendance_clock_policies = function(host, item){ return new Promise(function(resolve, reject){ var host = {database: {}}; Promise.all([data_module.loadAttendance_clock_policy_groupsList(), data_module.loadAttendence_clock_policiesList()]).then(function(content){ contentModule.makeDatabaseContent(host, {attendance_clock_policy_groups: content[0], attendance_clock_policies: content[1]}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAttendanceClockPoliciesSelectMenu(host), required: item.require }); }); }); }; form_module.makeDataOfHeader.member_of_standard_workday_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadStandard_workday_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {standard_workday_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getStandardWorkdayPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_work_flow_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadWork_flow_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {work_flow_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getWorkFlowGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_work_flows = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadWork_flowsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {work_flows: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getWorkFlowsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_payroll_cycle = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPayrollCycleList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {payroll_cycle: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPayrollCycleListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_objects = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadObjectsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {objects: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getObjectsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_lesson_categories = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadLesson_categoriesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {lesson_categories: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getLessonCategoriesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_typelists = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadType_listsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {typelists: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getTypeListsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_input_forms = function(host, item){ return new Promise(function(resolve, reject){ resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getInputFormsListSelectMenu(), required: item.require }); }); }; form_module.makeDataOfHeader.member_of_mobile_input_forms = function(host, item){ return new Promise(function(resolve, reject){ resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getMobileInputFormsListSelectMenu(), required: item.require }); }); }; form_module.makeDataOfHeader.member_of_output_forms = function(host, item){ return new Promise(function(resolve, reject){ resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getOutputFormsListSelectMenu(), required: item.require }); }); }; form_module.makeDataOfHeader.member_of_mobile_output_forms = function(host, item){ return new Promise(function(resolve, reject){ resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getMobileOutputFormsListSelectMenu(), required: item.require }); }); }; form_module.makeDataOfHeader.member_of_partner_class = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPartner_classList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {partner_class: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPartnerClassListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_partner = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPartnerList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {partner: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPartnerListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_contact = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadContactList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {contact: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getContactListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_document_types = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadDocument_typesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {document_types: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getDocumentTypesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_orgs = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadOrgCompanysList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {orgs: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getOrgsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_other_liability_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadOther_liability_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {other_liability_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getOtherLiabilityPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_other_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadOther_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {other_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getOtherPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_insurance_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadInsurance_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {insurance_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getInsurancePoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_tax_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadTax_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {tax_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getTaxPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_trade_union_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadTrade_union_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {trade_union_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getTradeUnionPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_leave_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadLeave_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {leave_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getLeavePoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_benefit_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadBenefit_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {benefit_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getBenefitPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_allowance_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadAllowance_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {allowance_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAllowancePoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_bonus_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadBonus_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {bonus_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getBonusPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_standard_workday_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadStandard_workday_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {standard_workday_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getStandardWorkdayPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_overtime_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadOvertime_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {overtime_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getOvertimePoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_punishment_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPunishment_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {punishment_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPunishmentPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_advance_payment_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadAdvance_payment_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {advance_payment_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAdvancePaymentPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_late_early_checkin_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadLate_early_checkin_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {late_early_checkin_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getLateEarlyCheckinPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_salary_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadSalary_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {salary_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getSalaryPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_other_liability_policies = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadOther_liability_policiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {other_liability_policies: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getOtherLiabilityPoliciesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_nations = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadNationsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {nations: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getNationsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_cities = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadCitiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {cities: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getCitiesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_ethnics = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadEthnicsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {ethnics: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getEthnicsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_religions = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadReligionsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {religions: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getReligionsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_salary_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadSalary_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {salary_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getSalaryPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_salary_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadSalary_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {salary_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getSalaryPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_punishment_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPunishment_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {punishment_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPunishmentPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_asset_category = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadAssetCategoryList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {asset_category: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAssetCategoryListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_instruments_and_tools_category = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadInstrumentsAndToolsCategoryList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {instruments_and_tools_category: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAssetsInstrumentAndToolsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_projects = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadProjectsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {projects: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getProjectsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_tax_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadTax_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {tax_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getTaxPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_advance_payment_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadAdvance_payment_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {advance_payment_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getAdvancePaymentPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_late_early_checkin_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadLate_early_checkin_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {late_early_checkin_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getLateEarlyCheckinPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_benefit_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadBenefit_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {benefit_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getBenefitPolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_shifts = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadShiftsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {shifts: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getShiftsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_timesheets = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadTimesheetsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {timesheet: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getTimesheetsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_pay_percentage = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPayPercentageList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {pay_percentage: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPayPercentageListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.members_of_shifts = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadShiftsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {shifts: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getShiftsListSelectBox(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.members_of_partner_class = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadPartner_classList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {partner_class: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getPartnerClassListSelectBox(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.members_of_locations = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadGeographiesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {geopos: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getGeoposListSelectBox(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_leave_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadLeave_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {leave_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getLeavePolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_employment_contract_types = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadEmployment_contract_typesList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {employment_contract_types: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getEmploymentContractTypesListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_insurance_policy_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadInsurance_policy_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {insurance_policy_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getInsurancePolicyGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.member_of_training_program_groups = function(host, item){ return new Promise(function(resolve, reject){ data_module.loadTrainingProgram_groupsList().then(function(rs){ var host = {database: {}}; contentModule.makeDatabaseContent(host, {training_program_groups: rs}); resolve({ type: "enum", emptyValue: 0, text: item.name, items: contentModule.getTrainingProgramGroupsListSelectMenu(host), required: item.require }); }, function(rj){reject(rj);}); }); }; form_module.makeDataOfHeader.time = function(host, item){ return new Promise(function(rs, rj){ rs({ type: "TimeInput", text: item.name, required: item.require }); }); }; form_module.makeDataOfHeader.enum = function(host, item, index){ var items; var type = data_module.typelists.items[index].type; switch (type) { case 'language': items = contentModule.getLanguageListSelectMenu(); break; default: var content = data_module.typelists.items[index].content; items = content.details.map(function(elt){ return { text: elt.text, value: elt.localid }; }); items.unshift({text: LanguageModule.text("txt_select_value"), value: 0}); } return new Promise(function(rs, rj){ rs({ type: "enum", emptyValue: 0, text: item.name, items: items, required: item.require }); }); }; form_module.makeDataOfHeader.enum_multi = function(host, item, index){ var items; var type = data_module.typelists.items[index].type; switch (type) { case 'language': items = contentModule.getLanguageListSelectMenu(); break; default: var content = data_module.typelists.items[index].content; items = content.details.map(function(elt){ return { text: elt.text, value: elt.localid }; }); items.unshift({text: LanguageModule.text("txt_select_value"), value: 0}); } return new Promise(function(rs, rj){ rs({ type: "{enum}", text: item.name, items: items, required: item.require }); }); }; form_module.makeDataOfHeader.extends_enum_multi = function(host, item, index){ var getType = function(index){ var type = data_module.typelists.items[index].type; if (form_module.primitiveTypeList.indexOf(type) != -1){ type = data_module.typelists.items[index].type2; } return type; } var dict = contentModule.makeDictionaryIndex(data_module.typelists.items); var details = data_module.typelists.items[index].content.details; var t_id = data_module.typelists.items[index].content.typeof; var t_type = getType(dict[t_id]); while(t_type == "extends_enum_multi"){ details = data_module.typelists.items[dict[t_id]].content.details.concat(details); t_id = data_module.typelists.items[dict[t_id]].content.typeof; t_type = getType(dict[t_id]); } var items, type; type = data_module.typelists.items[dict[t_id]].type; switch (type) { case 'language': items = contentModule.getLanguageListSelectMenu(); break; default: items = data_module.typelists.items[dict[t_id]].content.details.map(function(elt){ return { text: elt.text, value: elt.localid }; }); items.unshift({text: LanguageModule.text("txt_select_value"), value: 0}); } details.forEach(function(elt){ items.push({ text: elt.text, value: elt.localid }); }); return new Promise(function(rs, rj){ rs({ type: "{enum}", text: item.name, items: items, required: item.require }); }); }; form_module.makeDataToSet = function(params){ var typeid, valueid; typeid = params.typeid; valueid = params.valueid; return new Promise(function(resolve, reject){ var typeDict = contentModule.makeDictionaryIndex(params.typelists); var valueDict = contentModule.makeDictionaryIndex(params.values); var primitiveTypeList = form_module.primitiveTypeList; var getType = function(index){ var type = params.typelists[index].type; if ( form_module.primitiveTypeList.indexOf(type) != -1 ){ type = params.typelists[index].type2; } return type; } var localDatabase = {}; var generateData = function(typeid, valueid, currentPath){ return new Promise(function(rs, rj){ var value, index, typeContent, t_id, dataTypeOfArray, content; var type; if (isNaN(parseInt(typeid))) type = typeid; else type = getType(typeDict[typeid]); var data; switch (type) { case "nation_city": if (valueid) data = { values: params.values[valueDict[valueid]].content }; else data = {}; rs(data); break; case "position_list": data = {}; data[typeid] = []; if (valueid){ var index = typeDict[typeid]; var typeContent = params.typelists[index].content; var t_id = typeContent.typeof; var valueContent = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); valueContent.forEach(function(elt){ data[typeid].push(generateData(t_id, elt)); }); } rs(data); break; case "employee_list": if (valueid) data = { values: params.values[valueDict[valueid]].content }; else data = {}; rs(data); // data = {}; // data[typeid] = []; // if (valueid){ // var index = typeDict[typeid]; // var typeContent = params.typelists[index].content; // var t_id = typeContent.typeof; // var valueContent = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); // valueContent.forEach(function(elt){ // data[typeid].push(generateData(t_id, elt)); // }); // } // rs(data); break; case "number": if (valueid) data = parseInt(params.values[valueDict[valueid]].content, 10); else data = 0; rs(data); break; case "currency": if (valueid) data = parseInt(params.values[valueDict[valueid]].content, 10); else data = 0; rs(data); break; case "string": case "phonenumber": case "website": case "gps": case "note": case "html": case "variable_input": case "variable_textarea": case "email_address": if (valueid) data = params.values[valueDict[valueid]].content; else data = ""; rs(data); break; case "date": case "datetime": case "datemonth": case "boolean": if (valueid) data = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); else data = ""; rs(data); break; case "hour_period": if (valueid) data = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); else data = ""; rs(data); break; case "time": data = params.values[valueDict[valueid]].content; rs(data); break; case "user": // case "language": case "geopos": case "member_of_position": case "member_of_position_2": case "member_of_people": case "member_of_employee": case "member_of_worktime_machines": case "member_of_department": case "member_of_assets": case "member_of_instruments_and_tools": case "member_of_assets_instruments_and_tools": case "member_of_warehouses": case "member_of_welcome_templates": case "member_of_allowance_policy_groups": case "member_of_bonus_policy_groups": case "member_of_piece_wage_policy_groups": case "member_of_attendance_clock_policy_groups": case "member_of_standard_workday_policy_groups": case "member_of_work_flow_groups": case "member_of_work_flows": case "member_of_payroll_cycle": case "member_of_objects": case "member_of_lesson_categories": case "member_of_typelists": case "member_of_input_forms": case "member_of_output_forms": case "member_of_mobile_input_forms": case "member_of_mobile_output_forms": case "member_of_partner_class": case "member_of_partner": case "member_of_contact": case "member_of_other_liability_policy_groups": case "member_of_other_policy_groups": case "member_of_salary_policy_groups": case "member_of_trade_union_policy_groups": case "member_of_overtime_policy_groups": case "member_of_offboarding_types": case "member_of_offboarding_reasons": case "multiselect_offboarding_reasons": case "member_of_punishment_policy_groups": case "member_of_asset_category": case "member_of_instruments_and_tools_category": case "member_of_projects": case "member_of_tax_policy_groups": case "member_of_advance_payment_policy_groups": case "member_of_late_early_checkin_policy_groups": case "member_of_benefit_policy_groups": case "member_of_leave_policy_groups": case "member_of_employment_contract_types": case "member_of_insurance_policy_groups": case "member_of_training_program_groups": case "member_of_shifts": case "member_of_timesheets": case "member_of_pay_percentage": case "member_of_insurance_policies": case "member_of_tax_policies": case "member_of_trade_union_policies": case "member_of_benefit_policies": case "member_of_allowance_policies": case "member_of_bonus_policies": case "member_of_standard_workday_policies": case "member_of_overtime_policies": case "member_of_punishment_policies": case "member_of_leave_policies": case "member_of_advance_payment_policies": case "member_of_late_early_checkin_policies": case "member_of_salary_policies": case "member_of_other_liability_policies": case "member_of_nations": case "member_of_cities": case "member_of_ethnics": case "member_of_religions": case "member_of_document_types": case "member_of_orgs": case "member_of_document_groups": case "member_of_document_folders": case "member_of_template_groups": case "member_of_product_groups": case "member_of_product_list": case "member_of_piece_wage_policies": case "member_of_attendance_clock_policies": if (valueid) data = { value: params.values[valueDict[valueid]].content }; else data = {}; rs(data); break; case "any_file": case "image_file": data_module.makeImageContent(EncodingClass.string.toVariable(params.values[valueDict[valueid]].content)).then(function(result){ rs(result); }); break; case "enum": if (valueid) data = { value: params.values[valueDict[valueid]].content }; else data = {}; rs(data); break; case "userlist": case "members_of_shifts": case "members_of_locations": case "members_of_partner_class": if (valueid) data = { values: EncodingClass.string.toVariable(params.values[valueDict[valueid]].content) }; else data = {}; rs(data); break; case "structure": index = typeDict[typeid]; typeContent = params.typelists[index].content.details; data = {}; if (valueid) { var t_values = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); var dict_values = {}; t_values.forEach(function(elt){ dict_values[elt.localid] = elt.valueid; }); var t_data = {}; for (var i = 0; i < typeContent.length; i++){ value = generateData(typeContent[i].type, dict_values[typeContent[i].localid], typeContent[i]); // if (value === null) return null; t_data[typeContent[i].localid] = value; } Promise.all(Object.values(t_data)).then(function(result){ var a = Object.keys(t_data); for (var i = 0; i < a.length; i++){ if (result[i] === null){ rs(null); break; } if (result[i] && result[i].detailUnion){ data[a[i]] = { value: result[i].value } Object.assign(data, result[i].detailUnion); } else data[a[i]] = result[i]; } rs(data); }, function(message){rj(message);}); } break; case "extends_structure": index = typeDict[typeid]; typeContent = params.typelists[index].content; t_id = typeContent.typeof; content = params.typelists[typeDict[t_id]].content.details.concat(typeContent.details); while (params.typelists[typeDict[t_id]].type == "extends_structure"){ t_id = params.typelists[typeDict[t_id]].content.typeof; content = params.typelists[typeDict[t_id]].content.details.concat(content) } data = {}; if (valueid) { var t_values = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); var dict_values = {}; t_values.forEach(function(elt){ dict_values[elt.localid] = elt.valueid; }); var t_data = {}; for (var i = 0; i < content.length; i++){ value = generateData(content[i].type, dict_values[content[i].localid], content[i]); // if (value === null) return null; t_data[content[i].localid] = value; } Promise.all(Object.values(t_data)).then(function(result){ var a = Object.keys(t_data); for (var i = 0; i < a.length; i++){ if (result[i] === null){ rs(null); break; } if (result[i] && result[i].detailUnion){ data[a[i]] = { value: result[i].value } Object.assign(data, result[i].detailUnion); } else data[a[i]] = result[i]; } rs(data); }, function(message){rj(message);}) } break; case "extends_enum": if (valueid) data = { value: params.values[valueDict[valueid]].content }; else data = {}; rs(data); break; case "array": index = typeDict[typeid]; typeContent = params.typelists[index].content; t_id = typeContent.typeof; data = {}; if (valueid) { var valueContent = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); dataTypeOfArray = contentModule.checkDatatypeOfArray(params.typelists, t_id); if (dataTypeOfArray == "advanced"){ data[typeid] = []; t_type = getType(typeDict[t_id]); if (t_type == "structure" || t_type == "extends_structure"){ var t_data = []; for (i = 0; i < valueContent.length; i++){ var x = generateData(t_id, valueContent[i]); t_data.push(x); } Promise.all(t_data).then(function(result){ data[typeid] = result; rs(data); }, function(message){rj(message);}); } else { var t_data = []; for (i = 0; i < valueContent.length; i++){ t_data.push(generateData(t_id, valueContent[i])); } Promise.all(t_data).then(function(result){ result.forEach(function(elt){ var x = {}; x[t_id] = elt; data[typeid].push(x); }); rs(data); }, function(message){rj(message);}); } } else { data[typeid] = {records: []}; t_type = getType(typeDict[t_id]); if (t_type == "structure" || t_type == "extends_structure"){ content = params.typelists[typeDict[t_id]].content.details; var t_dict = {}; content.forEach(function(elt){ t_dict[elt.localid] = elt.type; }); var t_data = []; for (i = 0; i < valueContent.length; i++){ t_data.push(generateData(t_id, valueContent[i])); } Promise.all(t_data).then(function(result){ result.forEach(function(x){ var keys = Object.keys(x); keys.forEach(function(elt){ if (x[elt] instanceof Object) x[elt] = x[elt].value; }) data[typeid].records.push(x); }); rs(data); }, function(message){rj(message);}) } else { var t_data = []; for (i = 0; i < valueContent.length; i++){ t_data.push(generateData(t_id, valueContent[i])); } Promise.all(t_data).then(function(result){ result.forEach(function(x){ if (x instanceof Object) x = x.value; var st = {}; st[t_id] = x; data[typeid].records.push(st); }); rs(data); }, function(message){rj(message);}) } } } else { rs([]) } break; case "union": if (valueid) { var t_values = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); data = { value: t_values.value, detailUnion: {} }; var detailUnion = {}; t_values.detailUnion.forEach(function(elt){ detailUnion[elt.localid] = elt.valueid; }); var t_data = {}; if (currentPath.detailUnion[data.value]){ currentPath.detailUnion[data.value].forEach(function(elt){ t_data[elt.localid] = generateData(elt.type, detailUnion[elt.localid], elt); }); } Promise.all(Object.values(t_data)).then(function(result){ var a = Object.keys(t_data); for (var i = 0; i < a.length; i++){ if (result[i] === null){ rs(null); break; } data.detailUnion[a[i]] = result[i]; } rs(data); }, function(message){rj(message);}); } else rs({}); break; default: rj("undefined type: " + type); } }); }; generateData(typeid, valueid).then(function(result){ if (result === null) resolve(null); resolve(result) }, function(message){console.log(message); reject(message);}); }); }; form_module.makeDataToSave = function(formView, typeid, typelists){ var typeDict = {}; typelists.forEach(function(elt, index){ typeDict[elt.id] = index; }); var primitiveTypeList = form_module.primitiveTypeList; var getType = function(index){ var type = typelists[index].type; if ( form_module.primitiveTypeList.indexOf(type) != -1 ){ type = typelists[index].type2; } return type; } var generateData = function(valueContent, typeid, elt){ var data; var value, index, typeContent, t_id, dataTypeOfArray, content; var type; if (isNaN(parseInt(typeid, 10))) type = typeid; else type = getType(typeDict[typeid]); switch (type) { case "nation_city": if (elt && elt.require && valueContent.value.length < 2) { ModalElement.alert({message: "Chưa chọn " + elt.name}); return null; } data = { values: valueContent.value, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "position_list": data = []; index = typeDict[typeid]; typeContent = typelists[index].content; t_id = typeContent.typeof; for (var i = 0; i < valueContent[typeid].length; i++){ var x = generateData(valueContent[typeid][i], t_id); if (x === null) return null; data.push(x); } data = { value: data, typeid: typeid, // localid: elt ? elt.localid : undefined, privtype: type }; if (elt) data.localid = elt.localid; break; case "employee_list": if (elt && elt.require && valueContent.values.length == 0) { ModalElement.alert({message: "Chưa chọn " + elt.name}); return null; } data = { values: valueContent.values, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; // data = []; // index = typeDict[typeid]; // typeContent = typelists[index].content; // t_id = typeContent.typeof; // for (var i = 0; i < valueContent[typeid].length; i++){ // var x = generateData(valueContent[typeid][i], t_id); // if (x === null) return null; // data.push(x); // } // data = { // value: data, // typeid: typeid, // // localid: elt ? elt.localid : undefined, // privtype: type // }; // if (elt) data.localid = elt.localid; // break; case "number": if (elt && elt.require && valueContent == "") { ModalElement.alert({message: "Chưa nhập " + elt.name}); return null; } data = { value: valueContent, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "currency": if (elt && elt.require && valueContent == "") { ModalElement.alert({message: "Chưa nhập " + elt.name}); return null; } data = { value: valueContent, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "string": case "phonenumber": case "website": case "gps": case "note": case "html": case "variable_input": case "variable_textarea": case "email_address": valueContent = valueContent.trim(); if (elt && elt.require && valueContent == "") { absol.form.traversal(formView, function(path){ if (path.node["$" + elt.localid]) { ModalElement.alert({ message: "Chưa nhập " + elt.name, func: function(){ path.node["$" + elt.localid].domElt.focus(); } }); path.stop(); } }); return null; } data = { value: valueContent, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "date": case "datetime": case "datemonth": case "time": case "boolean": data = { value: valueContent, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "hour_period": data = { value: valueContent, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "user": // case "language": case "geopos": case "member_of_position": case "member_of_position_2": case "member_of_people": case "member_of_employee": case "member_of_worktime_machines": case "member_of_assets": case "member_of_instruments_and_tools": case "member_of_assets_instruments_and_tools": case "member_of_warehouses": case "member_of_welcome_templates": case "member_of_allowance_policy_groups": case "member_of_bonus_policy_groups": case "member_of_piece_wage_policy_groups": case "member_of_attendance_clock_policy_groups": case "member_of_standard_workday_policy_groups": case "member_of_work_flow_groups": case "member_of_work_flows": case "member_of_payroll_cycle": case "member_of_objects": case "member_of_lesson_categories": case "member_of_typelists": case "member_of_input_forms": case "member_of_output_forms": case "member_of_mobile_input_forms": case "member_of_mobile_output_forms": case "member_of_partner_class": case "member_of_partner": case "member_of_contact": case "member_of_other_liability_policy_groups": case "member_of_other_policy_groups": case "member_of_salary_policy_groups": case "member_of_trade_union_policy_groups": case "member_of_overtime_policy_groups": case "member_of_offboarding_types": case "member_of_offboarding_reasons": case "multiselect_offboarding_reasons": case "member_of_punishment_policy_groups": case "member_of_asset_category": case "member_of_instruments_and_tools_category": case "member_of_projects": case "member_of_tax_policy_groups": case "member_of_advance_payment_policy_groups": case "member_of_late_early_checkin_policy_groups": case "member_of_benefit_policy_groups": case "member_of_leave_policy_groups": case "member_of_employment_contract_types": case "member_of_insurance_policy_groups": case "member_of_training_program_groups": case "member_of_shifts": case "member_of_timesheets": case "member_of_pay_percentage": case "member_of_insurance_policies": case "member_of_tax_policies": case "member_of_trade_union_policies": case "member_of_benefit_policies": case "member_of_allowance_policies": case "member_of_standard_workday_policies": case "member_of_bonus_policies": case "member_of_overtime_policies": case "member_of_punishment_policies": case "member_of_leave_policies": case "member_of_advance_payment_policies": case "member_of_late_early_checkin_policies": case "member_of_salary_policies": case "member_of_other_liability_policies": case "member_of_nations": case "member_of_cities": case "member_of_ethnics": case "member_of_religions": case "member_of_document_types": case "member_of_orgs": case "member_of_template_groups": case "member_of_product_groups": case "member_of_product_list": case "member_of_piece_wage_policies": case "member_of_attendance_clock_policies ": if (elt && elt.require && valueContent.value == 0) { ModalElement.alert({message: "Chưa chọn " + elt.name}); return null; } data = { value: valueContent.value, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "member_of_department": data = { value: valueContent.value, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "member_of_document_groups": data = { value: valueContent.value, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "member_of_document_folders": data = { value: valueContent.value, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "image_file": data = { value: valueContent ? valueContent.id : null, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "any_file": data = { value: valueContent ? valueContent.id : null, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "enum": if (elt && elt.require && valueContent.value == 0) { ModalElement.alert({message: "Chưa chọn " + elt.name}); return null; } var t_type = typelists[typeDict[typeid]].type; data = { value: valueContent.value, typeid: typeid, // localid: elt.localid, privtype: t_type }; if (elt) data.localid = elt.localid; break; case "userlist": case "members_of_shifts": case "members_of_locations": case "members_of_partner_class": if (elt && elt.require && valueContent.values.length == 0) { ModalElement.alert({message: "Chưa chọn " + elt.name}); return null; } data = { value: valueContent.values, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "structure": index = typeDict[typeid]; typeContent = typelists[index].content.details; data = []; for (var i = 0; i < typeContent.length; i++){ value = generateData(valueContent[typeContent[i].localid], typeContent[i].type, typeContent[i]); if (value === null) return null; data.push(value); } data = { value: data, typeid: typeid, // localid: elt ? elt.localid : undefined, privtype: type }; if (elt) data.localid = elt.localid; break; case "extends_structure": index = typeDict[typeid]; typeContent = typelists[index].content; t_id = typeContent.typeof; content = typelists[typeDict[t_id]].content.details.concat(typeContent.details); while (typelists[typeDict[t_id]].type == "extends_structure"){ t_id = typelists[typeDict[t_id]].content.typeof; content = typelists[typeDict[t_id]].content.details.concat(content) } data = []; for (var i = 0; i < content.length; i++){ value = generateData(valueContent[content[i].localid], content[i].type, content[i]); if (value === null) return null; data.push(value); } data = { value: data, typeid: typeid, // localid: elt ? elt.localid : undefined, privtype: type }; if (elt) data.localid = elt.localid; break; case "extends_enum": if (elt && elt.require && valueContent.value == 0) { ModalElement.alert({message: "Chưa chọn " + elt.name}); return null; } data = { value: valueContent.value, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "array": index = typeDict[typeid]; typeContent = typelists[index].content; t_id = typeContent.typeof; data = []; dataTypeOfArray = contentModule.checkDatatypeOfArray(typelists, t_id); if (dataTypeOfArray == "advanced"){ t_type = getType(typeDict[t_id]); if (t_type == "structure" || t_type == "extends_structure"){ for (i = 0; i < valueContent[typeid].length; i++){ var x = generateData(valueContent[typeid][i], t_id); if (x === null) return null; // var subdata = { // value: x, // privtype: t_type, // typeid: t_id // }; data.push(x); } } else { for (i = 0; i < valueContent[typeid].length; i++){ var x = generateData(valueContent[typeid][i][t_id], t_id); if (x === null) return null; // var subdata = { // value: x, // privtype: t_type, // typeid: t_id // }; data.push(x); } } } else { t_type = getType(typeDict[t_id]); if (t_type == "structure" || t_type == "extends_structure"){ content = typelists[typeDict[t_id]].content.details; var t_dict = {}; content.forEach(function(elt){ t_dict[elt.localid] = elt.type; }) for (i = 0; i < valueContent[typeid].records.length; i++){ var keys = Object.keys(valueContent[typeid].records[i]); var subdata = { value: [], privtype: t_type, typeid: t_id }; keys.forEach(function(elt){ subdata.value.push({ value: valueContent[typeid].records[i][elt], localid: elt, typeid: t_dict[elt], privtype: typelists[typeDict[t_dict[elt]]].type }); }) data.push(subdata); } } else { for (i = 0; i < valueContent[typeid].records.length; i++){ var x = generateData(valueContent[typeid].records[i][t_id], t_id); if (x === null) return null; data.push(x); } } } data = { value: data, typeid: typeid, // localid: elt.localid, privtype: type }; if (elt) data.localid = elt.localid; break; case "union": if (elt && elt.require && valueContent.value == 0) { ModalElement.alert({message: "Chưa chọn " + elt.name}); return null; } data = { value: valueContent.value, detailUnion: [], typeid: elt.typeOfUnion, // localid: elt ? elt.localid : undefined, privtype: type }; if (elt.detailUnion[data.value]){ for (var i = 0; i < elt.detailUnion[data.value].length; i++){ value = generateData(formView.props[elt.detailUnion[data.value][i].localid], elt.detailUnion[data.value][i].type, elt.detailUnion[data.value][i]); if (value === null) return null; data.detailUnion.push(value); } } if (elt) data.localid = elt.localid; break; default: } return data; }; var data = generateData(formView.props, typeid); if (data === null) return null; return data; }; form_module.convertOutputFormToNewVersion = function(params){ var typeid, valueid; typeid = params.typeid; valueid = params.valueid; return new Promise(function(resolve, reject){ var typeDict = contentModule.makeDictionaryIndex(params.typelists); var valueDict = contentModule.makeDictionaryIndex(params.values); var primitiveTypeList = form_module.primitiveTypeList; var getType = function(index){ var type = params.typelists[index].type; if ( form_module.primitiveTypeList.indexOf(type) != -1 ){ type = params.typelists[index].type2; } return type; } var localDatabase = {}; var generateData = function(typeid, valueid, currentPath){ return new Promise(function(rs, rj){ var value, index, typeContent, t_id, dataTypeOfArray, content; var type; if (isNaN(parseInt(typeid))) type = typeid; else type = getType(typeDict[typeid]); var data; switch (type) { case "nation_city": if (valueid) data = { values: params.values[valueDict[valueid]].content }; else data = {}; rs(data); break; case "position_list": data = {}; data[typeid] = []; if (valueid){ var index = typeDict[typeid]; var typeContent = params.typelists[index].content; var t_id = typeContent.typeof; var valueContent = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); valueContent.forEach(function(elt){ data[typeid].push(generateData(t_id, elt)); }); } rs(data); break; case "employee_list": if (valueid) data = { values: params.values[valueDict[valueid]].content }; else data = {}; rs(data); // data = {}; // data[typeid] = []; // if (valueid){ // var index = typeDict[typeid]; // var typeContent = params.typelists[index].content; // var t_id = typeContent.typeof; // var valueContent = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); // valueContent.forEach(function(elt){ // data[typeid].push(generateData(t_id, elt)); // }); // } // rs(data); break; case "number": if (valueid) data = parseInt(params.values[valueDict[valueid]].content, 10); else data = 0; rs(data); break; case "currency": if (valueid) data = parseInt(params.values[valueDict[valueid]].content, 10); else data = 0; rs(data); break; case "string": case "phonenumber": case "website": case "gps": case "html": case "variable_input": case "variable_textarea": case "email_address": if (valueid) data = params.values[valueDict[valueid]].content; else data = ""; rs(data); break; case "date": case "datetime": case "datemonth": case "boolean": if (valueid) data = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); else data = ""; rs(data); break; case "hour_period": if (valueid) data = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); else data = ""; rs(data); break; case "time": data = params.values[valueDict[valueid]].content; rs(data); break; case "user": // case "language": case "geopos": case "member_of_position": case "member_of_position_2": case "member_of_people": case "member_of_employee": case "member_of_worktime_machines": case "member_of_department": case "member_of_assets": case "member_of_instruments_and_tools": case "member_of_assets_instruments_and_tools": case "member_of_warehouses": case "member_of_welcome_templates": case "member_of_allowance_policy_groups": case "member_of_bonus_policy_groups": case "member_of_piece_wage_policy_groups": case "member_of_attendance_clock_policy_groups": case "member_of_standard_workday_policy_groups": case "member_of_work_flow_groups": case "member_of_work_flows": case "member_of_payroll_cycle": case "member_of_objects": case "member_of_lesson_categories": case "member_of_typelists": case "member_of_input_forms": case "member_of_output_forms": case "member_of_mobile_input_forms": case "member_of_mobile_output_forms": case "member_of_partner_class": case "member_of_partner": case "member_of_contact": case "member_of_other_liability_policy_groups": case "member_of_other_policy_groups": case "member_of_salary_policy_groups": case "member_of_trade_union_policy_groups": case "member_of_overtime_policy_groups": case "member_of_offboarding_types": case "member_of_offboarding_reasons": case "multiselect_offboarding_reasons": case "member_of_punishment_policy_groups": case "member_of_asset_category": case "member_of_instruments_and_tools_category": case "member_of_projects": case "member_of_tax_policy_groups": case "member_of_advance_payment_policy_groups": case "member_of_late_early_checkin_policy_groups": case "member_of_benefit_policy_groups": case "member_of_leave_policy_groups": case "member_of_employment_contract_types": case "member_of_insurance_policy_groups": case "member_of_training_program_groups": case "member_of_shifts": case "member_of_timesheets": case "member_of_pay_percentage": case "member_of_insurance_policies": case "member_of_tax_policies": case "member_of_trade_union_policies": case "member_of_benefit_policies": case "member_of_allowance_policies": case "member_of_standard_workday_policies": case "member_of_bonus_policies": case "member_of_overtime_policies": case "member_of_punishment_policies": case "member_of_leave_policies": case "member_of_advance_payment_policies": case "member_of_late_early_checkin_policies": case "member_of_salary_policies": case "member_of_other_liability_policies": case "member_of_nations": case "member_of_cities": case "member_of_ethnics": case "member_of_religions": case "member_of_document_types": case "member_of_orgs": case "member_of_document_groups": case "member_of_document_folders": case "member_of_template_groups": case "member_of_product_groups": case "member_of_product_list": case "member_of_piece_wage_policies": case "member_of_attendance_clock_policies": if (valueid) data = { value: params.values[valueDict[valueid]].content }; else data = {}; rs(data); break; case "any_file": case "image_file": data_module.makeImageContent(EncodingClass.string.toVariable(params.values[valueDict[valueid]].content)).then(function(result){ rs(result); }); break; case "enum": if (valueid) data = { value: params.values[valueDict[valueid]].content }; else data = {}; rs(data); break; case "userlist": case "members_of_shifts": case "members_of_locations": case "members_of_partner_class": if (valueid) data = { values: EncodingClass.string.toVariable(params.values[valueDict[valueid]].content) }; else data = {}; rs(data); break; case "structure": index = typeDict[typeid]; typeContent = params.typelists[index].content.details; data = {}; if (valueid) { var t_values = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); var dict_values = {}; t_values.forEach(function(elt){ dict_values[elt.localid] = elt.valueid; }); var t_data = {}; for (var i = 0; i < typeContent.length; i++){ value = generateData(typeContent[i].type, dict_values[typeContent[i].localid], typeContent[i]); // if (value === null) return null; t_data[typeContent[i].localid] = value; } Promise.all(Object.values(t_data)).then(function(result){ var a = Object.keys(t_data); for (var i = 0; i < a.length; i++){ if (result[i] === null){ rs(null); break; } if (result[i] && result[i].detailUnion){ data[a[i]] = { value: result[i].value } Object.assign(data, result[i].detailUnion); } else data[a[i]] = result[i]; } rs(data); }, function(message){rj(message);}); } break; case "extends_structure": index = typeDict[typeid]; typeContent = params.typelists[index].content; t_id = typeContent.typeof; content = params.typelists[typeDict[t_id]].content.details.concat(typeContent.details); while (params.typelists[typeDict[t_id]].type == "extends_structure"){ t_id = params.typelists[typeDict[t_id]].content.typeof; content = params.typelists[typeDict[t_id]].content.details.concat(content) } data = {}; if (valueid) { var t_values = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); var dict_values = {}; t_values.forEach(function(elt){ dict_values[elt.localid] = elt.valueid; }); var t_data = {}; for (var i = 0; i < content.length; i++){ value = generateData(content[i].type, dict_values[content[i].localid], content[i]); // if (value === null) return null; t_data[content[i].localid] = value; } Promise.all(Object.values(t_data)).then(function(result){ var a = Object.keys(t_data); for (var i = 0; i < a.length; i++){ if (result[i] === null){ rs(null); break; } if (result[i] && result[i].detailUnion){ data[a[i]] = { value: result[i].value } Object.assign(data, result[i].detailUnion); } else data[a[i]] = result[i]; } rs(data); }, function(message){rj(message);}) } break; case "extends_enum": if (valueid) data = { value: params.values[valueDict[valueid]].content }; else data = {}; rs(data); break; case "array": index = typeDict[typeid]; typeContent = params.typelists[index].content; t_id = typeContent.typeof; data = {}; if (valueid) { var valueContent = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); dataTypeOfArray = contentModule.checkDatatypeOfArray(params.typelists, t_id); if (dataTypeOfArray == "advanced"){ data[typeid] = []; t_type = getType(typeDict[t_id]); if (t_type == "structure" || t_type == "extends_structure"){ var t_data = []; for (i = 0; i < valueContent.length; i++){ var x = generateData(t_id, valueContent[i]); t_data.push(x); } Promise.all(t_data).then(function(result){ data[typeid] = result; rs(data); }, function(message){rj(message);}); } else { var t_data = []; for (i = 0; i < valueContent.length; i++){ t_data.push(generateData(t_id, valueContent[i])); } Promise.all(t_data).then(function(result){ result.forEach(function(elt){ var x = {}; x[t_id] = elt; data[typeid].push(x); }); rs(data); }, function(message){rj(message);}); } } else { data[typeid] = {records: []}; t_type = getType(typeDict[t_id]); if (t_type == "structure" || t_type == "extends_structure"){ content = params.typelists[typeDict[t_id]].content.details; var t_dict = {}; content.forEach(function(elt){ t_dict[elt.localid] = elt.type; }); var t_data = []; for (i = 0; i < valueContent.length; i++){ t_data.push(generateData(t_id, valueContent[i])); } Promise.all(t_data).then(function(result){ result.forEach(function(x){ var keys = Object.keys(x); keys.forEach(function(elt){ if (x[elt] instanceof Object) x[elt] = x[elt].value; }) data[typeid].records.push(x); }); rs(data); }, function(message){rj(message);}) } else { var t_data = []; for (i = 0; i < valueContent.length; i++){ t_data.push(generateData(t_id, valueContent[i])); } Promise.all(t_data).then(function(result){ result.forEach(function(x){ if (x instanceof Object) x = x.value; var st = {}; st[t_id] = x; data[typeid].records.push(st); }); rs(data); }, function(message){rj(message);}) } } } else { rs([]) } break; case "union": if (valueid) { var t_values = EncodingClass.string.toVariable(params.values[valueDict[valueid]].content); data = { value: t_values.value, detailUnion: {} }; var detailUnion = {}; t_values.detailUnion.forEach(function(elt){ detailUnion[elt.localid] = elt.valueid; }); var t_data = {}; if (currentPath.detailUnion[data.value]){ currentPath.detailUnion[data.value].forEach(function(elt){ t_data[elt.localid] = generateData(elt.type, detailUnion[elt.localid], elt); }); } Promise.all(Object.values(t_data)).then(function(result){ var a = Object.keys(t_data); for (var i = 0; i < a.length; i++){ if (result[i] === null){ rs(null); break; } data.detailUnion[a[i]] = result[i]; } rs(data); }, function(message){rj(message);}); } else rs({}); break; default: rj("undefined type: " + type); } }); }; generateData(typeid, valueid).then(function(result){ if (result === null) resolve(null); resolve(result) }, function(message){console.log(message); reject(message);}); }); }; form_module.getNameDictOfTypelist = function(content, dict){ for (var i = 0; i < content.details.length; i++){ dict[content.details[i].localid] = 1; if (content.details[i].localid.type == "union"){ var keys = Object.keys(content.details[i].detailUnion); for (var j = 0; j < keys.length; j++){ form_module.getNameDictOfTypelist(content.details[i].detailUnion[keys[j]], dict); } } } }; form_module.makeLayoutFormDictionary = function(form, nameDict, dictionary){ for (var i = 0; i < form.length; i++){ if (nameDict[form[i].attributes.name]) { dictionary.layout[form[i].attributes.name] = form[i]; } else if (form[i].children){ form_module.makeLayoutFormDictionary(form[i].children, nameDict, dictionary); } } }; form_module.makeCircuitFormDictionary = function(circuit, dictionary){ for (var i = 0; i < circuit.blocks.length; i++){ dictionary.circuit.blocks[circuit.blocks[i].attributes.ident] = circuit.blocks[i]; } for (var i = 0; i < circuit.lines.length; i++){ dictionary.circuit.lines[circuit.lines[i].attributes.ident] = circuit.lines[i]; } }; form_module.convertLayoutInputFormToNewVersion = function(content, dictionary){ var temp, t_name; for (var i = 0; i < content.length; i++){ if (content[i].attributes && content[i].attributes.name){ if (content[i].attributes.name.indexOf("_employeeid_container") != -1) { if (content[i].children[0].attributes && content[i].children[0].attributes.name && content[i].children[0].attributes.name.indexOf("_choose_company") != -1) { t_name = content[i].attributes.name; content[i] = content[i].children[2]; content[i].attributes.name = t_name; content[i].children[1].tag = "TreeLeafComboBox"; } } else if (content[i].attributes.name.indexOf("_positionid_container") != -1) { if (content[i].children[0].attributes && content[i].children[0].attributes.name && content[i].children[0].attributes.name.indexOf("_choose_company") != -1) { t_name = content[i].attributes.name; content[i] = content[i].children[2]; content[i].attributes.name = t_name; content[i].children[1].tag = "TreeLeafComboBox"; } } // else if (content[i].attributes.name.indexOf("_attachments_container") != -1) { // if (dictionary.layout[content[i].children[1].attributes.name]){ // temp = EncodingClass.string.duplicate(dictionary.layout[content[i].children[1].attributes.name]); // content[i] = temp; // } // // content[i] = content[i].children[1]; // } else if (dictionary.layout[content[i].attributes.name]){ if ( !(content[i].tag && dictionary.layout[content[i].attributes.name].tag) || (content[i].tag && !dictionary.layout[content[i].attributes.name].tag) || (content[i].tag && dictionary.layout[content[i].attributes.name].tag && (content[i].tag != dictionary.layout[content[i].attributes.name].tag)) ){ temp = EncodingClass.string.duplicate(dictionary.layout[content[i].attributes.name]); content[i] = temp; } } if (content[i].children) { form_module.convertLayoutInputFormToNewVersion(content[i].children, dictionary); } } else if (content[i].children) { form_module.convertLayoutInputFormToNewVersion(content[i].children, dictionary); } } }; form_module.convertCircuitInputFormToNewVersion = function(circuit, dictionary){ var blockDict = {}; if (!circuit.blocks) circuit.blocks = []; if (!circuit.lines) circuit.lines = []; var count = circuit.blocks.length; var isEmp = false; var isPos = false; for (var i = 0; i < count; i++){ if (circuit.blocks[i].attributes.ident && dictionary.circuit.blocks[circuit.blocks[i].attributes.ident]) { if (!circuit.blocks[i].attributes.isModified) { circuit.blocks[i] = dictionary.circuit.blocks[circuit.blocks[i].attributes.ident]; blockDict[circuit.blocks[i].attributes.ident] = 1; } } if (!circuit.blocks[i].attributes.ident && dictionary.circuit.blocks[circuit.blocks[i].attributes.id]) { circuit.blocks[i] = dictionary.circuit.blocks[circuit.blocks[i].attributes.id]; blockDict[circuit.blocks[i].attributes.id] = 1; } if (circuit.blocks[i].attributes.ident == "load_member_of_employee_items" && circuit.blocks[i].attributes.args && circuit.blocks[i].attributes.args.length == 1 && circuit.blocks[i].attributes.args[0] == "departmentid"){ isEmp = true; circuit.blocks[i].attributes.body = "console.log(form_module.tag2OnCreated.member_of_employee(this.fragment));return form_module.tag2OnCreated.member_of_employee(this.fragment);"; circuit.blocks[i].attributes.args = []; circuit.blocks.push({ attributes: { id: "member_of_employee_frag_created", ident: "member_of_employee_frag_created" }, tag: "CBEntry" }); var t_line = { u: "member_of_employee_frag_created", uPin: "signal", v: "load_member_of_employee_items", vPin: "exec" }; t_line.attributes = { ident: t_line.u + t_line.uPin + t_line.v + t_line.vPin }; circuit.lines.push(t_line); } if (circuit.blocks[i].attributes.ident == "load_member_of_position_items" && circuit.blocks[i].attributes.args && circuit.blocks[i].attributes.args.length == 1 && circuit.blocks[i].attributes.args[0] == "departmentid"){ isPos = true; circuit.blocks[i].attributes.body = "return form_module.tag2OnCreated.member_of_position();"; circuit.blocks[i].attributes.args = []; circuit.blocks.push({ attributes: { id: "member_of_position_frag_created", ident: "member_of_position_frag_created" }, tag: "CBEntry" }); var t_line = { u: "member_of_position_frag_created", uPin: "signal", v: "load_member_of_position_items", vPin: "exec" }; t_line.attributes = { ident: t_line.u + t_line.uPin + t_line.v + t_line.vPin }; circuit.lines.push(t_line); } } var keys = Object.keys(dictionary.circuit.blocks); keys.forEach(function(elt){ if (!blockDict[elt]) circuit.blocks.push(dictionary.circuit.blocks[elt]); }); var lineDict = {}; for (var i = 0; i < circuit.lines.length; i++){ if (circuit.lines[i].attributes && circuit.lines[i].attributes.ident && dictionary.circuit.lines[circuit.lines[i].attributes.ident]) { if (!circuit.lines[i].attributes.isModified) { circuit.lines[i] = dictionary.circuit.lines[circuit.lines[i].attributes.ident]; lineDict[circuit.lines[i].attributes.ident] = 1; } } if ((!circuit.lines[i].attributes || !circuit.lines[i].attributes.ident) && dictionary.circuit.lines[circuit.lines[i].u + circuit.lines[i].uPin + circuit.lines[i].v + circuit.lines[i].vPin]) { circuit.lines[i] = dictionary.circuit.lines[circuit.lines[i].u + circuit.lines[i].uPin + circuit.lines[i].v + circuit.lines[i].vPin]; lineDict[circuit.lines[i].u + circuit.lines[i].uPin + circuit.lines[i].v + circuit.lines[i].vPin] = 1; } } keys = Object.keys(dictionary.circuit.lines); keys.forEach(function(elt){ if (!lineDict[elt]) circuit.lines.push(dictionary.circuit.lines[elt]); }); if (isEmp) { count = circuit.blocks.length; for (var i = 0; i < count; i++){ if ( circuit.blocks[i].attributes.ident == "member_of_employee_choose_company_frag_created" || circuit.blocks[i].attributes.ident == "load_member_of_employee_choose_company_items" || circuit.blocks[i].attributes.ident == "load_member_of_employee_choose_department_items" || circuit.blocks[i].attributes.ident == "load_member_of_employee_check_company_length" ){ circuit.blocks.splice(i, 1); i--; count = circuit.blocks.length; } } count = circuit.lines.length; for (var i = 0; i < count; i++){ if ( circuit.lines[i].u == "load_member_of_employee_choose_company_items" || circuit.lines[i].v == "load_member_of_employee_choose_company_items" || circuit.lines[i].u == "load_member_of_employee_choose_department_items" || circuit.lines[i].v == "load_member_of_employee_choose_department_items" || circuit.lines[i].u == "load_member_of_employee_check_company_length" || circuit.lines[i].v == "load_member_of_employee_check_company_length" ){ circuit.lines.splice(i, 1); i--; count = circuit.lines.length; } } } if (isPos) { count = circuit.blocks.length; for (var i = 0; i < count; i++){ if ( circuit.blocks[i].attributes.ident == "member_of_position_choose_company_frag_created" || circuit.blocks[i].attributes.ident == "load_member_of_position_choose_company_items" || circuit.blocks[i].attributes.ident == "load_member_of_position_choose_department_items" ){ circuit.blocks.splice(i, 1); i--; count = circuit.blocks.length; } } count = circuit.lines.length; for (var i = 0; i < count; i++){ if ( circuit.lines[i].u == "load_member_of_position_choose_company_items" || circuit.lines[i].v == "load_member_of_position_choose_company_items" || circuit.lines[i].u == "load_member_of_position_choose_department_items" || circuit.lines[i].v == "load_member_of_position_choose_department_items" ){ circuit.lines.splice(i, 1); i--; count = circuit.lines.length; } } } }; form_module.defaultMobileInputFormForPrimitiveType = function(){ var resolveFunc = function (content, rs) { content = EncodingClass.string.duplicate(content); content.forEach(function(elt){ elt.name = elt.name + " (" + LanguageModule.text("txt_system") + ")" elt.id = "m_" + elt.formid; }); rs(content); }; var waitFunc = function (resolveFunc) { return function (rs, waitFunc, varname) { if (window[varname] == "ready") { resolveFunc(cache_forms_data.input_form_mobile_system_load, rs); } else { setTimeout(function (rs, waitFunc, varname) { return function () { waitFunc(rs, waitFunc, varname); } } (rs, waitFunc, varname), 10); } } } (resolveFunc); switch (cache_forms_status) { case "none": return new Promise(function (resolveFunc) { return function(rs, rj) { FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "input_form_mobile_system_load"} ], func: function(success, message) { if (success) { if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); resolveFunc(content, rs); } else { console.log(message); rj(message) } } else { console.log(message); rj(message) } } }) } } (resolveFunc)); case "ready": return new Promise(function (resolveFunc, content) { return function(resolve, reject) { resolveFunc(content, resolve); } } (resolveFunc, cache_forms_data.input_form_mobile_system_load)); case "pending": return new Promise(function (waitFunc, varname) { return function(resolve, reject) { waitFunc(resolve, waitFunc, varname); } } (waitFunc, "cache_forms_status")); } }; form_module.defaultMobileOutputFormForPrimitiveType = function(){ var resolveFunc = function (content, rs) { content = EncodingClass.string.duplicate(content); content.forEach(function(elt){ elt.name = elt.name + " (" + LanguageModule.text("txt_system") + ")" elt.id = "m_" + elt.formid; }); rs(content); }; var waitFunc = function (resolveFunc) { return function (rs, waitFunc, varname) { if (window[varname] == "ready") { resolveFunc(cache_forms_data.output_form_mobile_system_load, rs); } else { setTimeout(function (rs, waitFunc, varname) { return function () { waitFunc(rs, waitFunc, varname); } } (rs, waitFunc, varname), 10); } } } (resolveFunc); switch (cache_forms_status) { case "none": return new Promise(function (resolveFunc) { return function(rs, rj) { FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "output_form_mobile_system_load"} ], func: function(success, message) { if (success) { if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); resolveFunc(content, rs); } else { console.log(message); rj(message) } } else { console.log(message); rj(message) } } }) } } (resolveFunc)); case "ready": return new Promise(function (resolveFunc, content) { return function(resolve, reject) { resolveFunc(content, resolve); } } (resolveFunc, cache_forms_data.output_form_mobile_system_load)); case "pending": default: return new Promise(function (waitFunc, varname) { return function(resolve, reject) { waitFunc(resolve, waitFunc, varname); } } (waitFunc, "cache_forms_status")); } }; form_module.makeMobileDefaultForm = function(){ var host = { taskName: "m_input", isMobile: true, database: {} }; var typelists = contentModule.getDatatypePrimitiveList(); host.formDict = {}; form_module.defaultMobileInputFormForPrimitiveType().then(function(formContent){ contentModule.makeDatabaseContent(host, {typelists: [], input_forms: formContent}); data_module.mobile_input_forms.items.forEach(function(elt){ elt.content = EncodingClass.string.toVariable(elt.content); host.formDict[elt.id] = elt; }); data_module.typelists.items = data_module.typelists.items.concat(typelists); var dict = {}; data_module.typelists.items.forEach(function (elt, index) { dict[elt.id] = elt; }); host.typeDict = dict; var makeFormFunc = function(typeid){ return new Promise(function(rs, rj){ var form_content = form_module.generateDefaultLinearMobileInputForm(host, typeid, host.typeDict[typeid]); if (form_content.typeid) { makeFormFunc(form_content.typeid).then(function(){ makeFormFunc(typeid); }); return; } else { var content = { layout: { tag: "LinearLayout", style: { overflowY: "visible", height: "auto", width: host.isMobile ? 350 : "auto" }, attributes: {} }, circuit: {} }; var params = { typeid: parseInt(typeid, 10), name: dict[typeid].name, content: content }; var childrenid = ""; if (dict[params.typeid].type == "shift_worktime") params.content.layout.attributes.name = "ValidTimeShift"; else if (dict[params.typeid].includedid) { if (dict[params.typeid].includedid.indexOf("_-270_") != -1) params.content.layout.attributes.name = "ValidTimeShift"; } if (dict[params.typeid].type == "array" || dict[params.typeid].type2 == "array"){ params.content.layout.style.width = "auto"; params.content.layout.children = [form_content]; if (form_content.tag != "TableInput") childrenid = "_" + form_content.attributes.itemFragmentClass; } else if ( dict[params.typeid].type == "structure" || dict[params.typeid].type == "extends_structure" || dict[params.typeid].type2 == "structure" ) { var getChildrenIdList = function(cur){ if (cur.class && !isNaN(parseInt(cur.class))){ childrenid += "_" + parseInt(cur.class); } else if (cur.children && cur.children.length > 0){ cur.children.forEach(function(elt){ getChildrenIdList(elt); }) } } params.content.layout.children = form_content.layout; form_content.layout.forEach(function(elt){ getChildrenIdList(elt); }); params.content.circuit = form_content.circuit; } else { params.content.layout.children = [form_content.layout]; params.content.circuit = form_content.circuit; } if (childrenid != "") childrenid += "_"; params.childrenid = childrenid; params.typedescendantid = ""; contentModule.getDescendantsId(host, dict[params.typeid]).forEach(function(elt){ params.typedescendantid += "_" + elt; }); if (params.typedescendantid != "") params.typedescendantid += "_"; params.task = "m_input"; params.id = typeid; uploadFormSystem.upload(params).then(function(result){ result.id = "m_" + result.formid; result.content = EncodingClass.string.toVariable(result.content); data_module.mobile_input_forms.items.push(result); host.formDict[result.id] = result; rs(); }, function(message){ rj(message); }); } }); } typelists.forEach(function(elt){ if (elt.type2 == "structure" || elt.type2 == "array"){ if (host.formDict["m_" + elt.id]) return; var form_content = makeFormFunc(elt.id); } }); }); } form_module.selectBaseForm = function(host, typeid) { if (!host.typeDict) { host.typeDict = {}; data_module.typelists.items.forEach((item, i) => { host.typeDict[item.id] = item; }); } var path1 = form_module.getTypePath(host, typeid); data_module.typelists.items.forEach((item, i) => { if (!item.includedid) return; if (item.includedid.startsWith("_" + path1[0] + "_")) path1 = path1.concat(form_module.getTypePath(host, item.id)); }); var path = path1.filter(function(item, idx){ return path1.indexOf(item) === idx; }); var items = [{value: "select", text: LanguageModule.text("txt_select_value")}]; var task; if (host.taskName == "input") task = "input_forms"; else if (host.taskName == "m_input") task = "mobile_input_forms"; else if (host.taskName == "output") task = "output_forms"; else task = "mobile_output_forms"; data_module[task].items.forEach((item, i) => { if (path.indexOf(item.typeid) != -1) items.push({value: item.id, text: item.name}) }); var cbb = absol._({ tag: "selectmenu", props: { items: items } }); return new Promise(function(rs, rj){ ModalElement.showWindow({ index: 1, title: "Chọn Form", bodycontent: absol._({ style: { padding: "10px" }, child: [ { child: cbb }, { style: { paddingTop: "20px", textAlign: "center" }, child: [ { style: { display: "inline-block" }, child: theme.okButton({ onclick: function () { var formid = cbb.value; if (formid == "select") { ModalElement.alert({message: "Chưa chọn form"}); return; } rs(formid); ModalElement.close(1); } }) }, { style: { display: "inline-block", paddingLeft: "10px" }, child: theme.cancelButton({ onclick: function () { rj("cancel"); ModalElement.close(1); } }) } ] } ] }) }); }) } form_module.getTypePath = function(host, typeid) { var path = [typeid]; var t = []; var strIndex = 0; var content = host.typeDict[typeid]; if (!content.includedid) return path; while (strIndex < content.includedid.length - 1) { var t_index = content.includedid.indexOf("_", strIndex + 1); t.unshift(parseInt(content.includedid.substr(strIndex + 1, t_index - strIndex - 1))); strIndex = t_index; } t.forEach((item, i) => { path.unshift(item); }); return path; } form_module.deleteFieldOfLinearForm = function(content, fieldToDel) { var removeIndex = []; content.forEach((item, i) => { if (fieldToDel.localid.indexOf(item.attributes.name) != -1) { removeIndex.push(i); return; } if (fieldToDel.text.indexOf(item.attributes.text) != -1) { removeIndex.push(i); return; } if (item.children && item.children.length > 0) { form_module.deleteFieldOfLinearForm(item.children, fieldToDel); if (item.children.length == 0) removeIndex.push(i); } }); for (var i = removeIndex.length -1; i >= 0; i--) { content.splice(removeIndex[i], 1); } } form_module.makeFormBasedSample2 = function(params){ var host = params.host; var formContent; if (host.taskName == "input") formContent = data_module.input_forms; else if(host.taskName == "m_input") formContent = data_module.mobile_input_forms; else if(host.taskName == "m_output") formContent = data_module.mobile_output_forms; else formContent = data_module.output_forms; var index = formContent.getIndex(params.baseformid); var content = EncodingClass.string.duplicate(formContent.items[index].content); var typeid = params.typeid; form_module.deleteFieldOfLinearForm(content.layout.children, params.fieldToDel); console.log(content); if (content.layout.tag == "LinearLayout") { var task; if (host.taskName == "input") task = "type2inputform"; else if (host.taskName == "m_input") task = "type2mobileinputform"; else if (host.taskName == "output") task = "type2outputform"; else task = "type2mobileoutputform"; var x = form_module[task].structure(host, "structure", {content: {details: params.fieldToAdd}}); content.layout.children = content.layout.children.concat(x.layout); content.circuit.blocks = content.circuit.blocks.concat(x.circuit.blocks); content.circuit.lines = content.circuit.lines.concat(x.circuit.lines); } else { ModalElement.alert({message: "Chưa sửa hàm tạo form HyperLayout"}); } var typedescendantid = ""; contentModule.getDescendantsId(host, host.typeDict[typeid]).forEach(function(elt){ if (elt > 0) typedescendantid += "_" + elt; }); if (typedescendantid != "") typedescendantid += "_"; var childrenid = ""; var getChildrenIdList = function(cur){ if (cur.class && !isNaN(parseInt(cur.class))){ childrenid += "_" + parseInt(cur.class); } else if (cur.children && cur.children.length > 0){ cur.children.forEach(function(elt){ getChildrenIdList(elt); }) } } if (childrenid != "") childrenid += "_"; content.layout.children.forEach(function(elt){ getChildrenIdList(elt); }); var data = { typeid: typeid, name: params.formContent.name += " (copy)", content: content, childrenid: childrenid, typedescendantid: typedescendantid }; form_module.saveForm(host, data).then(function(result){ params.accumulator.formEditor.getContext(absol.form.R.PROJECT_EXPLORER).loadExpTree(); params.accumulator.formEditor.getContext(absol.form.R.PROJECT_EXPLORER).openItem('form', result.id, result.name, result, result.desc); }, function(message){ console.log(message); }); } form_module.makeFormBasedSample = function(host, typeid, formContent, baseformid, accumulator) { if (!host.typeDict) { host.typeDict = {}; data_module.typelists.items.forEach((item, i) => { host.typeDict[item.id] = item; }); } var task; if (host.taskName == "input") task = "input_forms"; else if (host.taskName == "m_input") task = "mobile_input_forms"; else if (host.taskName == "output") task = "output_forms"; else task = "mobile_output_forms"; var newPath = form_module.getTypePath(host, typeid); var baseTypeId = data_module[task].items[data_module[task].getIndex(baseformid)].typeid; var basePath = form_module.getTypePath(host, baseTypeId); var rootId = newPath[0]; for (var i = 1; i < newPath.length; i++){ if (newPath[i] == basePath[i]) rootId = newPath[i]; else break; } console.log(newPath, basePath, rootId); var fieldToDel = { localid: [], text: [] }; var tid = baseTypeId; while (tid != rootId) { host.typeDict[tid].content.details.forEach((item, i) => { fieldToDel.localid.push(item.localid); fieldToDel.text.push(item.name); }); tid = host.typeDict[tid].content.typeof; } var fieldToAdd = []; var tid = typeid; while (tid != rootId) { // host.typeDict[tid].content.details.forEach((item, i) => { // fieldToAdd.localid.push(item.localid); // fieldToAdd.text.push(item.name); // }); fieldToAdd = fieldToAdd.concat(host.typeDict[tid].content.details); tid = host.typeDict[tid].content.typeof; } console.log(fieldToDel, fieldToAdd); var params = { host: host, typeid: typeid, formContent: formContent, baseformid: baseformid, accumulator: accumulator, fieldToDel: fieldToDel, fieldToAdd: fieldToAdd } form_module.makeFormBasedSample2(params); } form_module.convertLocalidToKey = function(typeid, data, hasTable) { var typeDict = {}; data_module.typelists.items.forEach((cur) => { cur.t_type = cur.type; if (form_module.primitiveTypeList.indexOf(cur.t_type) != -1){ cur.t_type = cur.type2; } typeDict[cur.id] = cur; }); var run = function(typeid, typeDict, subdata, hasTable){ var retdata; switch (typeDict[typeid].t_type) { case "structure": retdata = {}; typeDict[typeid].content.details.forEach((cur) => { if (hasTable) { if (subdata[cur.key]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.key], true); else if (subdata[cur.localid]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.localid], true); } else { if (subdata[cur.key]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.key], false); else if (subdata[cur.localid]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.localid], false); } }); if (hasTable) { retdata.database_id = subdata.id; // Object.assign(retdata, subdata); } break; case "extends_structure": var t_id, content; t_id = typeid; content = []; while (typeDict[t_id].type === "extends_structure") { content = content.concat(typeDict[t_id].content.details); t_id = typeDict[t_id].content.typeof; } retdata = {}; retdata.extrainfo = {}; typeDict[t_id].content.details.forEach((cur) => { if (hasTable) { if (subdata[cur.key]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.key], true); else if (subdata[cur.localid]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.localid], true); } else { if (subdata[cur.key]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.key], false); else if (subdata[cur.localid]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.localid], false); } }); content.forEach((cur) => { if (subdata.extrainfo[cur.localid]) retdata.extrainfo[cur.key] = run(cur.type, typeDict, subdata.extrainfo[cur.localid], false); // if (subdata.extrainfo[cur.localid]) retdata[cur.key] = run(cur.type, typeDict, subdata.extrainfo[cur.localid], false); }); if (hasTable) { retdata.database_id = subdata.id; // Object.assign(retdata, subdata); } break; case "array": var t_id, dataTypeOfArray; retdata = []; t_id = typeDict[typeid].content.typeof; subdata.forEach((cur) => { var x = run(t_id, typeDict, cur, hasTable); retdata.push(x); }); break; default: retdata = subdata; } return retdata; } var dataByKey = []; data.forEach((cur) => { dataByKey.push(run(typeid, typeDict, cur, hasTable)); }); return dataByKey; }; form_module.convertKeyToLocalid = function(typeid, data, hasTable) { var typeDict = {}; data_module.typelists.items.forEach((cur) => { cur.t_type = cur.type; if (form_module.primitiveTypeList.indexOf(cur.t_type) != -1){ cur.t_type = cur.type2; } typeDict[cur.id] = cur; }); var run = function(typeid, typeDict, subdata, hasTable){ var retdata; switch (typeDict[typeid].t_type) { case "structure": retdata = {}; typeDict[typeid].content.details.forEach((cur) => { if (hasTable) { if (subdata[cur.key]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.key], true); else if (subdata[cur.localid]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.localid], true); } else { if (subdata[cur.key]) retdata[cur.localid] = run(cur.type, typeDict, subdata[cur.key], false); else if (subdata[cur.localid]) retdata[cur.localid] = run(cur.type, typeDict, subdata[cur.localid], false); } }); break; case "extends_structure": var t_id, content; t_id = typeid; content = []; while (typeDict[t_id].type === "extends_structure") { content = content.concat(typeDict[t_id].content.details); t_id = typeDict[t_id].content.typeof; } retdata = {}; retdata.extrainfo = {}; typeDict[t_id].content.details.forEach((cur) => { if (hasTable) { if (subdata[cur.key]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.key], true); else if (subdata[cur.localid]) retdata[cur.key] = run(cur.type, typeDict, subdata[cur.localid], true); } else { if (subdata[cur.key]) retdata[cur.localid] = run(cur.type, typeDict, subdata[cur.key], false); else if (subdata[cur.localid]) retdata[cur.localid] = run(cur.type, typeDict, subdata[cur.localid], false); } }); content.forEach((cur) => { if (subdata.extrainfo[cur.key]) retdata.extrainfo[cur.localid] = run(cur.type, typeDict, subdata.extrainfo[cur.key], false); else if (subdata.extrainfo[cur.localid]) retdata.extrainfo[cur.localid] = run(cur.type, typeDict, subdata.extrainfo[cur.localid], false); }); break; case "array": var t_id, dataTypeOfArray; retdata = []; t_id = typeDict[typeid].content.typeof; subdata.forEach((cur) => { var x = run(t_id, typeDict, cur, hasTable); retdata.push(x); }); break; default: retdata = subdata; } return retdata; } var dataByLocalid = []; data.forEach((cur) => { dataByLocalid.push(run(typeid, typeDict, cur, hasTable)); }); return dataByLocalid; }; //# sourceURL=hr:///src/form_module.php.js?