![]() 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 : |
hr.activities_task.deleteActivitiesTask = function(host, id){ return new Promise(function(resolve,reject){ ModalElement.show_loading(); FormClass.api_call({ url: "tasks_delete.php", params: [{name: "id", value: id}], func: function(success, message){ ModalElement.close(-1); if (success){ if (message.substr(0, 2) == "ok"){ var index = host.database.tasks.getIndex(id); host.database.tasks.items.splice(index, 1); resolve(); } else if (message == "lock_system"){ ModalElement.alert({message: LanguageModule.text("war_txt_system_lock")}); } else if (message == "failed_used"){ ModalElement.alert({ message: LanguageModule.text("war_txt_can_not_delete") }); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; hr.activities_task.deleteActivitiesTaskConfirm = function(host, id){ return new Promise(function(resolve,reject){ var index = host.database.tasks.getIndex(id); ModalElement.question({ title: LanguageModule.text("war_title_delete_activities_task"), message: LanguageModule.text2("war_txt_detele", [host.database.tasks.items[index].name]), onclick: function(sel){ if (sel == 0){ hr.activities_task.deleteActivitiesTask(host, id).then(function(value){ resolve(value); }); } } }); }); }; hr.activities_task.addActivitiesTaskSubmit = function(host, id, getValueFunction){ return new Promise(function(resolve, reject){ var data = getValueFunction(); if (!data) return; var oldData; if (id > 0){ oldData = host.dataTaskEdit; var ischange = contentModule.isChanged(oldData, data, ["name", "status", "expiredtime", "reminder", "assignto", "participant", "result"] ); if (!ischange){ ModalElement.close(); return; } } for (var i = 0; i < host.database.tasks.items.length; i++){ if (host.database.tasks.items[i].id == id) continue; if (host.database.tasks.items[i].name.toLowerCase() == data.name.toLowerCase()){ ModalElement.alert({message: LanguageModule.text("war_txt_exist_name")}); return; } } data.id = id; data.status = data.status? 1 : 0; participantStr = ""; data.participant.forEach(function(elt){ participantStr += "_" + elt; }); if (participantStr != "") participantStr += "_"; data.participant = participantStr; if (id > 0){ var index = host.database.tasks.getIndex(id); data.ver = host.dataTaskEdit.ver; } else { data.ver = 1; } data.extrainfo = EncodingClass.string.fromVariable(data.extrainfo); ModalElement.show_loading(); FormClass.api_call({ url: "activities_task_save.php", params: [{name: "data", value: EncodingClass.string.fromVariable(data)}], func: function(success, message){ ModalElement.close(-1); if (success){ if (message.substr(0, 2) == "ok"){ host.dataTaskEdit = EncodingClass.string.toVariable(message.substr(2)); if (host.dataTaskEdit.extrainfo == "") host.dataTaskEdit.extrainfo = {}; else host.dataTaskEdit.extrainfo = EncodingClass.string.toVariable(host.dataTaskEdit.extrainfo); var strIdx = 0; var participantStr = host.dataTaskEdit.participant; var strLength = participantStr.length; var participant = []; while (strIdx < strLength - 2){ var num = parseInt(participantStr[strIdx + 1]); if (!isNaN(num)) participant.push(num); strIdx += 2; } host.dataTaskEdit.participant = participant; if (id > 0){ var index = host.database.tasks.getIndex(id); host.database.tasks.items[index] = host.dataTaskEdit; host.drawGeneralInforFunc(); } else { id = host.dataTaskEdit.id; data.id = id; host.id = id; host.database.tasks.items.push(host.dataTaskEdit); hr.activities_task.redraw(host); } resolve(hr.activities_task.getCellActivitiesTask(host, id)); ModalElement.close(); hr.menu.changeCurrentUrlTab(host, "activities_task"); } else if (message == "lock_system"){ ModalElement.alert({message: LanguageModule.text("war_txt_system_lock")}); } else if (message == "deleted" || message == "edited"){ ModalElement.alert({ message: LanguageModule.text("war_txt_failed_ver_reload_data") }); } else if (message == "exist_name"){ ModalElement.alert({message: LanguageModule.text("war_txt_exist_name")}); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); }; hr.activities_task.addActivitiesTaskClose = function(host, id, getValueFunction, resolve, resolveAdd){ var data = getValueFunction(); if (!data) { ModalElement.close(); ModalElement.close(); return; } var oldData; if (id > 0){ oldData = host.dataTaskEdit; } else { oldData = { name: "", status: 0, expiredtime: new Date(), reminder: "type_reminder_none", assignto: 0, participant: [], result: "" }; } var ischange = contentModule.isChanged(oldData, data, ["name", "status", "expiredtime", "reminder", "assignto", "participant", "result"] ); if (!ischange){ ModalElement.close(); return; } contentModule.questionChange({ onclick: function(sel){ if (sel == 0){ if (host.id == 0){ hr.activities_task.addActivitiesTaskSubmit(host, host.id, getValueFunction).then(function(value){ resolveAdd(value); }); } else { hr.activities_task.addActivitiesTaskSubmit(host, host.id, getValueFunction).then(function(value){ resolve(value); }); } } else if (sel == 1){ ModalElement.close(); } } }); }; hr.activities_task.redrawDetails = function(host, id, resolve, resolveAdd){ if (id > 0) hr.menu.changeCurrentUrlTab(host, "activities_task/" + id); host.id = id; function redraw(value){ var formContainer = DOMElement.div({}); ModalElement.showWindow({ title: LanguageModule.text("txt_activities_task"), bodycontent: formContainer, buttonlist: [ { text: LanguageModule.text("txt_save"), onclick: function(){ if (host.id == 0){ hr.activities_task.addActivitiesTaskSubmit(host, host.id, getValueFunction).then(function(value){ resolveAdd(value); }); } else { hr.activities_task.addActivitiesTaskSubmit(host, host.id, getValueFunction).then(function(value){ resolve(value); }); } } }, { text: LanguageModule.text("txt_cancel"), onclick: function(){ hr.activities_task.addActivitiesTaskClose(host, host.id, getValueFunction, resolve, resolveAdd); } } ] }); var getValueFunction; contentModule.makeFormData({ typeid: host.form_config.task.typeid, formid: host.form_config.task.input_form, initialValue: value, formContainer: formContainer, typelists: host.database.typelists.items, variableType: "system" }).then(function(getValue){ getValueFunction = getValue; absol.form.traversal(formContainer.formFragment.view, function(item){ if (item.node.tag === "TextInput") { item.node.domElt.focus(); item.stop(); return; } }); }); }; if (id > 0){ redraw(host.dataTaskEdit); } else { redraw({}); } }; hr.activities_task.addActivitiesTask = function(host, id, resolve, resolveAdd){ hr.activities_task.redrawDetails(host, id, resolve, resolveAdd); // if (id == 0){ // } // else { // ModalElement.show_loading(); // FormClass.api_call({ // url: "database_load.php", // params: [ // {name: "task", value: "task_load_by_id"}, // {name: "id", value: id} // ], // func: function(success, message){ // ModalElement.close(-1); // if (success){ // if (message.substr(0, 2) == "ok"){ // host.dataTaskEdit = EncodingClass.string.toVariable(message.substr(2)); // if (host.dataTaskEdit.extrainfo == "") host.dataTaskEdit.extrainfo = {}; // else host.dataTaskEdit.extrainfo = EncodingClass.string.toVariable(host.dataTaskEdit.extrainfo); // var strIdx = 0; // var participantStr = host.dataTaskEdit.participant; // var strLength = participantStr.length; // var participant = []; // while (strIdx < strLength - 2){ // participant.push(parseInt(participantStr[strIdx + 1])); // strIdx += 2; // } // host.dataTaskEdit.participant = participant; // hr.activities_task.showActivitiesTask(host, { // taskid: id, // editInforFunc: function(){ // hr.activities_task.addActivitiesTask(host, id, resolve); // } // }); // // hr.activities_task.redrawDetails(host, id, resolve, resolveAdd); // } // else if (message == "war_txt_failed_data"){ // ModalElement.alert({ // message: LanguageModule.text("war_txt_failed_data"), // func: function(){ // hr.activities_task.init(host); // } // }); // } // else { // ModalElement.alert({message: message}); // } // } // else { // ModalElement.alert({message: message}); // } // } // }); // } }; hr.activities_task.drawGeneralInformation = function(host, params){ var viewGeneralInformation = DOMElement.div({ attrs: { style: { paddingLeft: "var(--control-verticle-distance-2)", paddingTop: "var(--control-verticle-distance-2)" } } }); host.drawGeneralInforFunc = function(){ contentModule.makeOutputFormData({ typeid: host.form_config['task'].typeid, formid: host.form_config['task'].output_form, initialValue: host.dataTaskEdit, formContainer: viewGeneralInformation, typelists: host.database.typelists.items, variableType: "system" }).then(function(getValue){}); }; host.drawGeneralInforFunc(); var childs = [ { class: 'mk-section-header-name', child: { text: LanguageModule.text("txt_general_information") }, } ]; childs.push({ class: 'mk-section-header-right', child: [ DOMElement.a({ attrs: { onclick: function(){ params.editInforFunc(); } }, text: LanguageModule.text("txt_edit") }) ] }); var res = absol.buildDom({ attr: { "data-sectionid": "general_information" }, child: [ absol.buildDom({ class: 'mk-section-header', child: childs }), viewGeneralInformation ] }); return res; }; hr.activities_task.showActivitiesTask = function(host, params){ hr.menu.changeCurrentUrlTab(host, "activities_task/" + params.taskid); var nav = absol.buildDom({ tag:'mknav', class: 'mk-nav', props: { items: [ {text: LanguageModule.text("txt_general_information"), value: "general_information"}, {text: LanguageModule.text("txt_comment"), value: "comment"} ], value: "general_information" }, on:{ clickitem: function(event){ rightCtn.off('scroll',scrollRightFunc);// prevent loop if (sectionList[this.value]) sectionList[this.value].scrollIntoView(); setTimeout(function(){ rightCtn.on('scroll',scrollRightFunc ); }, 10); } } }); var scrollRightFunc = function(){ var elt; var bound = rightCtn.getBoundingClientRect(); var eltBound; var nearestEltId; var nearestDistance = 100000000; var distance; for (var i in sectionList){ elt = sectionList[i]; eltBound = elt.getBoundingClientRect(); distance = 1000000; if (eltBound.top <= bound.top){ if (eltBound.bottom >= bound.bottom){ distance = -1e6; } else if (bound.top - eltBound.top < 30){ distance = eltBound.top - bound.bottom;//negative } else if (eltBound.bottom > bound.top){ distance = bound.top - eltBound.top; } } else if (eltBound.top < bound.bottom){ distance = eltBound.top - bound.bottom;//negative } else { distance = Math.abs(bound.top - eltBound.top) } if (nearestDistance > distance){ nearestDistance = distance; nearestEltId = i; } } nav.value = nearestEltId; }; var rightCtn = absol.buildDom({ class: 'mk-main-right', style: { paddingBottom: "var(--footer-margin)" }, on: { scroll: scrollRightFunc } }); rightCtn.appendChild(hr.activities_task.drawGeneralInformation(host, params)); rightCtn.appendChild(contentModule.drawComment({taskid: params.taskid, tablename: "task"})); var data_ctn = absol._({ class: 'mk-main', style: { height: '100%' }, child: [ { class: 'mk-main-left-ctn', child: [nav] }, rightCtn ] }); var sectionList = {}; absol.$("div", rightCtn, function(elt){ var id = elt.getAttribute("data-sectionid"); if (!id) return; sectionList[id] = elt; }); var singlePage = absol.buildDom({ tag: "singlepage", class: ["cd-page-not-padding-right", "as-viewport-full", "as-no-scroll"], child: [ DOMElement.div({ attrs: {className: 'button-panel-header absol-single-page-header'}, children: [ DOMElement.div({ attrs: {className: "single-button-header"}, children: [theme.backButton({ onclick: function(){ host.frameList.removeLast(); hr.menu.changeCurrentUrlTab(host, "activities_task"); } })] }) ] }), data_ctn ] }); host.frameList.addChild(singlePage); singlePage.requestActive(); }; hr.activities_task.showActivitiesTaskPre = function(host, id, resolve){ if (host.database.tasks.getIndex(id) < 0) return; ModalElement.show_loading(); FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "task_load_by_id"}, {name: "id", value: id} ], func: function(success, message){ ModalElement.close(-1); if (success){ if (message.substr(0, 2) == "ok"){ host.dataTaskEdit = EncodingClass.string.toVariable(message.substr(2)); if (host.dataTaskEdit.extrainfo == "") host.dataTaskEdit.extrainfo = {}; else host.dataTaskEdit.extrainfo = EncodingClass.string.toVariable(host.dataTaskEdit.extrainfo); var strIdx = 0; var participantStr = host.dataTaskEdit.participant; var strLength = participantStr.length; var participant = []; while (strIdx < strLength - 2){ participant.push(parseInt(participantStr[strIdx + 1])); strIdx += 2; } host.dataTaskEdit.participant = participant; hr.activities_task.showActivitiesTask(host, { taskid: id, editInforFunc: function(){ hr.activities_task.addActivitiesTask(host, id, resolve); } }); } else if (message == "war_txt_failed_data"){ ModalElement.alert({ message: LanguageModule.text("war_txt_failed_data"), func: function(){ hr.activities_task.init(host); } }); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }; hr.activities_task.getCellActivitiesTask = function(host, id){ var index = host.database.tasks.getIndex(id); var func = { view: function(resolve){ hr.activities_task.showActivitiesTaskPre(host, id, resolve); }, }; func.delete = function(){ return new Promise(function(resolve,reject){ hr.activities_task.deleteActivitiesTaskConfirm(host, id).then(function(value){ resolve(value); }); }); }; func.changeStatus = function(value){ hr.onboarding.activitiesStatusChangeSave(host, "task", id, value); }; var res = host.database.tasks.items[index]; res.func = func; return res; }; hr.activities_task.redraw = function(host){ var holderForSort = host.database.tasks.items.map(function(item){ return { item: item, val: absol.string.nonAccentVietnamese(item.name.toLowerCase()) } }); holderForSort.sort(function(a, b){ if (a.val < b.val) return -1; if (a.val > b.val) return 1; return 0; }); host.database.tasks.items = holderForSort.map(function(holder){ return holder.item; }); var displayDic = { name: true, status: true, assignto: true, userid: true, createdtime: true }; var columnList = contentModule.getColumnListFromDatatype(host, "task", displayDic); if (!host.user_column_configsDic["activities_task_list"]){ for (var i = 0; i < columnList.length; i++){ if (columnList[i].value == "status"){ var x = columnList[i]; console.log(x); columnList.splice(i, 1); columnList.unshift(x); break; } } } console.log(columnList); var redrawTableFunc = function(){ var data = []; for (var i = 0; i < host.database.tasks.items.length; i++){ data.push(hr.activities_task.getCellActivitiesTask(host, host.database.tasks.items[i].id)); } contentModule.getColumnListConfig(host, host.user_column_configsDic, columnList, "activities_task_list").then(function(value){ host.configColumnActivitiesTask = value; DOMElement.removeAllChildren(host.data_container); host.dataView = host.funcs.formActivitiesTaskContentData({ data: data, inputsearchbox: host.inputsearchbox, configColumnActivitiesTask: host.configColumnActivitiesTask, configColumnFunc: function(){ contentModule.userColumnConfigForm({ type: "activities_task_list", columnList: columnList }).then(function(value){ host.user_column_configsDic["activities_task_list"] = value; redrawTableFunc(); }); } }); host.data_container.appendChild(host.dataView); }); }; redrawTableFunc(); }; hr.activities_task.init = function(host){ return new Promise(function(resolveMn, rejectMn){ host.database = {}; ModalElement.show_loading(); FormClass.api_call({ url: "database_load.php", params: [ {name: "task", value: "tasks_load_init"} ], func: function(success, message){ ModalElement.close(-1); if (success){ if (message.substr(0, 2) == "ok"){ var content = EncodingClass.string.toVariable(message.substr(2)); contentModule.makeDatabaseContent(host, content); host.form_config = contentModule.configVariable(host); // contentModule.makeInputFormDecode(host.database.input_forms.items); // hr.input_form.loadFormConstructorToAssembler(host.database.input_forms.items, host.database.typelists.items); host.user_column_configsDic = contentModule.getUser_column_configsDic(host); host.dictionary = { input_forms: contentModule.makeDictionaryIndex(host.database.input_forms.items), output_forms: contentModule.makeDictionaryIndex(host.database.output_forms.items), typelists: contentModule.makeDictionaryIndex(host.database.typelists.items), tasks: contentModule.makeDictionaryIndex(host.database.tasks.items), employees: contentModule.makeDictionaryIndex(host.database.employees.items), peoples: contentModule.makeDictionaryIndex(host.database.peoples.items) }; host.database.tasks.items.forEach(function(elt){ var strIdx = 0; var participantStr = elt.participant; var strLength = participantStr.length; var participant = []; while (strIdx < strLength - 2){ participant.push(parseInt(participantStr[strIdx + 1])); strIdx += 2; } elt.participant = participant; }) host.dictionary.users = {}; host.database.users.items.forEach(function(elt, index){ host.dictionary.users[elt.homeid] = index; }); host.inputsearchbox = absol.buildDom({ tag:'searchcrosstextinput', style: { width: "var(--searchbox-width)" }, props:{ placeholder: LanguageModule.text("txt_search") } }); var cmdbutton = { close: function(host){ return function (event, me) { if (hr.isMobile){ host.holder.selfRemove(); hr.menu.loadPage(100); } else { hr.menu.tabPanel.removeTab(host.holder.id); } } } (host), add: function(host){ return function (event, me) { hr.activities_task.addActivitiesTask(host, 0, function onSave(value){ host.newRecord = host.newRecord.updateCurrentRow(host.funcs.formActivitiesTaskGetRow(host.configColumnActivitiesTask, value)); }, function onAdd(value){ host.newRecord = host.dataView.insertRow(host.funcs.formActivitiesTaskGetRow(host.configColumnActivitiesTask, value)); }); } } (host) }; host.data_container = DOMElement.div({attrs: {style: {paddingBottom: "var(--footer-margin)"}}}); host.holder.addChild(host.frameList); var singlePage = host.funcs.formActivitiesTaskInit({ cmdbutton: cmdbutton, data_container: host.data_container, inputsearchbox: host.inputsearchbox }); host.frameList.addChild(singlePage); singlePage.requestActive(); hr.activities_task.redraw(host); resolveMn(host); } else { ModalElement.alert({message: message}); } } else { ModalElement.alert({message: message}); } } }); }); };