VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/tech_preview/hr/partner_view.js
"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"},
        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"
                        }),
                        onclick: 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"]
});

VaKeR 2022