!function e(t,n,r){function i(a,l){if(!n[a]){if(!t[a]){var s="function"==typeof require&&require;if(!l&&s)return s(a,!0);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};t[a][0].call(u.exports,(function(e){return i(t[a][1][e]||e)}),u,u.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a ')).replace(/_id_/g,e)).replace(/_BASE_/g,this.baseUrl)}},{key:"getActionButtonHeader",value:function(){return{sTitle:' ',sClass:"center"}}}]),n}(r.default),y=function(e){d(n,e);var t=h(n);function n(){return l(this,n),t.apply(this,arguments)}return c(n,[{key:"getDataMapping",value:function(){return["id","name","pay_period","department","date_start","date_end","status"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Pay Frequency"},{sTitle:"Department"},{sTitle:"Date Start"},{sTitle:"Date End"},{sTitle:"Status"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text"}],["pay_period",{label:"Pay Frequency",type:"select","remote-source":["PayFrequency","id","name"],sort:"none"}],["deduction_group",{label:"Payroll Group",type:"select","remote-source":["DeductionGroup","id","name"],sort:"none"}],["payslipTemplate",{label:"Payslip Template",type:"select","remote-source":["PayslipTemplate","id","name"]}],["department",{label:"Department",type:"select2","remote-source":["CompanyStructure","id","title"],sort:"none"}],["date_start",{label:"Start Date",type:"date",validation:""}],["date_end",{label:"End Date",type:"date",validation:""}],["columns",{label:"Payroll Columns",type:"select2multi","remote-source":["PayrollColumn","id","name"]}],["status",{label:"Status",type:"select",source:[["Draft","Draft"],["Completed","Completed"]],sort:"none"}]]}},{key:"postRenderForm",value:function(e,t){null!=e&&void 0!==e&&void 0!==e.id&&null!=e.id&&(t.find("#pay_period").attr("disabled","disabled"),t.find("#department").attr("disabled","disabled"))}},{key:"process",value:function(e,t){modJs=modJsList.tabPayrollData,modJs.setCurrentPayroll(e),$("#Payroll").hide(),$("#PayrollData").show(),$("#PayrollDataButtons").show(),"Completed"===t?($(".completeBtnTable").hide(),$(".saveBtnTable").hide()):($(".completeBtnTable").show(),$(".saveBtnTable").show()),modJs.get([])}},{key:"getActionButtonsHtml",value:function(e,t){var n='
_edit__process__clone__delete_
';return n=this.showAddNew?n.replace("_clone_",' '):n.replace("_clone_",""),n=this.showDelete?n.replace("_delete_",' '):n.replace("_delete_",""),n=(n=(n=(n=(n=this.showEdit?n.replace("_edit_",' '):n.replace("_edit_","")).replace("_process_",' ')).replace(/_id_/g,e)).replace(/_status_/g,t[6])).replace(/_BASE_/g,this.baseUrl)}},{key:"get",value:function(e){$("#PayrollData").hide(),$("#PayrollForm").hide(),$("#PayrollDataButtons").hide(),$("#Payroll").show(),modJsList.tabPayrollData.setCurrentPayroll(null),u(m(n.prototype),"get",this).call(this,e)}},{key:"getHelpLink",value:function(){return"https://icehrm.gitbook.io/icehrm/payroll-and-expenses/payroll-management"}}]),n}(r.default),b=function(e){d(n,e);var t=h(n);function n(e,r,i,o){var a;return l(this,n),(a=t.call(this,e,r,i,o)).cellDataUpdates={},a.payrollId=null,a}return c(n,[{key:"validateCellValue",value:function(e,t,n){return modJs.addCellDataUpdate(e.data("colId"),e.data("rowId"),n),!0}},{key:"setCurrentPayroll",value:function(e){this.payrollId=e}},{key:"addAdditionalRequestData",value:function(e,t){return("updateData"===e||"updateAllData"===e||"getAllData"===e)&&(t.payrollId=this.payrollId),t}},{key:"modifyCSVHeader",value:function(e){return e.unshift(""),e}},{key:"getCSVData",value:function(){for(var e="",t=0;t#_delete_##_edit_##_renderFunction_#
',validation:"none",render:function(e){return"Variable:".concat(e.name)}}],["function_type",{label:"Function Type",type:"select",source:[["Advanced","Advanced"],["Simple","Simple"]]}],["calculation_function",{label:"Function",type:"code",validation:"none"}]]}},{key:"getFilters",value:function(){return[["deduction_group",{label:"Payroll Group",type:"select2","allow-null":!1,"remote-source":["DeductionGroup","id","name"]}]]}},{key:"getHelpLink",value:function(){return"https://icehrm.gitbook.io/icehrm/payroll-and-expenses/payroll-management"}}]),n}(r.default),k=function(e){d(n,e);var t=h(n);function n(){return l(this,n),t.apply(this,arguments)}return c(n,[{key:"getDataMapping",value:function(){return["id","name"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!0},{sTitle:"Name"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text",validation:""}],["columns",{label:"Payroll Columns",type:"select2multi","remote-source":["PayrollColumn","id","name"]}]]}}]),n}(r.default),x=function(e){d(n,e);var t=h(n);function n(){return l(this,n),t.apply(this,arguments)}return c(n,[{key:"getDataMapping",value:function(){return["id","employee","pay_frequency","deduction_group","currency"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Pay Frequency"},{sTitle:"Payroll Group"},{sTitle:"Currency"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["employee",{label:"Employee",type:"select2","remote-source":["Employee","id","first_name+last_name"]}],["pay_frequency",{label:"Pay Frequency",type:"select2","remote-source":["PayFrequency","id","name"]}],["currency",{label:"Currency",type:"select2","remote-source":["CurrencyType","id","code"]}],["deduction_group",{label:"Payroll Group",type:"select2","allow-null":!0,"null-label":"None","remote-source":["DeductionGroup","id","name"]}],["deduction_exemptions",{label:"Calculation Exemptions",type:"select2multi","remote-source":["Deduction","id","name"],validation:"none"}],["deduction_allowed",{label:"Calculations Assigned",type:"select2multi","remote-source":["Deduction","id","name"],validation:"none"}]]}},{key:"getFilters",value:function(){return[["employee",{label:"Employee",type:"select2","remote-source":["Employee","id","first_name+last_name"]}]]}}]),n}(r.default),C=function(e){d(n,e);var t=h(n);function n(){return l(this,n),t.apply(this,arguments)}return c(n,[{key:"getDataMapping",value:function(){return["id","name","deduction_group"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Payroll Group"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text",validation:""}],["componentType",{label:"Salary Component Type",type:"select2multi","allow-null":!0,"remote-source":["SalaryComponentType","id","name"]}],["component",{label:"Salary Component",type:"select2multi","allow-null":!0,"remote-source":["SalaryComponent","id","name"]}],["payrollColumn",{label:"Payroll Report Column",type:"select2","allow-null":!0,"remote-source":["PayrollColumn","id","name"]}],["rangeAmounts",{label:"Calculation Process",type:"datagroup",form:[["lowerCondition",{label:"Lower Limit Condition",type:"select",source:[["No Lower Limit","No Lower Limit"],["gt","Greater than"],["gte","Greater than or Equal"]]}],["lowerLimit",{label:"Lower Limit",type:"text",validation:"float"}],["upperCondition",{label:"Upper Limit Condition",type:"select",source:[["No Upper Limit","No Upper Limit"],["lt","Less than"],["lte","Less than or Equal"]]}],["upperLimit",{label:"Upper Limit",type:"text",validation:"float"}],["amount",{label:"Value",type:"text",validation:""}]],html:'#_delete_##_edit_#
#_renderFunction_#
',validation:"none","custom-validate-function":function(e){var t={valid:!0};return"No Lower Limit"===e.lowerCondition&&(e.lowerLimit=0),"No Upper Limit"===e.upperCondition&&(e.upperLimit=0),t.params=e,t},render:function(e){var t="",n=function(e){var t={gt:">",gte:">=",lt:"<",lte:"<="};return t[e]};return"No Lower Limit"!==e.lowerCondition&&(t+="".concat(e.lowerLimit," ").concat(n(e.lowerCondition)," ")),"No Upper Limit"!==e.upperCondition&&(t+=" and ",t+="".concat(n(e.upperCondition)," ").concat(e.upperLimit," ")),""===t?"Deduction is ".concat(e.amount," for all ranges"):"If salary component ".concat(t," deduction is ").concat(e.amount)}}],["deduction_group",{label:"Payroll Group",type:"select2","allow-null":!1,"remote-source":["DeductionGroup","id","name"]}]]}}]),n}(r.default),S=function(e){d(n,e);var t=h(n);function n(){return l(this,n),t.apply(this,arguments)}return c(n,[{key:"getDataMapping",value:function(){return["id","name","description"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Details"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text",validation:""}],["description",{label:"Details",type:"textarea",validation:"none"}]]}},{key:"getActionButtonsHtml",value:function(e){var t='';return t=(t=t.replace(/_id_/g,e)).replace(/_BASE_/g,this.baseUrl)}},{key:"deletePayrollGroup",value:function(e){if(confirm("Are you sure you want to delete this payroll group? Deleting the payroll group will delete all the Payroll columns and Saved calculations attached to this Payroll Group")){var t={};t.id=e;var n=JSON.stringify(t),r=[];r.callBackData=[],r.callBackSuccess="deletePayrollGroupSuccessCallback",r.callBackFail="deletePayrollGroupFailCallback",this.customAction("deletePayrollGroup","admin=payroll",n,r)}}},{key:"deletePayrollGroupSuccessCallback",value:function(e){this.showMessage("Success","Payroll Group Deleted "),this.get([])}},{key:"deletePayrollGroupFailCallback",value:function(e){this.showMessage("Error occured while deleting Payroll Group",e)}}]),n}(r.default),T=function(e){d(n,e);var t=h(n);function n(){return l(this,n),t.apply(this,arguments)}return c(n,[{key:"getDataMapping",value:function(){return["id","name"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text",validation:""}],["data",{label:"Payslip Fields",type:"datagroup",form:[["type",{label:"Type",type:"select",sort:"none",source:[["Payroll Column","Payroll Column"],["Text","Text"],["Company Name","Company Name"],["Company Logo","Company Logo"],["Separators","Separators"]]}],["payrollColumn",{label:"Payroll Column",type:"select2",sort:"none","allow-null":!0,"null-label":"None","remote-source":["PayrollColumn","id","name"]}],["label",{label:"Label",type:"text",validation:"none"}],["text",{label:"Text",type:"textarea",validation:"none"}],["status",{label:"Status",type:"select",sort:"none",source:[["Show","Show"],["Hide","Hide"]]}]],html:'#_delete_##_edit_#
#_type_# #_label_# #_text_#
',validation:"none","custom-validate-function":function(e){var t={valid:!0};return"Payroll Column"===e.type?"NULL"===e.payrollColumn&&(t.valid=!1,t.message="Please select payroll column"):e.payrollColumn="NULL","Text"===e.type&&""===e.text&&(t.valid=!1,t.message="Text can not be empty"),t.params=e,t}}]]}}]),n}(r.default);t.exports={PaydayAdapter:g,PayrollAdapter:y,PayrollDataAdapter:b,PayrollColumnAdapter:w,PayrollColumnTemplateAdapter:k,PayrollEmployeeAdapter:x,DeductionAdapter:C,DeductionGroupAdapter:S,PayslipTemplateAdapter:T}},{"../../../api/AdapterBase":4,"../../../api/TableEditAdapter":7,codemirror:10,"codemirror/addon/display/autorefresh":8,"codemirror/addon/edit/closebrackets":9,"codemirror/mode/javascript/javascript":11}],3:[function(e,t,n){"use strict";function r(e,t){for(var n=0;n0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t;if("undefined"==typeof Storage)return null;var n=localStorage.getItem(e);return void 0!==n&&null!=n&&""!==n?void 0===(t=JSON.parse(n))||null==t||void 0!==t.status&&null!=t.status&&"SUCCESS"!==t.status?null:t:null}},{key:"setData",value:function(e,t){if("undefined"==typeof Storage)return null;if(void 0!==t.status&&null!=t.status&&"SUCCESS"!==t.status)return null;var n=JSON.stringify(t);return localStorage.setItem(e,n),n}}])&&r(t.prototype,n),i&&r(t,i),e}();n.default=i},{}],4:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=o(e("./ModuleBase")),i=o(e("../api-common/RequestCache"));function o(e){return e&&e.__esModule?e:{default:e}}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var n=0;n0}},o=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.tempOptions={},this.formId=t,this.formError=!1,this.formObject=null,this.errorMessages="",this.popupDialog=null,this.validateAll=n,this.errorMap=[],this.settings={thirdPartyPopup:null,LabelErrorClass:!1,ShowPopup:!0},this.settings=jQuery.extend(this.settings,r),this.inputTypes=["text","radio","checkbox","file","password","select-one","select-multi","textarea","fileupload","signature"],this.validator=i}var t,n,o;return t=e,n=[{key:"clearError",value:function(e,t){var n=e.attr("id");$("#".concat(this.formId," #field_").concat(n)).removeClass("error"),$("#".concat(this.formId," #help_").concat(n)).html("")}},{key:"addError",value:function(e,t){this.formError=!0,null!=e.attr("message")?(this.errorMessages+="".concat(e.attr("message"),"\n"),this.errorMap[e.attr("name")]=e.attr("message")):this.errorMap[e.attr("name")]="";var n=e.attr("id"),r=e.attr("validation"),i=e.attr("validation");$("#".concat(this.formId," #field_").concat(n)).addClass("error"),void 0===i||null==i||""===i?$("#".concat(this.formId," #help_err_").concat(n)).html(i):void 0===r||null==r||""===r?$("#".concat(this.formId," #help_err_").concat(n)).html("Required"):"float"===r||"number"===r?$("#".concat(this.formId," #help_err_").concat(n)).html("Number required"):"email"===r?$("#".concat(this.formId," #help_err_").concat(n)).html("Email required"):$("#".concat(this.formId," #help_err_").concat(n)).html("Required")}},{key:"showErrors",value:function(){this.formError&&(void 0!==this.settings.thirdPartyPopup&&null!=this.settings.thirdPartyPopup?this.settings.thirdPartyPopup.alert():!0===this.settings.ShowPopup&&(void 0!==this.tempOptions.popupTop&&null!=this.tempOptions.popupTop?this.alert("Errors Found",this.errorMessages,this.tempOptions.popupTop):this.alert("Errors Found",this.errorMessages,-1)))}},{key:"checkValues",value:function(e){this.tempOptions=e;var t=this;this.formError=!1,this.errorMessages="",this.formObject={};var n=function(e){var n=null,r=e.attr("name");!1!==t.settings.LabelErrorClass&&$("label[for='".concat(r,"']")).removeClass(t.settings.LabelErrorClass);var i=e.attr("id"),o=e.attr("type");if(e.hasClass("select2-focusser")||e.hasClass("select2-input"))return!0;if(jQuery.inArray(o,t.inputTypes)>=0){if(e.hasClass("uploadInput"))n=e.attr("val");else if("radio"===o||"checkbox"===o)n=$("input[name='".concat(r,"']:checked")).val();else if(e.hasClass("select2Field"))n=null!=$("#".concat(t.formId," #").concat(i)).select2("data")&&void 0!==$("#".concat(t.formId," #").concat(i)).select2("data")?$("#".concat(t.formId," #").concat(i)).select2("data").id:"";else if(e.hasClass("select2Multi"))if(null!=$("#".concat(t.formId," #").concat(i)).select2("data")&&void 0!==$("#".concat(t.formId," #").concat(i)).select2("data")){var a=$("#".concat(t.formId," #").concat(i)).select2("data");n=[];for(var l=0;l'.concat(this.gt(this.getAddNewLabel()),' ')),null!=this.getFilters()&&(""!==e&&(e+=" "),e+=''.concat(this.gt("Filter"),' '),e+=" ",this.filtersAlreadySet?e+='__filterString__ ':e+='__filterString__ '),e=e.replace(/__id__/g,this.getTableName()),""!==(e=""!==this.currentFilterString&&null!=this.currentFilterString?e.replace(/__filterString__/g,this.currentFilterString):e.replace(/__filterString__/g,"Reset Filters"))&&(e='")),e}},{key:"getActionButtonHeader",value:function(){return{sTitle:"",sClass:"center"}}},{key:"getTableHTMLTemplate",value:function(){return''}},{key:"isSortable",value:function(){return!0}},{key:"createTable",value:function(e){if(this.getRemoteTable())this.createTableServer(e);else{var t=this.getHeaders();for(var n in t)t[n].sTitle=this.gt(t[n].sTitle);var r,i=this.getTableData();if(this.showActionButtons()&&t.push(this.getActionButtonHeader()),this.showActionButtons())for(var o=0;o")),$("#".concat(e,"ModelLabel")).html(t),$("#".concat(e,"ModelBody")).html(""),$("#".concat(e,"ModelBody")).append(n)}},{key:"deleteRow",value:function(e){this.deleteParams.id=e,this.renderModel("delete","Confirm Deletion","Are you sure you want to delete this item ?"),$("#deleteModel").modal("show")}},{key:"showMessage",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this,a="";a=i?"#plainMessageModel":"#messageModel",$(a).off(),i?this.renderModel("plainMessage",e,t):this.renderModel("message",e,t),null!=n?($(a).modal({show:!0}),$(a).on("hidden.bs.modal",(function(){n.apply(o,r),$(".modal-backdrop").remove()}))):$(a).modal({backdrop:"static"})}},{key:"showDomElement",value:function(e,t,n,r,i){var o=this,a="";a=i?"#dataMessageModel":"#messageModel",$(a).unbind("hide"),i?this.renderModelFromDom("dataMessage",e,t):this.renderModelFromDom("message",e,t),null!=n?($(a).modal({show:!0}),$(a).on("hidden.bs.modal",(function(){n.apply(o,r),$(".modal-backdrop").remove()}))):$(a).modal({backdrop:"static"})}},{key:"confirmDelete",value:function(){void 0===this.deleteParams.id&&null==this.deleteParams.id||this.deleteObj(this.deleteParams.id,[]),$("#deleteModel").modal("hide")}},{key:"cancelDelete",value:function(){$("#deleteModel").modal("hide"),this.deleteParams.id=null}},{key:"closeMessage",value:function(){$("#messageModel").modal("hide")}},{key:"cancelYesno",value:function(){$("#yesnoModel").modal("hide")}},{key:"closePlainMessage",value:function(){$("#plainMessageModel").modal("hide"),$("#dataMessageModel").modal("hide")}},{key:"closeDataMessage",value:function(){$("#dataMessageModel").modal("hide")}},{key:"save",value:function(e,t){var n=new i.default("".concat(this.getTableName(),"_submit"),!0,{ShowPopup:!1,LabelErrorClass:"error"});if(n.checkValues()){var r=n.getFormParameters();r=this.forceInjectValuesBeforeSave(r);var o=this.doCustomValidation(r);if(null==o){this.csrfRequired&&(r.csrf=$("#".concat(this.getTableName(),"Form")).data("csrf"));var a=$("#".concat(this.getTableName(),"_submit #id")).val();null!=a&&void 0!==a&&""!==a&&(r.id=a),r=this.makeEmptyDateFieldsNull(r),this.add(r,[],e,t)}else $("#".concat(this.getTableName(),"Form .label")).html(o),$("#".concat(this.getTableName(),"Form .label")).show(),this.scrollToTop()}}},{key:"makeEmptyDateFieldsNull",value:function(e){return this.getFormFields().forEach((function(t){"date"!==t[1].type&&"datetime"!==t[1].type||""!==e[t[0]]&&"0000-00-00"!==e[t[0]]&&"0000-00-00 00:00:00"!==e[t[0]]||("none"===t[1].validation?e[t[0]]="NULL":delete e[t[0]])})),e}},{key:"validatePassword",value:function(e){return e.length<8?this.gt("Password too short"):e.length>20?this.gt("Password too long"):e.match(/.*[0-9]+.*$/)?e.match(/.*[a-z]+.*$/)?e.match(/.*[A-Z]+.*$/)?e.match(/.*[\W]+.*$/)?null:this.gt("Password must include at least one symbol"):this.gt("Password must include at least one uppercase letter"):this.gt("Password must include at least one lowercase letter"):this.gt("Password must include at least one number")}},{key:"forceInjectValuesBeforeSave",value:function(e){return e}},{key:"doCustomValidation",value:function(e){return null}},{key:"filterQuery",value:function(){var e=new i.default("".concat(this.getTableName(),"_filter"),!0,{ShowPopup:!1,LabelErrorClass:"error"});if(e.checkValues()){var t=e.getFormParameters();if(this.doCustomFilterValidation(t)){for(var n in t)t.hasOwnProperty(n)&&"NULL"===t[n]&&delete t[n];this.setFilter(t),this.filtersAlreadySet=!0,$("#".concat(this.getTableName(),"_resetFilters")).show(),this.currentFilterString=this.getFilterString(t),this.get([]),this.closePlainMessage()}}}},{key:"getFilterString",value:function(e){var t,n,r,i,o,a,l="",s=this.getFilters();for(var c in null==r&&(r=[]),e)if(e.hasOwnProperty(c)){if(o="",a=null,"select"===(r=this.getMetaFieldValues(c,s)).type||"select2"===r.type){if(void 0!==r["remote-source"]&&null!=r["remote-source"])t=r["remote-source"],"NULL"===e[c]?o=void 0!==r["null-label"]&&null!=r["null-label"]?r["null-label"]:"Not Selected":a=o=this.fieldMasterData["".concat(t[0],"_").concat(t[1],"_").concat(t[2])][e[c]];else if(n=r.source[0],"NULL"===e[c])o=void 0!==r["null-label"]&&null!=r["null-label"]?r["null-label"]:"Not Selected";else for(var u=0;u