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/keeview_app/html/theme/mobile/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/keeview_app/html/theme/mobile/leave_list_view.js
"use strict";

theme.formLeave_requestEdit = function(params){
    var formContainer = DOMElement.div({});
    var commands = [{
        icon:  DOMElement.i({
            attrs: {
                className: "material-icons"
            },
            text: "save"
        }),
        cmd: function(){
            params.cmdbutton.save(getValueFunction).then(function(){
                if (params.id == 0){
                    params.frameList.removeLast();
                    window.backLayoutFunc.pop();
                }
            });
        }
    }];
    var header = absol.buildDom({
        tag: 'mheaderbar',
        props: {
            actionIcon: DOMElement.i({
                attrs: {
                    className: "material-icons"
                },
                text: "arrow_back_ios"
            }),
            title: LanguageModule.text("txt_leave_request"),
            commands: commands
        },
        on: {
            action: function(){
                params.cmdbutton.cancel(getValueFunction).then(function(){
                    params.frameList.removeLast();
                    window.backLayoutFunc.pop();
                });
            },
            command: function(event){
                event.commandItem.cmd();
            }
        }
    });
    var singlePage = absol.buildDom({
        tag: 'tabframe',
        child:[
            header,
            DOMElement.div({
                attrs: {
                    className: "card-mobile-content"
                },
                children: [formContainer]
            })
        ]
    });
    params.frameList.addChild(singlePage);
    singlePage.requestActive();
    window.backLayoutFunc.push({
        func: function(){
            params.cmdbutton.cancel(getValueFunction).then(function(){
                params.frameList.removeLast();
                window.backLayoutFunc.pop();
            });
        }
    });
    var getValueFunction;
    contentModule.makeFormData({
        typeid: data_module.form_config.request_leave.typeid,
        formid: data_module.form_config.request_leave.mobile_input_form,
        initialValue: params.value,
        formContainer: formContainer,
        typelists: data_module.typelists.items,
        variableType: "system"
    }).then(function(getValue){
        getValueFunction = getValue;
        formContainer.formFragment.setContext('host', params);
        if (params.id == 0){
            formContainer.formFragment.afterEntryCompleted().then(function(){
                var elt = absol.form.findComponent(formContainer.formFragment.view, {
                    name: 'type_request_leave_employeeid',
                    depth: false
                });
                if (elt){
                    elt.attributes.value = params.employeeOfMe[0];
                }
            });
        }
    });
};

theme.showLeaveRequestGeneralInfomation = function(params){
    var viewGeneralInformation = DOMElement.div({
        attrs: {
            style: {
                paddingLeft: "var(--control-verticle-distance-2)",
                paddingTop: "var(--control-verticle-distance-2)"
            }
        }
    });
    var childs = [
        {
            class: 'm-mk-section-header-name',
            child: { text: LanguageModule.text("txt_request_leave") },
        }
    ];
    if (params.cmdbutton.editFunc){
        childs.push({
            class: 'm-mk-section-header-right',
            child: [
                DOMElement.a({
                    attrs: {
                        onclick: params.cmdbutton.editFunc
                    },
                    text: LanguageModule.text("txt_edit")
                })
            ]
        });
    }
    var res = absol.buildDom({
        attr: {
            "data-sectionid": "request_leave"
        },
        child: [
            absol.buildDom({
                class: 'm-mk-section-header',
                child: childs
            }),
            viewGeneralInformation
        ]
    });
    res.viewGeneralInformation = viewGeneralInformation;
    return res;
};

theme.showLeaveRequestApproval = function(params){
    var approval_ctn = DOMElement.div({
        attrs: {
            className: "cardsimpletableclass"
        }
    });
    var long_leave_approval_ctn = DOMElement.div({
        attrs: {
            className: "cardsimpletableclass"
        }
    });
    var pIndex = params.database.leave_policies.getIndex(params.dataLeave_listEdit.policyid);
    if (pIndex >= 0){
        var approval_methodText = params.getApprovalMethod(params.database.leave_policies.items[pIndex].standard_leave_approval_type);
    }
    else {
        return DOMElement.div({});
    }
    var childs = [
        absol.buildDom({
            class: 'm-mk-section-header',
            child: [
                {
                    class: 'm-mk-section-header-name',
                    child: { text: LanguageModule.text("txt_approval") }
                }
            ]
        }),
        DOMElement.div({
            attrs: {style: {lineHeight: "var(--control-height)"}},
            text: LanguageModule.text("txt_approval_method") + ": " + approval_methodText
        }),
        approval_ctn
    ];
    if (params.database.leave_policies.items[pIndex].long_leave_approval){
        if (params.dataLeave_listEdit.number_of_day_off > params.database.leave_policies.items[pIndex].long_leave_threshold){
           var approval_methodText = params.getApprovalMethod(params.database.leave_policies.items[pIndex].long_leave_approval_type);
            childs.push(
                DOMElement.div({
                    attrs: {style: {lineHeight: "var(--control-height)"}},
                    text: LanguageModule.text("txt_long_leave_approval")
                }),
                DOMElement.div({
                    attrs: {style: {lineHeight: "var(--control-height)"}},
                    text: LanguageModule.text("txt_approval_method") + ": " + approval_methodText
                }),
                long_leave_approval_ctn
            );
        }
    }
    var res = absol.buildDom({
        attr: {
            "data-sectionid": "approval"
        },
        child: childs
    });
    res.drawApprovalFunc = function(){
        var pIndex = params.database.leave_policies.getIndex(params.dataLeave_listEdit.policyid);
        if (pIndex >= 0){
            var approval_methodText = params.getApprovalMethod(params.database.leave_policies.items[pIndex].standard_leave_approval_type);
        }
        else {
            return;
        }
        var approversDic = {};
        params.database.employee_benefit_and_liability_request_approvers.items.forEach(function(item){
            if (item.status == 3) return;
            if (item.requestid == params.dataLeave_listEdit.id) approversDic[item.employeeid] = item;
        });
        var over_due = false;
        var time_hours_needed_for_approval = params.database.leave_policies.items[pIndex].time_hours_needed_for_approval;
        var datetime = params.dataLeave_listEdit.fromdate.getTime();
        if (datetime - time_hours_needed_for_approval*60*60*1000 < new Date().getTime()){
            over_due = true;
        }
        var data = [], row, employeeid, eIndex, dIndex, orgIndex, approversItem;
        var direct_done = true;
        if (params.database.leave_policies.items[pIndex].direct_manager_approves_first){
            var employeeid = params.dataLeave_listEdit.employeeid;
            var empIndex = params.employeeDic[employeeid];
            var direct_manager = params.database.employees.items[empIndex].direct_manager;
            eIndex = params.employeeDic[direct_manager];
            if (eIndex >= 0){
                row = [];
                row.push({
                    text: params.database.employees.items[eIndex].fullname
                });
                approversItem = approversDic[direct_manager];
                if (approversItem){
                    if (approversItem.status == 1){
                        row.push({
                            children: DOMElement.span({
                                attrs: {
                                    className: "table-list-view-status approved"
                                },
                                text: LanguageModule.text("txt_approved")
                            })
                        });
                    }
                    else {
                        row.push({
                            children: DOMElement.span({
                                attrs: {
                                    className: "table-list-view-status deny"
                                },
                                text: LanguageModule.text("txt_deny")
                            })
                        });
                    }
                    row.push({text: contentModule.getDateTimeView(approversItem.time)});
                    row.push({
                        text: approversItem.comment
                    });
                }
                else {
                    direct_done = false;
                    if (params.dataLeave_listEdit.status == 0){
                        if (!over_due){
                            row.push({
                                children: DOMElement.span({
                                    attrs: {
                                        className: "table-list-view-status waiting-approval"
                                    },
                                    text: LanguageModule.text("txt_waiting_approval")
                                })
                            });
                        }
                        else {
                            row.push({
                                children: DOMElement.span({
                                    attrs: {
                                        className: "table-list-view-status over-due"
                                    },
                                    text: LanguageModule.text("txt_over_due")
                                })
                            });
                        }
                    }
                    else {
                        row.push({});
                    }
                    row.push({});
                    row.push({});
                }
                data.push(row);
            }
        }
        var indirect_done = true;
        if (params.database.leave_policies.items[pIndex].indirect_manager_approves_first){
            var employeeid = params.dataLeave_listEdit.employeeid;
            var empIndex = params.employeeDic[employeeid];
            var indirect_manager = params.database.employees.items[empIndex].indirect_manager;
            eIndex = params.employeeDic[indirect_manager];
            if (eIndex >= 0){
                row = [];
                row.push({
                    text: params.database.employees.items[eIndex].fullname
                });
                approversItem = approversDic[indirect_manager];
                if (approversItem){
                    if (approversItem.status == 1){
                        row.push({
                            children: DOMElement.span({
                                attrs: {
                                    className: "table-list-view-status approved"
                                },
                                text: LanguageModule.text("txt_approved")
                            })
                        });
                    }
                    else {
                        row.push({
                            children: DOMElement.span({
                                attrs: {
                                    className: "table-list-view-status deny"
                                },
                                text: LanguageModule.text("txt_deny")
                            })
                        });
                    }
                    row.push({text: contentModule.getDateTimeView(approversItem.time)});
                    row.push({
                        text: approversItem.comment
                    });
                }
                else {
                    indirect_done = false;
                    if (params.dataLeave_listEdit.status == 0){
                        if (!over_due){
                            row.push({
                                children: DOMElement.span({
                                    attrs: {
                                        className: "table-list-view-status waiting-approval"
                                    },
                                    text: LanguageModule.text("txt_waiting_approval")
                                })
                            });
                        }
                        else {
                            row.push({
                                children: DOMElement.span({
                                    attrs: {
                                        className: "table-list-view-status over-due"
                                    },
                                    text: LanguageModule.text("txt_over_due")
                                })
                            });
                        }
                    }
                    else {
                        row.push({});
                    }
                    row.push({});
                    row.push({});
                }
                data.push(row);
            }
        }
        var prev_done = true;
        var approval_method = params.database.leave_policies.items[pIndex].standard_leave_approval_type;
        var approvers = params.database.leave_policies.items[pIndex].approvers;
        for (var i = 0; i < approvers.length; i++){
            employeeid = approvers[i].employeeid;
            eIndex = params.database.employees.getIndex(employeeid);
            row = [];
            row.push({
                text: params.database.employees.items[eIndex].fullname
            });
            approversItem = approversDic[employeeid];
            if (approversItem){
                if (approversItem.status == 1){
                    row.push({
                        children: DOMElement.span({
                            attrs: {
                                className: "table-list-view-status approved"
                            },
                            text: LanguageModule.text("txt_approved")
                        })
                    });
                }
                else {
                    row.push({
                        children: DOMElement.span({
                            attrs: {
                                className: "table-list-view-status deny"
                            },
                            text: LanguageModule.text("txt_deny")
                        })
                    });
                }
                row.push({text: contentModule.getDateTimeView(approversItem.time)});
                row.push({
                    text: approversItem.comment
                });
            }
            else {
                switch (approval_method) {
                    case "one_approver":
                        if (params.dataLeave_listEdit.status == 0){
                            if (!over_due){
                                row.push({
                                    children: DOMElement.span({
                                        attrs: {
                                            className: "table-list-view-status waiting-approval"
                                        },
                                        text: LanguageModule.text("txt_waiting_approval")
                                    })
                                });
                            }
                            else {
                                row.push({
                                    children: DOMElement.span({
                                        attrs: {
                                            className: "table-list-view-status over-due"
                                        },
                                        text: LanguageModule.text("txt_over_due")
                                    })
                                });
                            }
                        }
                        else {
                            row.push({});
                        }
                        break;
                    case "parallel":
                        if (direct_done && indirect_done && params.dataLeave_listEdit.status == 0){
                            if (!over_due){
                                row.push({
                                    children: DOMElement.span({
                                        attrs: {
                                            className: "table-list-view-status waiting-approval"
                                        },
                                        text: LanguageModule.text("txt_waiting_approval")
                                    })
                                });
                            }
                            else {
                                row.push({
                                    children: DOMElement.span({
                                        attrs: {
                                            className: "table-list-view-status over-due"
                                        },
                                        text: LanguageModule.text("txt_over_due")
                                    })
                                });
                            }
                        }
                        else {
                            row.push({});
                        }
                        break;
                    case "sequence":
                        if (direct_done && indirect_done && params.dataLeave_listEdit.status == 0 && prev_done){
                            if (!over_due){
                                row.push({
                                    children: DOMElement.span({
                                        attrs: {
                                            className: "table-list-view-status waiting-approval"
                                        },
                                        text: LanguageModule.text("txt_waiting_approval")
                                    })
                                });
                            }
                            else {
                                row.push({
                                    children: DOMElement.span({
                                        attrs: {
                                            className: "table-list-view-status over-due"
                                        },
                                        text: LanguageModule.text("txt_over_due")
                                    })
                                });
                            }
                        }
                        else {
                            row.push({});
                        }
                        prev_done = false;
                        break;
                    default:
                        row.push({});
                }
                row.push({});
                row.push({});
            }
            data.push(row);
        }
        var tableView = DOMElement.table({
            data: data
        });
        DOMElement.removeAllChildren(approval_ctn);
        approval_ctn.appendChild(tableView);
        if (params.database.leave_policies.items[pIndex].long_leave_approval){
            if (params.dataLeave_listEdit.number_of_day_off > params.database.leave_policies.items[pIndex].long_leave_threshold){
                data = [];
                approval_method = params.database.leave_policies.items[pIndex].long_leave_approval_type;
                approvers = params.database.leave_policies.items[pIndex].long_approvers;
                for (var i = 0; i < approvers.length; i++){
                    employeeid = approvers[i].employeeid;
                    eIndex = params.database.employees.getIndex(employeeid);
                    row = [];
                    row.push({
                        text: params.database.employees.items[eIndex].fullname
                    });
                    approversItem = approversDic[employeeid];
                    if (approversItem){
                        if (approversItem.status == 1){
                            row.push({
                                children: DOMElement.span({
                                    attrs: {
                                        className: "table-list-view-status approved"
                                    },
                                    text: LanguageModule.text("txt_approved")
                                })
                            });
                        }
                        else {
                            row.push({
                                children: DOMElement.span({
                                    attrs: {
                                        className: "table-list-view-status deny"
                                    },
                                    text: LanguageModule.text("txt_deny")
                                })
                            });
                        }
                        row.push({text: contentModule.getDateTimeView(approversItem.time)});
                        row.push({
                            text: approversItem.comment
                        });
                    }
                    else {
                        switch (approval_method) {
                            case "one_approver":
                                if (params.dataLeave_listEdit.standard_status && params.dataLeave_listEdit.status == 0){
                                    if (!over_due){
                                        row.push({
                                            children: DOMElement.span({
                                                attrs: {
                                                    className: "table-list-view-status waiting-approval"
                                                },
                                                text: LanguageModule.text("txt_waiting_approval")
                                            })
                                        });
                                    }
                                    else {
                                        row.push({
                                            children: DOMElement.span({
                                                attrs: {
                                                    className: "table-list-view-status over-due"
                                                },
                                                text: LanguageModule.text("txt_over_due")
                                            })
                                        });
                                    }
                                }
                                else {
                                    row.push({});
                                }
                                break;
                            case "parallel":
                                if (params.dataLeave_listEdit.standard_status && params.dataLeave_listEdit.status == 0){
                                    if (!over_due){
                                        row.push({
                                            children: DOMElement.span({
                                                attrs: {
                                                    className: "table-list-view-status waiting-approval"
                                                },
                                                text: LanguageModule.text("txt_waiting_approval")
                                            })
                                        });
                                    }
                                    else {
                                        row.push({
                                            children: DOMElement.span({
                                                attrs: {
                                                    className: "table-list-view-status over-due"
                                                },
                                                text: LanguageModule.text("txt_over_due")
                                            })
                                        });
                                    }
                                }
                                else {
                                    row.push({});
                                }
                                break;
                            case "sequence":
                                if (params.dataLeave_listEdit.standard_status && params.dataLeave_listEdit.status == 0 && prev_done){
                                    if (!over_due){
                                        row.push({
                                            children: DOMElement.span({
                                                attrs: {
                                                    className: "table-list-view-status waiting-approval"
                                                },
                                                text: LanguageModule.text("txt_waiting_approval")
                                            })
                                        });
                                    }
                                    else {
                                        row.push({
                                            children: DOMElement.span({
                                                attrs: {
                                                    className: "table-list-view-status over-due"
                                                },
                                                text: LanguageModule.text("txt_over_due")
                                            })
                                        });
                                    }
                                }
                                else {
                                    row.push({});
                                }
                                prev_done = false;
                                break;
                            default:
                                row.push({});
                        }
                        row.push({});
                        row.push({});
                    }
                    data.push(row);
                }
                tableView = DOMElement.table({
                    data: data
                });
                DOMElement.removeAllChildren(long_leave_approval_ctn);
                long_leave_approval_ctn.appendChild(tableView);
            }
        }
    };
    return res;
};

theme.showLeaveRequest = function(params){
    var scrollInto = function(value){
        if (sectionList[value]) sectionList[value].scrollIntoView();
    };
    var data_ctn = DOMElement.div({});
    data_ctn.appendChild(params.info_ctn);
    data_ctn.appendChild(params.general_information_ctn);
    data_ctn.appendChild(params.approval_ctn);
    data_ctn.appendChild(contentModule.drawComment({frameList: params.frameList, taskid: params.id, tablename: "employee_benefit_and_liability_request"}));
    var sectionList = {};
    absol.$("div", data_ctn, function(elt){
        var id = elt.getAttribute("data-sectionid");
        if (!id) return;
        sectionList[id] = elt;
    });
    var commands = [];
    if (params.cmdbutton.approval){
        commands.push({
            icon:  DOMElement.i({
                attrs: {
                    className: "mdi mdi-checkbox-marked-circle hr-icon-approval"
                }
            }),
            cmd: params.cmdbutton.approval
        });
    }
    if (params.cmdbutton.deny){
        commands.push({
            icon:  DOMElement.i({
                attrs: {
                    className: "mdi mdi-close-circle hr-icon-deny"
                }
            }),
            cmd: params.cmdbutton.deny
        });
    }
    var header = absol.buildDom({
        tag: 'mheaderbar',
        props: {
            actionIcon: DOMElement.i({
                attrs: {
                    className: "material-icons"
                },
                text: "arrow_back_ios"
            }),
            title: LanguageModule.text("txt_leave_request"),
            commands: commands,
            quickmenu: {
                props: {
                    extendClasses: 'cd-context-menu',
                    items: [
                        {
                            text: LanguageModule.text("txt_request_leave"),
                            icon: DOMElement.i({
                                attrs: {
                                    className: "mdi mdi-information-outline"
                                }
                            }),
                            extendClasses: "bsc-quickmenu",
                            cmd: function(){
                                scrollInto("request_leave");
                            }
                        },
                        {
                            text: LanguageModule.text("txt_approval"),
                            extendClasses: "bsc-quickmenu",
                            icon: DOMElement.span({
                                attrs: {
                                    className: "mdi mdi-clock-time-eight-outline"
                                }
                            }),
                            cmd: function(){
                                scrollInto("approval");
                            }
                        },
                        {
                            text: LanguageModule.text("txt_comment"),
                            extendClasses: "bsc-quickmenu",
                            icon: DOMElement.span({
                                attrs: {
                                    className: "mdi mdi-clock-time-eight-outline"
                                }
                            }),
                            cmd: function(){
                                scrollInto("comment");
                            }
                        }
                    ]
                },
                onSelect: function (x) {
                    x.cmd();
                }
            }
        },
        on: {
            action: function(){
                params.frameList.removeLast();
                window.backLayoutFunc.pop();
            },
            command: function(event){
                event.commandItem.cmd();
            }
        }
    });
    var singlePage = absol.buildDom({
        tag: 'tabframe',
        child:[
            header,
            DOMElement.div({
                attrs: {
                    className: "card-mobile-content"
                },
                children: [data_ctn]
            })
        ]
    });
    params.frameList.addChild(singlePage);
    singlePage.requestActive();
    window.backLayoutFunc.push({
        func: function(){
            params.frameList.removeLast();
            window.backLayoutFunc.pop();
        }
    });
};

theme.formLeave_listGetRow = function(params, content){
    var cells = [];
    function applyParam(elt){
        if (content.func.view){
            elt.classList.add("hr-table-cell-link");
            elt.onclick = function(){
                content.func.view();
            };
        }
        return elt;
    }
    cells.push({
        innerText: content.employeeName,
        render: function(tdElt){
            tdElt.appendChild(applyParam(DOMElement.div({text: content.employeeName})));
        }
    });
    cells.push({
        style: {textAlign: "right"},
        innerText: contentModule.getDateView(content.fromdate),
        render: function(tdElt){
            tdElt.appendChild(applyParam(DOMElement.div({
                text: contentModule.getDateView(content.fromdate)
            })));
        }
    });
    var item;
    switch (content.status) {
        case "over_due":
            item = {
                innerText: LanguageModule.text("txt_over_due"),
                render: function(tdElt){
                    tdElt.addChild(DOMElement.div({
                        attrs: {
                            className: "table-view-status over-due",
                            onclick: function(){
                                if (content.func.view) content.func.view();
                            }
                        },
                        text: LanguageModule.text("txt_over_due")
                    }));
                },
                keySort: LanguageModule.text("txt_over_due")
            };
            break;
        case "draf":
            item = {
                innerText: LanguageModule.text("txt_draf"),
                render: function(tdElt){
                    tdElt.addChild(DOMElement.div({
                        attrs: {
                            className: "table-view-status draf",
                            onclick: function(){
                                if (content.func.view) content.func.view();
                            }
                        },
                        text: LanguageModule.text("txt_draf")
                    }));
                },
                keySort: LanguageModule.text("txt_draf")
            };
            break;
        case "waiting_approval":
            item = {
                innerText: LanguageModule.text("txt_waiting_approval"),
                render: function(tdElt){
                    tdElt.addChild(DOMElement.div({
                        attrs: {
                            className: "table-view-status waiting-approval",
                            onclick: function(){
                                if (content.func.view) content.func.view();
                            }
                        },
                        text: LanguageModule.text("txt_waiting_approval")
                    }));
                },
                keySort: LanguageModule.text("txt_waiting_approval")
            };
            break;
        case "approved":
            item = {
                innerText: LanguageModule.text("txt_approved"),
                render: function(tdElt){
                    tdElt.addChild(DOMElement.div({
                        attrs: {
                            className: "table-view-status approved",
                            onclick: function(){
                                if (content.func.view) content.func.view();
                            }
                        },
                        text: LanguageModule.text("txt_approved")
                    }));
                },
                keySort: LanguageModule.text("txt_approved")
            };
            break;
        case "deny":
            item = {
                innerText: LanguageModule.text("txt_deny"),
                render: function(tdElt){
                    tdElt.addChild(DOMElement.div({
                        attrs: {
                            className: "table-view-status deny",
                            onclick: function(){
                                if (content.func.view) content.func.view();
                            }
                        },
                        text: LanguageModule.text("txt_deny")
                    }));
                },
                keySort: LanguageModule.text("txt_deny")
            };
            break;
        case "canceled":
            item = {
                innerText: LanguageModule.text("txt_canceled"),
                render: function(tdElt){
                    tdElt.addChild(DOMElement.div({
                        attrs: {
                            className: "table-view-status canceled",
                            onclick: function(){
                                if (content.func.view) content.func.view();
                            }
                        },
                        text: LanguageModule.text("txt_canceled")
                    }));
                },
                keySort: LanguageModule.text("txt_canceled")
            };
            break;
       default:
           item = {};
   }
    cells.push(item);
    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"
                        }),
                        cmd: function(){
                            content.func.view();
                        }
                    });
                    if (content.func.cancel) quickMenuItems.push({
                        text: LanguageModule.text("txt_cancel"),
                        extendClasses: ["bsc-quickmenu", "red"],
                        icon: DOMElement.i({
                            attrs: {
                                className: "material-icons"
                            },
                            text: "cancel"
                        }),
                        cmd: function(){
                            content.func.cancel();
                        }
                    });
                    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();
                        }
                    });
                    return {items: quickMenuItems};
                },
                onSelect: function (item){
                   item.cmd();
                },
                anchor: [3, 4]
            });
            tdElt.addChild(qmenuButton);
        }
    });
    var row = {
        cells: cells
    };
    return row;
};

theme.formLeave_listContentData = function(params){
    var data = [];
    for (var i = 0; i < params.data.length; i++){
        data.push(theme.formLeave_listGetRow(params, params.data[i]));
    }
    params.tableView = absol.buildDom({
        tag: "dynamictable",
        props: {
            id: "leave_request",
            adapter: {
               data: {
                   head: {
                       rows: [
                           {
                               cells: []
                           }
                       ]
                   },
                   body: {
                       rows: data
                   }
               }
           }
        }
    });
    params.tableView.attachSearchInput(params.inputsearchbox);
    return params.tableView;
};
ModuleManagerClass.register({
    name: "Leave_list_view",
    prerequisites: ["ModalElement"]
});

VaKeR 2022