![]() 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/tech_preview/hr/theme/mobile/ |
Upload File : |
"use strict"; theme.formPartnerViewMaps = function(params){ var points = []; var partner_classDic = contentModule.makeDictionaryIndex(params.database.partner_class.items); for (var i = 0; i < params.database.partner_class.items.length; i++){ params.database.partner_class.items[i].points = 0; } var res, k, className, color; for (var i = 0; i < params.database.partner.items.length; i++){ if (params.classid != 0 && params.database.partner.items[i].class.indexOf(params.classid) < 0) continue; if (params.nation_city[0] != 0){ if (params.database.partner.items[i].nationid != params.nation_city[0]) continue; if (params.nation_city[1] != 0) if (params.database.partner.items[i].cityid != params.nation_city[1]) continue; } res = contentModule.getGPSByString(params.database.partner.items[i].gps); if (!res) continue; className = ""; params.database.partner.items[i].class.forEach(function(classid){ k = partner_classDic[classid]; if (k >= 0){ color = params.database.partner_class.items[k].color; if (className.length > 0) className += ", "; className += params.database.partner_class.items[k].name; } }); points.push({ id: params.database.partner.items[i].id, color: color, lat: res.lat, lng: res.lng, info: { content: params.database.partner.items[i].name + "<br>" + className } }); } var viewer = absol.buildDom({ tag: 'locationview', style: { height: '600px', width: "100%", maxWidth: "100vw", maxHeight: "100vh" }, props: { points: points, showPolylineRoute: false } }); var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: LanguageModule.text("txt_maps") }, on: { action: function(){ params.frameList.removeLast(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [ viewer ] }) ] }); params.frameList.addChild(singlePage); singlePage.requestActive(); }; theme.fromPartnerEditExtraData = function(params){ var commands = [{ icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "save" }), cmd: function(){ params.func.save().then(function(){ params.frameList.removeLast(); }); } }]; var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: params.title, commands: commands }, on: { action: function(){ params.func.cancel().then(function(){ params.frameList.removeLast(); }); }, command: function(event){ event.commandItem.cmd(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [params.formContainer] }) ] }); params.frameList.addChild(singlePage); singlePage.requestActive(); }; theme.formPartnerShow = function(host, params){ var scrollInto = function(value){ if (sectionList[value]) sectionList[value].scrollIntoView(); }; var drawPartnerView = function(){ var viewPartner = DOMElement.div({ attrs: { style: { paddingTop: "var(--control-verticle-distance-2)" } } }); host.drawPartnerViewFunc(viewPartner); var childs = [ { class: 'm-mk-section-header-name', child: { text: LanguageModule.text("txt_general_information") }, } ]; childs.push({ class: 'm-mk-section-header-right', child: [ DOMElement.a({ attrs: { onclick: function(){ params.func.editPartner(); } }, text: LanguageModule.text("txt_edit") }) ] }); var res = absol.buildDom({ attr: { "data-sectionid": "general_information" }, child: [ absol.buildDom({ class: ["m-mk-section-header", "first"], child: childs }), viewPartner ] }); return res; }; var drawContactList = function(){ host.viewContact = DOMElement.div({ attrs: { style: { paddingTop: "var(--control-verticle-distance-2)" } } }); var childs = [ { class: 'm-mk-section-header-name', child: { text: LanguageModule.text("txt_contact") }, } ]; childs.push({ class: 'm-mk-section-header-right', child: [ DOMElement.a({ attrs: { onclick: function(){ params.func.addContact(); } }, text: LanguageModule.text("txt_add") }) ] }); host.drawContactListFunc(); var res = absol.buildDom({ attr: { "data-sectionid": "contact" }, child: [ absol.buildDom({ class: 'm-mk-section-header', child: childs }), host.viewContact ] }); return res; }; var drawCheckin = function(){ var viewCheckin = DOMElement.div({ attrs: { style: { paddingTop: "var(--control-verticle-distance-2)" } } }); host.drawCheckinFunc(viewCheckin); var childs = [ { class: 'm-mk-section-header-name', child: { text: LanguageModule.text("txt_check_in") }, } ]; if (host.employeeOfMe.length > 0) childs.push({ class: 'm-mk-section-header-right', child: [ DOMElement.a({ attrs: { onclick: function(){ hr.partner.checkin(host, host.partnerid, host.dataPartnerEdit.gps).then(function(){ host.drawCheckinFunc(viewCheckin); }); } }, text: LanguageModule.text("txt_add") }) ] }); var res = absol.buildDom({ attr: { "data-sectionid": "checkin" }, child: [ absol.buildDom({ class: 'm-mk-section-header', child: childs }), viewCheckin ] }); return res; }; host.drawPartnerExtraDataSingle = function(partner_class_data){ quickmenuItems.push( { text: LanguageModule.text("txt_data_extra") + " (" + partner_class_data.name + ")", extendClasses: "bsc-quickmenu", cmd: function(){ scrollInto("data_extra_" + partner_class_data.id); } } ); var viewElt = DOMElement.div({ attrs: { style: { paddingTop: "var(--control-verticle-distance-2)" } } }); var drawViewFunc = function(){ hr.partner.loadExtraDataByTypeid(host, host.partnerid, partner_class_data.type_extra).then(function(value){ contentModule.makeOutputFormData({ typeid: partner_class_data.type_extra, formid: partner_class_data.mobile_output_form_extra, formContainer: viewElt, initialValue: value.data, typelists: host.database.typelists.items, variableType: "user" }).then(function(getValue){}); }); }; drawViewFunc(); var childs = [ { class: 'm-mk-section-header-name', child: { text: LanguageModule.text("txt_data_extra") + " (" + partner_class_data.name + ")" }, } ]; childs.push({ class: 'm-mk-section-header-right', child: [ DOMElement.a({ attrs: { onclick: function(){ params.func.editExtraDataFunc(partner_class_data); } }, text: LanguageModule.text("txt_edit") }) ] }); var res = absol.buildDom({ attr: { "data-sectionid": "data_extra_" + partner_class_data.id }, child: [ absol.buildDom({ class: 'm-mk-section-header', child: childs }), viewElt ] }); DOMElement.removeAllChildren(host.dataextra_ctn_boxes[partner_class_data.id]); host.dataextra_ctn_boxes[partner_class_data.id].appendChild(res); }; host.drawPartnerExtraDataFunc = function(){ quickmenuItems = [ { text: LanguageModule.text("txt_general_information"), icon: DOMElement.i({ attrs: { className: "mdi mdi-information-outline" } }), extendClasses: "bsc-quickmenu", cmd: function(){ scrollInto("general_information"); } }, { text: LanguageModule.text("txt_contact"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "mdi mdi-card-account-phone-outline" } }), cmd: function(){ scrollInto("contact"); } } ]; DOMElement.removeAllChildren(host.extra_dataCtn); var k; host.dataextra_ctn_boxes = {}; for (var i = 0; i < host.dataPartnerEdit.class.length; i++){ k = host.database.partner_class.getIndex(host.dataPartnerEdit.class[i]); if (k >= 0){ if (host.database.partner_class.items[k].type_extra != 0){ host.dataextra_ctn_boxes[host.database.partner_class.items[k].id] = DOMElement.div({}); host.extra_dataCtn.appendChild(host.dataextra_ctn_boxes[host.database.partner_class.items[k].id]); host.drawPartnerExtraDataSingle(host.database.partner_class.items[k]); } } } quickmenuItems.push( { text: LanguageModule.text("txt_check_in"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "mdi mdi-store-marker-outline" } }), cmd: function(){ scrollInto("checkin"); } }, { text: LanguageModule.text("txt_to_do"), extendClasses: "bsc-quickmenu", icon: DOMElement.span({ attrs: { className: "mdi mdi-clock-time-eight-outline" } }), cmd: function(){ scrollInto("to_do"); } } ); header.quickmenu = { props: { extendClasses: 'cd-context-menu', items: quickmenuItems }, onSelect: function (x) { x.cmd(); } }; sectionList = {}; absol.$("div", data_ctn, function(elt){ var id = elt.getAttribute("data-sectionid"); if (!id) return; sectionList[id] = elt; }); }; host.nameViewCtn = DOMElement.div({}); var data_ctn = DOMElement.div({}); data_ctn.appendChild(drawPartnerView()); data_ctn.appendChild(drawContactList()); host.extra_dataCtn = DOMElement.div({}); data_ctn.appendChild(host.extra_dataCtn); data_ctn.appendChild(drawCheckin()); var activitiesCtn = absol.buildDom({ attr: { "data-sectionid": "to_do" } }); data_ctn.appendChild(activitiesCtn); var quickmenuItems = []; var sectionList; var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: host.nameViewCtn }, on: { action: function(){ host.frameList.removeLast(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [data_ctn] }) ] }); host.drawPartnerExtraDataFunc(); host.frameList.addChild(singlePage); singlePage.requestActive(); contentModule.activitiesInformation({ workSelected: "both", tableName: "partner", instanceid: host.partnerid, addActivitiesSelected: "normal", frameList: host.frameList }).then(function(result){ var activities = result.getActivitiesContent(); activitiesCtn.appendChild(activities); }); }; theme.fromPartnerEdit = function(params){ var commands = [{ icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "save" }), cmd: function(){ params.func.save().then(function(){ params.frameList.removeLast(); }); } }]; var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: params.title, commands: commands }, on: { action: function(){ params.func.cancel().then(function(){ params.frameList.removeLast(); }); }, command: function(event){ event.commandItem.cmd(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [params.formContainer] }) ] }); params.frameList.addChild(singlePage); singlePage.requestActive(); }; theme.formPartnerGetRow = function(content, params){ var cells = [ { innerText: content.name, render: function(tdElt){ if (content.marked){ tdElt.addChild(DOMElement.div({ attrs: { onclick: function(){ content.func.view(); } }, children: [ DOMElement.span({text: content.name}), contentModule.getstarIconView() ] })); } else { tdElt.addChild(DOMElement.div({ attrs: { onclick: function(){ content.func.view(); } }, text: content.name })); } } } ]; cells.push({ style: {width: "40px", textAlign: "center"}, render: function(tdElt){ var qmenuButton = DOMElement.div({ attrs: { className: "card-icon-cover" }, children: [DOMElement.i({ attrs: { className: "material-icons bsc-icon-hover-black" }, text: "more_vert" })] }); absol.QuickMenu.toggleWhenClick(qmenuButton, { getMenuProps: function(){ var quickMenuItems = []; if (content.func.view) quickMenuItems.push({ text: LanguageModule.text("txt_view"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "visibility" }), cmd: function(){ content.func.view(); } }); if (content.func.delete) quickMenuItems.push({ text: LanguageModule.text("txt_delete"), extendClasses: ["bsc-quickmenu", "red"], icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "delete" }), cmd: function(){ content.func.delete().then(function(value){ var x = params.tableView.rowOf(row) x.remove(); }); } }); if (content.func.checkin) quickMenuItems.push({ text: LanguageModule.text("txt_checkin"), extendClasses: ["bsc-quickmenu"], icon: DOMElement.i({ attrs: { className: "mdi mdi-store-marker-outline" } }), cmd: function(){ content.func.checkin(); } }); if (content.func.convert_to_contact) quickMenuItems.push({ text: LanguageModule.text("txt_convert_to_contact"), extendClasses: ["bsc-quickmenu"], icon: DOMElement.i({ attrs: { className: "mdi mdi-account-convert" } }), cmd: function(){ content.func.convert_to_contact().then(function(value){ var x = params.tableView.rowOf(row) x.remove(); }); } }); if (content.func.markedFunc){ if (content.marked){ quickMenuItems.push({ text: LanguageModule.text("txt_remove_marked"), extendClasses: ["bsc-quickmenu"], icon: DOMElement.i({ attrs: { className: "material-icons", style: { color: "#ffa834" } }, text: "star_border" }), cmd: function(){ content.func.markedFunc(content.id, false).then(function(){ content.marked = false; params.tableView.replaceRow(theme.formPartnerGetRow(content, params), row); }); } }); } else { quickMenuItems.push({ text: LanguageModule.text("txt_add_to_marked"), extendClasses: ["bsc-quickmenu"], icon: DOMElement.i({ attrs: { className: "material-icons", style: { color: "#ffa834" } }, text: "star" }), cmd: function(){ content.func.markedFunc(content.id, true).then(function(){ content.marked = true; params.tableView.replaceRow(theme.formPartnerGetRow(content, params), row); }); } }); } } return {items: quickMenuItems}; }, onSelect: function (item){ item.cmd(); } }, [3, 4]); tdElt.addChild(qmenuButton); } }); var row = { keys: { class: content.class, nationid: content.nationid, cityid: content.cityid }, cells: cells }; return row; }; theme.formPartnerContentData = function(params){ if (params.partner_class_select){ params.partner_class_select.exportFilter = function(filter) { if (this.value !== 0) filter.class = this.value; }; params.nation_cities_select.exportFilter = function(filter) { if (this.value[0] !== 0){ if (this.value[1] !== 0){ filter.cityid = this.value[1]; } else { filter.nationid = this.value[0]; } } }; } DOMElement.removeAllChildren(params.ctn); var data = [], x; for (var i = 0; i < params.database.partner.items.length; i++){ x = params.getCellPartner(params.database.partner.items[i]); if (x) data.push(theme.formPartnerGetRow(x, params)); } var filterInputs = []; if (params.partner_class_select){ filterInputs = [params.partner_class_select, params.nation_cities_select]; } params.tableView = absol.buildDom({ tag: "dynamictable", props: { filterInputs: filterInputs, adapter: { data: { head: { rows: [] }, body: { rows: data } } } } }); params.tableView.attachSearchInput(params.inputsearchbox); params.tableView.requestQuery(); params.ctn.appendChild(params.tableView); params.ctn.insertData = function(list){ var rows = []; for (var i = 0; i < list.length; i++){ x = params.getCellPartner(list[i]); if (x) rows.push(theme.formPartnerGetRow(x, params)); } params.tableView.addRows(rows); params.tableView.notifyRowsChange(); }; }; theme.formPartnerInit = function (params){ var filterFunc = function(){ theme.modalFormMobile({ title: LanguageModule.text("txt_filter"), bodycontent: DOMElement.div({ children: [ DOMElement.div({ attrs: { className: "card-mobile-label-form-edit-first" }, text: LanguageModule.text("txt_partner_class") }), partner_class_select, DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_nationcity") }), nation_cities_select ] }) }); }; var itemsList = contentModule.getNationCityDualSelectMenu(params); itemsList.forEach(function(nItem){ nItem.items.unshift({value: 0, text: LanguageModule.text("txt_all_city")}); }); itemsList.unshift({ value: 0, text: LanguageModule.text("txt_all_nation"), items: [{value: 0, text: LanguageModule.text("txt_all_city")}] }); var nation_cities_select = absol.buildDom({ tag: "dualselectmenu", props: { items: itemsList, value: [0, 0], enableSearch: true } }); var partner_class_select = absol.buildDom({ tag: "mselectmenu", style: { display: "block", width: "100%" }, props: { items: contentModule.getPartnerClassFilterList(params), enableSearch: true } }); var commands = []; commands.push({ icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "filter_alt" }), cmd: function(){ filterFunc(); } }); commands.push({ icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "search" }), cmd: function(){ header.searchMode(true); } }); var inputsearchbox = absol.buildDom({ tag: 'searchcrosstextinput', style: { width: "var(--searchbox-width)" }, props:{ placeholder: LanguageModule.text("txt_search") } }); var quickmenuItems = []; if (params.cmdbutton.add !== undefined){ quickmenuItems.push({ text: LanguageModule.text("txt_add"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "add" }), cmd: params.cmdbutton.add }); } quickmenuItems.push({ text: LanguageModule.text("txt_view_maps"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "visibility" }), cmd: function(){ params.cmdbutton.view_maps(); } }); var header = absol.buildDom({ tag: 'headerbarwithsearch', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: LanguageModule.text("txt_partner"), commands: commands, quickmenu: { props: { extendClasses: 'cd-context-menu', items: quickmenuItems }, onSelect: function (x) { x.cmd(); } } }, data:{ searchInput: inputsearchbox }, on: { action: params.cmdbutton.close, command: function(event){ event.commandItem.cmd(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [params.data_container] }) ] }); singlePage.nation_cities_select = nation_cities_select; singlePage.partner_class_select = partner_class_select; singlePage.inputsearchbox = inputsearchbox; return singlePage; }; ModuleManagerClass.register({ name: "Partner_view", prerequisites: ["ModalElement"] });