Push changes to frontend

This commit is contained in:
Thilina Hasantha committed 2019-02-03 13:57:59 +01:00
1 parent 96b0ad8496
commit 067af27b76
139 files changed
+69635 -12

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,s){if(!a[n]){if(!t[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.AttendanceAdapter=l.AttendanceAdapter,window.AttendanceStatusAdapter=l.AttendanceStatusAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=n(e("../../../api/AdapterBase")),r=n(e("../../../api/FormValidation"));function n(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(e,a,l,i){s(this,t);var r=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a,l,i));return r.photoAttendance=!1,r}return u(t,i.default),l(t,[{key:"getDataMapping",value:function(){return["id","employee","in_time","out_time","note"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Time-In"},{sTitle:"Time-Out"},{sTitle:"Note"}]}},{key:"getFormFields",value:function(){return[["employee",{label:"Employee",type:"select2","allow-null":!1,"remote-source":["Employee","id","first_name+last_name"]}],["id",{label:"ID",type:"hidden"}],["in_time",{label:"Time-In",type:"datetime"}],["out_time",{label:"Time-Out",type:"datetime",validation:"none"}],["note",{label:"Note",type:"textarea",validation:"none"}]]}},{key:"getFilters",value:function(){return[["employee",{label:"Employee",type:"select2","allow-null":!1,"remote-source":["Employee","id","first_name+last_name"]}]]}},{key:"setPhotoAttendance",value:function(e){this.photoAttendance=parseInt(e,10)}},{key:"getCustomTableParams",value:function(){var e=this;return{aoColumnDefs:[{fnRender:function(t,a){return e.preProcessRemoteTableData(t,a,2)},aTargets:[2]},{fnRender:function(t,a){return e.preProcessRemoteTableData(t,a,3)},aTargets:[3]},{fnRender:function(t,a){return e.preProcessRemoteTableData(t,a,4)},aTargets:[4]},{fnRender:e.getActionButtons,aTargets:[e.getDataMapping().length]}]}}},{key:"preProcessRemoteTableData",value:function(e,t,a){return 2===a?"0000-00-00 00:00:00"===t||""===t||void 0===t||null==t?"":Date.parse(t).toString("yyyy MMM d <b>HH:mm</b>"):3===a?"0000-00-00 00:00:00"===t||""===t||void 0===t||null==t?"":Date.parse(t).toString("MMM d <b>HH:mm</b>"):4===a?null!=t&&t.length>10?t.substring(0,10)+"..":t:void 0}},{key:"save",value:function(){var e=new r.default(this.getTableName()+"_submit",!0,{ShowPopup:!1,LabelErrorClass:"error"});if(e.checkValues()){var t=e.getFormParameters(),a=this.doCustomValidation(t);if(null==a){var l=$("#"+this.getTableName()+"_submit #id").val();null!=l&&void 0!==l&&""!==l&&(t.id=l);var i=JSON.stringify(t),n=[];n.callBackData=[],n.callBackSuccess="saveSuccessCallback",n.callBackFail="saveFailCallback",this.customAction("savePunch","admin=attendance",i,n)}else{var s=$("#"+this.getTableName()+"Form .label");s.html(a),s.show()}}}},{key:"saveSuccessCallback",value:function(e){this.get(e)}},{key:"saveFailCallback",value:function(e){this.showMessage("Error saving attendance entry",e)}},{key:"isSubProfileTable",value:function(){return"Admin"!==this.user.user_level}},{key:"showPunchImages",value:function(e){var t=JSON.stringify({id:e}),a=[];a.callBackData=[],a.callBackSuccess="getImagesSuccessCallback",a.callBackFail="getImagesFailCallback",this.customAction("getImages","admin=attendance",t,a)}},{key:"getImagesSuccessCallback",value:function(e){if($("#attendancePhotoModel").modal("show"),$("#attendnaceCanvasEmp").html(e.employee_Name),e.in_time&&$("#attendnaceCanvasPunchInTime").html(Date.parse(e.in_time).toString("yyyy MMM d <b>HH:mm</b>")),e.image_in){var t=document.getElementById("attendnaceCanvasIn").getContext("2d"),a=new Image;a.onload=function(){t.drawImage(a,0,0)},a.src=e.image_in}if(e.out_time&&$("#attendnaceCanvasPunchOutTime").html(Date.parse(e.out_time).toString("yyyy MMM d <b>HH:mm</b>")),e.image_out){var l=document.getElementById("attendnaceCanvasOut").getContext("2d"),i=new ImaLine truncated
//# sourceMappingURL=attendance.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,o){if(!a[n]){if(!t[n]){var s="function"==typeof require&&require;if(!o&&s)return s(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.CompanyStructureAdapter=l.CompanyStructureAdapter,window.CompanyGraphAdapter=l.CompanyGraphAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","title","address","type","country","timezone","parent"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Address",bSortable:!1},{sTitle:"Type"},{sTitle:"Country",sClass:"center"},{sTitle:"Time Zone"},{sTitle:"Parent Structure"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden",validation:""}],["title",{label:"Name",type:"text",validation:""}],["description",{label:"Details",type:"textarea",validation:""}],["address",{label:"Address",type:"textarea",validation:"none"}],["type",{label:"Type",type:"select",source:[["Company","Company"],["Head Office","Head Office"],["Regional Office","Regional Office"],["Department","Department"],["Unit","Unit"],["Sub Unit","Sub Unit"],["Other","Other"]]}],["country",{label:"Country",type:"select2","remote-source":["Country","code","name"]}],["timezone",{label:"Time Zone",type:"select2","allow-null":!1,"remote-source":["Timezone","name","details"]}],["parent",{label:"Parent Structure",type:"select","allow-null":!0,"remote-source":["CompanyStructure","id","title"]}],["heads",{label:"Heads",type:"select2multi","allow-null":!0,"remote-source":["Employee","id","first_name+last_name"]}]]}},{key:"postRenderForm",value:function(e,t){null!=e&&null!==e.id&&void 0!==e.id&&""!==e.id||t.find("#field_heads").hide()}}]),t}(),d=function(e){function t(e,a,l,i){o(this,t);var r=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a,l,i));return r.nodeIdCounter=0,r}return u(t,c),i(t,[{key:"convertToTree",value:function(e){for(var t={id:-1,title:"",name:"",children:[]},a=null,l=0;l<e.length;l++)e[l].name=e[l].title,null!=e[l].parent&&void 0!==e[l].parent&&null!=(a=this.findParent(e,e[l].parent))&&(void 0!==a.children&&null!=a.children||(a.children=[]),a.children.push(e[l]));for(var i=0;i<e.length;i++)null!=e[i].parent&&void 0!==e[i].parent||t.children.push(e[i]);return t}},{key:"findParent",value:function(e,t){for(var a=0;a<e.length;a++)if(e[a].title===t||e[a].title===t)return e[a];return null}},{key:"createTable",value:function(e){$("#tabPageCompanyGraph").html("");var t=this.sourceData,a=this.convertToTree(t),l=[20,120,20,120],i=5e3-l[1]-l[3],r=1e3-l[0]-l[2],n=d3.layout.tree().size([r,i]);this.diagonal=d3.svg.diagonal().projection(function(e){return[e.y,e.x]}),this.vis=d3.select("#tabPageCompanyGraph").append("svg:svg").attr("width",i+l[1]+l[3]).attr("height",r+l[0]+l[2]).append("svg:g").attr("transform","translate("+l[3]+","+l[0]+")");var o=a;o.x0=r/2,o.y0=0,this.update(o,n,o)}},{key:"update",value:function(e,t,a){var l=this,i=d3.event&&d3.event.altKey?5e3:500,r=t.nodes(a).reverse();r.forEach(function(e){e.y=180*e.depth});var n=l.vis.selectAll("g.node").data(r,function(e){return e.id||(e.id=++l.nodeIdCounter)}),o=n.enter().append("svg:g").attr("class","node").attr("transform",function(t){return"translate("+e.y0+","+e.x0+")"}).on("click",function(e){l.toggle(e),l.update(e,t,a)});o.append("svg:circle").attr("r",1e-6).style("fill",function(e){return e._children?"lightsteelblue":"#fff"}),o.append("svg:text").attr("x",function(e){return e.children||e._children?-10:10}).attr("dy",".35em").attr("text-anchor",function(e){return e.children||e._children?"end":"start"}).text(function(e){return e.name}).style("fill-opaLine truncated
//# sourceMappingURL=company_structure.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,s){if(!a[n]){if(!t[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.DashboardAdapter=l.DashboardAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};var s=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,n.default),i(t,[{key:"getDataMapping",value:function(){return[]}},{key:"getHeaders",value:function(){return[]}},{key:"getFormFields",value:function(){return[]}},{key:"get",value:function(e){}},{key:"getInitData",value:function(){var e=JSON.stringify({}),t=[];t.callBackData=[],t.callBackSuccess="getInitDataSuccessCallBack",t.callBackFail="getInitDataFailCallBack",this.customAction("getInitData","admin=dashboard",e,t)}},{key:"getInitDataSuccessCallBack",value:function(e){$("#numberOfEmployees").html(e.numberOfEmployees+" Employees"),$("#numberOfCompanyStuctures").html(e.numberOfCompanyStuctures+" Departments"),$("#numberOfUsers").html(e.numberOfUsers+" Users"),$("#numberOfProjects").html(e.numberOfProjects+" Active Projects"),$("#numberOfAttendanceLastWeek").html(e.numberOfAttendanceLastWeek+" Entries Last Week"),$("#numberOfLeaves").html(e.numberOfLeaves+" Upcoming"),$("#numberOfTimeEntries").html(e.numberOfTimeEntries),$("#numberOfCandidates").html(e.numberOfCandidates+" Candidates"),$("#numberOfJobs").html(e.numberOfJobs+" Active"),$("#numberOfCourses").html(e.numberOfCourses+" Courses")}},{key:"getInitDataFailCallBack",value:function(e){}}]),t}();t.exports={DashboardAdapter:s}},{"../../../api/AdapterBase":4}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return void 0!==a&&null!=a&&""!==a?void 0===(t=JSON.parse(a))||null==t?null: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 a=JSON.stringify(t);return localStorage.setItem(e,a),a}}]),e}();a.default=i},{}],4:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=n(e("./ModuleBase")),r=n(e("../api-common/RequestCache"));function n(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e,a,l,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.moduleRelativeURL=null,r.tableData=[],r.sourceData=[],r.filter=null,r.origFilter=null,r.orderBy=null,r.currentElement=null,r.initALine truncated
//# sourceMappingURL=dashboard.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,s){if(!a[n]){if(!t[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.DataImportAdapter=l.DataImportAdapter,window.DataImportFileAdapter=l.DataImportFileAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","dataType","details"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Data Type"},{sTitle:"Details"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text",validation:""}],["dataType",{label:"Data Type",type:"text",validation:""}],["details",{label:"Details",type:"textarea",validation:"none"}],["columns",{label:"Columns",type:"datagroup",form:[["name",{label:"Name",type:"text",validation:""}],["title",{label:"Filed Title",type:"text",validation:"none"}],["type",{label:"Type",type:"select",sort:"none",source:[["Normal","Normal"],["Reference","Reference"],["Attached","Attached"]]}],["dependOn",{label:"Depends On",type:"select","allow-null":!0,"null-label":"N/A",source:[["EmergencyContact","Emergency Contacts"],["Ethnicity","Ethnicity"],["Nationality","Nationality"],["JobTitle","JobTitle"],["PayFrequency","PayFrequency"],["PayGrade","PayGrade"],["EmploymentStatus","EmploymentStatus"],["CompanyStructure","CompanyStructure"],["Employee","Employee"]]}],["dependOnField",{label:"Depends On Field",type:"text",validation:"none"}],["isKeyField",{label:"Is Key Field",type:"select",validation:"",source:[["No","No"],["Yes","Yes"]]}],["idField",{label:"Is ID Field",type:"select",validation:"",source:[["No","No"],["Yes","Yes"]]}]],html:'<div id="#_id_#" class="panel panel-default"><div class="panel-heading"><b>#_name_#</b> #_delete_##_edit_#</div><div class="panel-body"><b>Header Title: </b>#_title_#<br/><span style="color:#999;font-size:11px;font-weight:bold">Type: #_type_# </span><br/></div></div>',validation:"none","custom-validate-function":function(e){var t={};return t.params=e,t.valid=!0,"Reference"===e.type&&("NULL"===e.dependOn?(t.message="If the type is Reference this field should referring another table",t.valid=!1):null!==dependOnField&&void 0!==dependOnField||(t.message="If the type is Reference then 'Depends On Field' can not be empty",t.valid=!1)),t}}]]}}]),t}(),d=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","data_import_definition","status"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Data Import Definition"},{sTitle:"Status"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text",validation:""}],["data_import_definition",{label:"Data Import Definitions",type:"select","remote-source":["DataImport","id","name"]}],["file",{label:"File to Import",type:"fileupload",validation:"",filetypes:"csv,txt"}],["details",{label:"Last Export Result",type:"textarea",validation:"none"}]]}},{key:"getActionButtonsHtml",value:function(e,t){var a='<div style="width:120px;">_edit__process__clone__delete_</div>';return a=this.showAddNew?a.replace("_clone_",'<img class="tableActionButton" src="_BASE_images/clone.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Copy" onclick="modJs.copyRow(_id_);return false;"></img>'):a.replace("_clone_",""),a=this.showDelete?a.replace("_delete_",'<img class="tableActionButton" src="_BASE_images/delete.png" styLine truncated
//# sourceMappingURL=data.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,l,a){function i(n,s){if(!l[n]){if(!t[n]){var r="function"==typeof require&&require;if(!s&&r)return r(n,!0);if(o)return o(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var d=l[n]={exports:{}};t[n][0].call(d.exports,function(e){return i(t[n][1][e]||e)},d,d.exports,e,t,l,a)}return l[n].exports}for(var o="function"==typeof require&&require,n=0;n<a.length;n++)i(a[n]);return i}}()({1:[function(e,t,l){"use strict";var a=e("./lib");window.EmployeeAdapter=a.EmployeeAdapter,window.TerminatedEmployeeAdapter=a.TerminatedEmployeeAdapter,window.ArchivedEmployeeAdapter=a.ArchivedEmployeeAdapter,window.EmployeeSkillAdapter=a.EmployeeSkillAdapter,window.EmployeeEducationAdapter=a.EmployeeEducationAdapter,window.EmployeeCertificationAdapter=a.EmployeeCertificationAdapter,window.EmployeeLanguageAdapter=a.EmployeeLanguageAdapter,window.EmployeeDependentAdapter=a.EmployeeDependentAdapter,window.EmergencyContactAdapter=a.EmergencyContactAdapter,window.EmployeeImmigrationAdapter=a.EmployeeImmigrationAdapter,window.EmployeeSubSkillsAdapter=a.EmployeeSubSkillsAdapter,window.EmployeeSubEducationAdapter=a.EmployeeSubEducationAdapter,window.EmployeeSubCertificationAdapter=a.EmployeeSubCertificationAdapter,window.EmployeeSubLanguageAdapter=a.EmployeeSubLanguageAdapter,window.EmployeeSubDependentAdapter=a.EmployeeSubDependentAdapter,window.EmployeeSubEmergencyContactAdapter=a.EmployeeSubEmergencyContactAdapter,window.EmployeeSubDocumentAdapter=a.EmployeeSubDocumentAdapter,window.EmployeeDocumentAdapter=a.EmployeeDocumentAdapter},{"./lib":2}],2:[function(e,t,l){"use strict";var a=function(){function e(e,t){for(var l=0;l<t.length;l++){var a=t[l];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,l,a){return l&&e(t.prototype,l),a&&e(t,a),t}}(),i=n(e("../../../api/AdapterBase")),o=n(e("../../../api/SubAdapterBase"));function n(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var d=function(e){function t(){return s(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,o.default),a(t,[{key:"getDataMapping",value:function(){return["id","employee","skill_id","details"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Skill"},{sTitle:"Details"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["employee",{label:"Employee",type:"hidden"}],["skill_id",{label:"Skill",type:"select2","allow-null":!0,"remote-source":["Skill","id","name"]}],["details",{label:"Details",type:"textarea",validation:""}]]}},{key:"forceInjectValuesBeforeSave",value:function(e){return e.employee=this.parent.currentId,e}},{key:"getSubHeaderTitle",value:function(){return'<button class="btn btn-small btn-success" onclick="modJs.subModJsList[\'tab'+this.tab+'\'].renderForm();" style="margin-right:10px;"><i class="fa fa-plus"></i></button>'+this.gt("Skills")}},{key:"getSubItemHtml",value:function(e,t,l){return $('<div class="list-group-item sub-tab-item"><h5 class="list-group-item-heading" style="font-weight:bold;">'+e[2]+t+l+'</h5><p class="list-group-item-text">'+nl2br(e[3])+"</p></div>")}}]),t}(),c=function(e){function t(){return s(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,o.default),a(t,[{key:"getDataMapping",value:function(){return["id","employee","education_id","institute","date_start","date_end"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Qualification"},{sTitle:"Institute"},{sTitle:"Start Date"},{sTitle:"Completed On"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["employee",{label:"Employee",type:"hidden"}],["education_id",{label:"Qualification",type:"select2","allow-null":!1,"remote-source":["Education","id","name"]}],["institute",{label:"Institute",type:"text",validation:""}],["date_start",{label:"Start Date",type:"date",validation:"none"}],["date_end",{label:"Completed On",type:"date",validation:"none"}]]}},{key:"forceInjectValuesBeforeSave",value:function(e){return e.employee=this.parent.currentId,e}},{key:"getSubHeaderTitle",value:function(){return'<button class="btn btn-small btn-success" onclick="modJs.subModJsList[\'tab'+this.tab+'\'].renderForm();" style="margin-right:10px;"><i class="fa fa-plus"></i></button>Line truncated
//# sourceMappingURL=employees.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,o){if(!a[n]){if(!t[n]){var s="function"==typeof require&&require;if(!o&&s)return s(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var d=a[n]={exports:{}};t[n][0].call(d.exports,function(e){return i(t[n][1][e]||e)},d,d.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.FieldNameAdapter=l.FieldNameAdapter,window.CustomFieldAdapter=l.CustomFieldAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=n(e("../../../api/AdapterBase")),r=n(e("../../../api/CustomFieldAdapter"));function n(e){return e&&e.__esModule?e:{default:e}}var o=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default),l(t,[{key:"getDataMapping",value:function(){return["id","name","textOrig","textMapped","display"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Original Text"},{sTitle:"Mapped Text"},{sTitle:"Display Status"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["type",{label:"Type",type:"placeholder",validation:""}],["name",{label:"Name",type:"placeholder",validation:""}],["textOrig",{label:"Original Text",type:"placeholder",validation:""}],["textMapped",{label:"Mapped Text",type:"text",validation:""}],["display",{label:"Display Status",type:"select",source:[["Form","Show"],["Hidden","Hidden"]]}]]}}]),t}();t.exports={FieldNameAdapter:o,CustomFieldAdapter:r.default}},{"../../../api/AdapterBase":4,"../../../api/CustomFieldAdapter":5}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return void 0!==a&&null!=a&&""!==a?void 0===(t=JSON.parse(a))||null==t?null: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 a=JSON.stringify(t);return localStorage.setItem(e,a),a}}]),e}();a.default=i},{}],4:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=n(e("./ModuleBase")),r=n(e("../api-common/RequestCache"));function n(e){return e&&e.__esModule?e:{default:e}}var o=function(e){function t(e,a,l,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.moduleRelativeURL=null,r.tableData=[],r.sourceData=[],r.filter=null,r.origFilter=null,r.orderBy=null,r.currentElement=null,r.initAdapter(e,a,l,i),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeLine truncated
//# sourceMappingURL=fieldnames.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,s){if(!a[n]){if(!t[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.JobTitleAdapter=l.JobTitleAdapter,window.PayGradeAdapter=l.PayGradeAdapter,window.EmploymentStatusAdapter=l.EmploymentStatusAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","code","name"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Code"},{sTitle:"Name"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["code",{label:"Job Title Code",type:"text"}],["name",{label:"Job Title",type:"text"}],["description",{label:"Description",type:"textarea"}],["specification",{label:"Specification",type:"textarea"}]]}},{key:"getHelpLink",value:function(){return"http://blog.icehrm.com/docs/jobdetails/"}}]),t}(),d=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","currency","min_salary","max_salary"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Currency"},{sTitle:"Min Salary"},{sTitle:"Max Salary"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Pay Grade Name",type:"text"}],["currency",{label:"Currency",type:"select2","remote-source":["CurrencyType","code","name"]}],["min_salary",{label:"Min Salary",type:"text",validation:"float"}],["max_salary",{label:"Max Salary",type:"text",validation:"float"}]]}},{key:"doCustomValidation",value:function(e){try{if(parseFloat(e.min_salary)>parseFloat(e.max_salary))return"Min Salary should be smaller than Max Salary"}catch(e){}return null}}]),t}(),h=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","description"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID"},{sTitle:"Name"},{sTitle:"Description"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Employment Status",type:"text"}],["description",{label:"Description",type:"textarea",validation:""}]]}}]),t}();t.exports={JobTitleAdapter:c,PayGradeAdapter:d,EmploymentStatusAdapter:h}},{"../../../api/AdapterBase":4}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return void 0!==a&&null!=a&&""!==a?void 0===(t=JSON.parse(a))||null==t?null: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 a=JSON.stringify(t);return localSLine truncated
//# sourceMappingURL=jobs.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,o){if(!a[n]){if(!t[n]){var s="function"==typeof require&&require;if(!o&&s)return s(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.CompanyLoanAdapter=l.CompanyLoanAdapter,window.EmployeeCompanyLoanAdapter=l.EmployeeCompanyLoanAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","details"]}},{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:""}],["details",{label:"Details",type:"textarea",validation:"none"}]]}}]),t}(),d=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","employee","loan","start_date","period_months","currency","amount","status"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Loan Type"},{sTitle:"Loan Start Date"},{sTitle:"Loan Period (Months)"},{sTitle:"Currency"},{sTitle:"Amount"},{sTitle:"Status"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["employee",{label:"Employee",type:"select2","remote-source":["Employee","id","first_name+last_name"]}],["loan",{label:"Loan Type",type:"select","remote-source":["CompanyLoan","id","name"]}],["start_date",{label:"Loan Start Date",type:"date",validation:""}],["last_installment_date",{label:"Last Installment Date",type:"date",validation:"none"}],["period_months",{label:"Loan Period (Months)",type:"text",validation:"number"}],["currency",{label:"Currency",type:"select2","remote-source":["CurrencyType","id","name"]}],["amount",{label:"Loan Amount",type:"text",validation:"float"}],["monthly_installment",{label:"Monthly Installment",type:"text",validation:"float"}],["status",{label:"Status",type:"select",source:[["Approved","Approved"],["Paid","Paid"],["Suspended","Suspended"]]}],["details",{label:"Details",type:"textarea",validation:"none"}]]}},{key:"getFilters",value:function(){return[["employee",{label:"Employee",type:"select2","allow-null":!0,"null-label":"All Employees","remote-source":["Employee","id","first_name+last_name"]}],["loan",{label:"Loan Type",type:"select","allow-null":!0,"null-label":"All Loan Types","remote-source":["CompanyLoan","id","name"]}]]}}]),t}();t.exports={CompanyLoanAdapter:c,EmployeeCompanyLoanAdapter:d}},{"../../../api/AdapterBase":4}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return void 0!==a&&null!=a&&""!==a?void 0===(t=JSON.parse(a))||null==t?null: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;ifLine truncated
//# sourceMappingURL=loans.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,o){if(!a[n]){if(!t[n]){var s="function"==typeof require&&require;if(!o&&s)return s(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.CountryAdapter=l.CountryAdapter,window.ProvinceAdapter=l.ProvinceAdapter,window.CurrencyTypeAdapter=l.CurrencyTypeAdapter,window.NationalityAdapter=l.NationalityAdapter,window.ImmigrationStatusAdapter=l.ImmigrationStatusAdapter,window.EthnicityAdapter=l.EthnicityAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=n(e("../../../api/AdapterBase")),r=n(e("../../../api/IdNameAdapter"));function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,i.default),l(t,[{key:"getDataMapping",value:function(){return["id","code","name"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Code"},{sTitle:"Name"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["code",{label:"Code",type:"text",validation:""}],["name",{label:"Name",type:"text",validation:""}]]}}]),t}(),d=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,i.default),l(t,[{key:"getDataMapping",value:function(){return["id","code","name","country"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Code"},{sTitle:"Name"},{sTitle:"Country"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["code",{label:"Code",type:"text",validation:""}],["name",{label:"Name",type:"text",validation:""}],["country",{label:"Country",type:"select2","remote-source":["Country","code","name"]}]]}},{key:"getFilters",value:function(){return[["country",{label:"Country",type:"select2","remote-source":["Country","code","name"]}]]}}]),t}(),h=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,i.default),l(t,[{key:"getDataMapping",value:function(){return["id","code","name"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Code"},{sTitle:"Name"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["code",{label:"Code",type:"text",validation:""}],["name",{label:"Name",type:"text",validation:""}]]}}]),t}(),f=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,r.default),t}(),p=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,r.default),t}(),v=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,r.default),t}();t.exports={CountryAdapter:c,ProvinceAdapter:d,CurrencyTypeAdapter:h,NationalityAdapter:f,ImmigrationStatusAdapter:p,EthnicityAdapter:v}},{"../../../api/AdapterBase":4,"../../../api/IdNameAdapter":6}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return voiLine truncated
//# sourceMappingURL=metadata.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,s){if(!a[n]){if(!t[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.ModuleAdapter=l.ModuleAdapter,window.UsageAdapter=l.UsageAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","label","menu","mod_group","mod_order","status","version","update_path"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Menu",bVisible:!1},{sTitle:"Group"},{sTitle:"Order"},{sTitle:"Status"},{sTitle:"Version",bVisible:!1},{sTitle:"Path",bVisible:!1}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["label",{label:"Label",type:"text",validation:""}],["status",{label:"Status",type:"select",source:[["Enabled","Enabled"],["Disabled","Disabled"]]}],["user_levels",{label:"User Levels",type:"select2multi",source:[["Admin","Admin"],["Manager","Manager"],["Employee","Employee"],["Other","Other"]]}],["user_roles",{label:"User Roles",type:"select2multi","remote-source":["UserRole","id","name"]}]]}},{key:"getActionButtonsHtml",value:function(e,t){var a={"admin_Company Structure":1,admin_Employees:1,"admin_Job Details Setup":1,admin_Leaves:1,"admin_Manage Modules":1,admin_Projects:1,admin_Qualifications:1,admin_Settings:1,admin_Users:1,admin_Upgrade:1,admin_Dashboard:1,"user_Basic Information":1,user_Dashboard:1};if(1===a[t[3]+"_"+t[1]])return"";var l='<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"/></div>';return l=(l=l.replace(/_id_/g,e)).replace(/_BASE_/g,this.baseUrl)}}]),t}(),d=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return[]}},{key:"getHeaders",value:function(){return[]}},{key:"getFormFields",value:function(){return[]}},{key:"get",value:function(e){}},{key:"saveUsage",value:function(){var e={},t=[];if($(".module-check").each(function(){$(this).is(":checked")&&t.push($(this).val())}),0!==t.length){e.groups=t.join(",");var a=JSON.stringify(e),l=[];l.callBackData=[],l.callBackSuccess="getInitDataSuccessCallBack",l.callBackFail="getInitDataFailCallBack",this.customAction("saveUsage","admin=modules",a,l)}else alert("Please select one or more module groups")}},{key:"saveUsageSuccessCallBack",value:function(e){}},{key:"saveUsageFailCallBack",value:function(e){}}]),t}();t.exports={ModuleAdapter:c,UsageAdapter:d}},{"../../../api/AdapterBase":4}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return void 0!==a&&null!=a&&""!==a?void 0===(t=JSON.parse(a))||null==t?null:void 0!==t.status&&null!=t.status&&"SUCCESS"!==t.status?null:t:Line truncated
//# sourceMappingURL=modules.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,s){if(!a[n]){if(!t[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.OvertimeCategoryAdapter=l.OvertimeCategoryAdapter,window.EmployeeOvertimeAdminAdapter=l.EmployeeOvertimeAdminAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=n(e("../../../api/AdapterBase")),r=n(e("../../../api/ApproveAdminAdapter"));function n(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,i.default),l(t,[{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:""}]]}}]),t}(),d=function(e){function t(e,a,l,i){s(this,t);var r=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a,l,i));return r.itemName="OvertimeRequest",r.itemNameLower="overtimerequest",r.modulePathName="overtime",r}return u(t,r.default),l(t,[{key:"getDataMapping",value:function(){return["id","employee","category","start_time","end_time","project","status"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Category"},{sTitle:"Start Time"},{sTitle:"End Time"},{sTitle:"Project"},{sTitle:"Status"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["employee",{label:"Employee",type:"select2",sort:"none","allow-null":!1,"remote-source":["Employee","id","first_name+last_name","getActiveSubordinateEmployees"]}],["category",{label:"Category",type:"select2","allow-null":!1,"remote-source":["OvertimeCategory","id","name"]}],["start_time",{label:"Start Time",type:"datetime",validation:""}],["end_time",{label:"End Time",type:"datetime",validation:""}],["project",{label:"Project",type:"select2","allow-null":!0,"null=label":"none","remote-source":["Project","id","name"]}],["notes",{label:"Notes",type:"textarea",validation:"none"}]]}}]),t}();t.exports={OvertimeCategoryAdapter:c,EmployeeOvertimeAdminAdapter:d}},{"../../../api/AdapterBase":4,"../../../api/ApproveAdminAdapter":5}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return void 0!==a&&null!=a&&""!==a?void 0===(t=JSON.parse(a))||null==t?null: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 a=JSON.stringify(t);return localStorage.setItem(e,a),a}}]),e}();a.default=i},{}],4:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=n(e("./ModuleBase")),r=n(eLine truncated
//# sourceMappingURL=overtime.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(o,r){if(!a[o]){if(!t[o]){var s="function"==typeof require&&require;if(!r&&s)return s(o,!0);if(n)return n(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var d=a[o]={exports:{}};t[o][0].call(d.exports,function(e){return i(t[o][1][e]||e)},d,d.exports,e,t,a,l)}return a[o].exports}for(var n="function"==typeof require&&require,o=0;o<l.length;o++)i(l[o]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.PaydayAdapter=l.PaydayAdapter,window.PayrollAdapter=l.PayrollAdapter,window.PayrollDataAdapter=l.PayrollDataAdapter,window.PayrollColumnAdapter=l.PayrollColumnAdapter,window.PayrollColumnTemplateAdapter=l.PayrollColumnTemplateAdapter,window.PayrollEmployeeAdapter=l.PayrollEmployeeAdapter,window.DeductionAdapter=l.DeductionAdapter,window.DeductionGroupAdapter=l.DeductionGroupAdapter,window.PayslipTemplateAdapter=l.PayslipTemplateAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=function e(t,a,l){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,a);if(void 0===i){var n=Object.getPrototypeOf(t);return null===n?void 0:e(n,a,l)}if("value"in i)return i.value;var o=i.get;return void 0!==o?o.call(l):void 0},n=r(e("../../../api/AdapterBase")),o=r(e("../../../api/TableEditAdapter"));function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return d(t,n.default),l(t,[{key:"getDataMapping",value:function(){return["id","name"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Select Pay Frequency"}]}},{key:"getFormFields",value:function(){return[["name",{label:"Name",type:"text",validation:""}]]}},{key:"getAddNewLabel",value:function(){return"Run Payroll"}},{key:"createTable",value:function(e){$("#payday_all").off(),i(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"createTable",this).call(this,e),$("#payday_all").off().on("click",function(){$(this).is(":checked")?$(".paydayCheck").prop("checked",!0):$(".paydayCheck").prop("checked",!1)})}},{key:"getActionButtonsHtml",value:function(e,t){var a='<div style="width:120px;">_edit_</div>';return a=(a=(a=a.replace("_edit_",'<input type="checkbox" class="paydayCheck" id="payday__id_" name="payday__id_" value="checkbox_payday__id_"/>')).replace(/_id_/g,e)).replace(/_BASE_/g,this.baseUrl)}},{key:"getActionButtonHeader",value:function(){return{sTitle:'<input type="checkbox" id="payday_all" name="payday_all" value="checkbox_payday_all"/>',sClass:"center"}}}]),t}(),p=function(e){function t(){return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return d(t,n.default),l(t,[{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:"Calculation 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",vaLine truncated
//# sourceMappingURL=payroll.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,s){if(!a[n]){if(!t[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.PermissionAdapter=l.PermissionAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};var s=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","user_level","module_id","permission","value"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"User Level"},{sTitle:"Module"},{sTitle:"Permission"},{sTitle:"Value"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["user_level",{label:"User Level",type:"placeholder",validation:"none"}],["module_id",{label:"Module",type:"placeholder","remote-source":["Module","id","menu+name"]}],["permission",{label:"Permission",type:"placeholder",validation:"none"}],["value",{label:"Value",type:"text",validation:"none"}]]}},{key:"getFilters",value:function(){return[["module_id",{label:"Module",type:"select2","allow-null":!0,"null-label":"All Modules","remote-source":["Module","id","menu+name"]}]]}},{key:"getActionButtonsHtml",value:function(e,t){var a='<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img></div>';return a=(a=a.replace(/_id_/g,e)).replace(/_BASE_/g,this.baseUrl)}},{key:"getMetaFieldForRendering",value:function(e){return"value"===e?"meta":""}},{key:"fillForm",value:function(e){(function e(t,a,l){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,a);if(void 0===i){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,a,l)}if("value"in i)return i.value;var n=i.get;return void 0!==n?n.call(l):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"fillForm",this).call(this,e),$("#helptext").html(e.description)}}]),t}();t.exports={PermissionAdapter:s}},{"../../../api/AdapterBase":4}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return void 0!==a&&null!=a&&""!==a?void 0===(t=JSON.parse(a))||null==t?null: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 a=JSON.stringify(t);return localStorage.setItem(e,a),a}}]),e}();a.default=i},{}],4:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=n(e("./ModuleBase")),r=n(e("../api-common/RequestCache"));function n(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(e,a,l,Line truncated
//# sourceMappingURL=permissions.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,o){if(!a[n]){if(!t[n]){var s="function"==typeof require&&require;if(!o&&s)return s(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.ClientAdapter=l.ClientAdapter,window.ProjectAdapter=l.ProjectAdapter,window.EmployeeProjectAdapter=l.EmployeeProjectAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","details","address","contact_number"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Details"},{sTitle:"Address"},{sTitle:"Contact Number"}]}},{key:"getFormFields",value:function(){return this.showSave?[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text"}],["details",{label:"Details",type:"textarea",validation:"none"}],["address",{label:"Address",type:"textarea",validation:"none"}],["contact_number",{label:"Contact Number",type:"text",validation:"none"}],["contact_email",{label:"Contact Email",type:"text",validation:"none"}],["company_url",{label:"Company Url",type:"text",validation:"none"}],["status",{label:"Status",type:"select",source:[["Active","Active"],["Inactive","Inactive"]]}],["first_contact_date",{label:"First Contact Date",type:"date",validation:"none"}]]:[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"placeholder"}],["details",{label:"Details",type:"placeholder",validation:"none"}],["address",{label:"Address",type:"placeholder",validation:"none"}],["contact_number",{label:"Contact Number",type:"placeholder",validation:"none"}],["contact_email",{label:"Contact Email",type:"placeholder",validation:"none"}],["company_url",{label:"Company Url",type:"placeholder",validation:"none"}],["status",{label:"Status",type:"placeholder",source:[["Active","Active"],["Inactive","Inactive"]]}],["first_contact_date",{label:"First Contact Date",type:"placeholder",validation:"none"}]]}},{key:"getHelpLink",value:function(){return"http://blog.icehrm.com/docs/projects/"}}]),t}(),d=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","client"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Client"}]}},{key:"getFormFields",value:function(){return this.showSave?[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text"}],["client",{label:"Client",type:"select2","allow-null":!0,"remote-source":["Client","id","name"]}],["details",{label:"Details",type:"textarea",validation:"none"}],["status",{label:"Status",type:"select",source:[["Active","Active"],["On Hold","On Hold"],["Completed","Completed"],["Dropped","Dropped"]]}]]:[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"placeholder"}],["client",{label:"Client",type:"placeholder","allow-null":!0,"remote-source":["Client","id","name"]}],["details",{label:"Details",type:"placeholder",validation:"none"}],["status",{label:"Status",type:"select",source:[["Active","Active"],["On Hold","On Hold"],["Completed","Completed"],["Dropped","Dropped"]]}]]}},{key:"getHelpLink",value:function(){return"http://blog.icehrm.com/docs/projects/"}}]),t}(),h=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","employee","project"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Project"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["employee",{label:"Line truncated
//# sourceMappingURL=projects.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,s){if(!a[n]){if(!t[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.SkillAdapter=l.SkillAdapter,window.EducationAdapter=l.EducationAdapter,window.CertificationAdapter=l.CertificationAdapter,window.LanguageAdapter=l.LanguageAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","description"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Description"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text"}],["description",{label:"Description",type:"textarea",validation:""}]]}},{key:"getHelpLink",value:function(){return"http://blog.icehrm.com/docs/qualifications/"}}]),t}(),d=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","description"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Description"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text"}],["description",{label:"Description",type:"textarea",validation:""}]]}}]),t}(),h=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","description"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Description"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text"}],["description",{label:"Description",type:"textarea",validation:""}]]}}]),t}(),f=function(e){function t(){return s(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","description"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Description"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text"}],["description",{label:"Description",type:"textarea",validation:""}]]}}]),t}();t.exports={SkillAdapter:c,EducationAdapter:d,CertificationAdapter:h,LanguageAdapter:f}},{"../../../api/AdapterBase":4}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return void 0!==a&&null!=a&&""!==a?void 0===(t=JSON.parse(a))||null==t?null: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.statuLine truncated
//# sourceMappingURL=qualifications.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,s){if(!a[n]){if(!t[n]){var o="function"==typeof require&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var d=a[n]={exports:{}};t[n][0].call(d.exports,function(e){return i(t[n][1][e]||e)},d,d.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.ReportAdapter=l.ReportAdapter,window.ReportGenAdapter=l.ReportGenAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var d=function(e){function t(e,a,l,i){s(this,t);var r=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a,l,i));return r._construct(),r}return u(t,n.default),i(t,[{key:"_construct",value:function(){this._formFileds=[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"label",validation:""}],["parameters",{label:"Parameters",type:"fieldset",validation:"none"}]],this.remoteFieldsExists=!1}},{key:"_initLocalFormFields",value:function(){this._formFileds=[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"label",validation:""}],["parameters",{label:"Parameters",type:"fieldset",validation:"none"}]]}},{key:"setRemoteFieldExists",value:function(e){this.remoteFieldsExists=e}},{key:"getDataMapping",value:function(){return["id","icon","name","details","parameters"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"",bSortable:!1,sWidth:"22px"},{sTitle:"Name",sWidth:"30%"},{sTitle:"Details"},{sTitle:"Parameters",bVisible:!1}]}},{key:"getFormFields",value:function(){return this._formFileds}},{key:"processFormFieldsWithObject",value:function(e){var t=this;this._initLocalFormFields();var a=this._formFileds.length,l=[];this.remoteFieldsExists=!1;for(var i=0;i<a;i++)if("fieldset"===this._formFileds[i][1].type){var r=JSON.parse(e[this._formFileds[i][0]]);l.push(this._formFileds[i][0]),r.forEach(function(e){t._formFileds.push(e),void 0!==e[1]["remote-source"]&&null!=e[1]["remote-source"]&&(t.remoteFieldsExists=!0)})}var n=[];t._formFileds.forEach(function(e){jQuery.inArray(e[0],l)<0&&n.push(e)}),t._formFileds=n}},{key:"renderForm",value:function(e){var t=this;if(this.processFormFieldsWithObject(e),this.remoteFieldsExists){this.initFieldMasterData(function(){t.renderFormNew(e)})}else this.initFieldMasterData(),t.renderFormNew(e);this.currentReport=e}},{key:"renderFormNew",value:function(e){var t=[];null!=e&&void 0!==e||(this.currentId=null),this.preRenderForm(e);for(var a=this.templates.formTemplate,l="",i=this.getFormFields(),r=0;r<i.length;r++){var n=this.getMetaFieldForRendering(i[r][0]);if(""===n||void 0===n)l+=this.renderFormField(i[r]);else{var s=e[n];""!==s&&null!=s&&void 0!==s&&""!==s.trim()?l+=this.renderFormField(JSON.parse(s)):l+=this.renderFormField(i[r])}}a=(a=a.replace(/_id_/g,this.getTableName()+"_submit")).replace(/_fields_/g,l);var o=void 0,u=this.generateRandom(14);this.showFormOnPopup?(o=$('<div class="reviewBlock popupForm" data-content="Form"></div>')).attr("id",u):o=$("#"+this.getTableName()+"Form"),o.html(a),o.find(".datefield").datepicker({viewMode:2}),o.find(".timefield").datetimepicker({language:"en",pickDate:!1}),o.find(".datetimefield").datetimepicker({language:"en"}),o.find(".colorpick").colorpicker(),o.find(".select2Field").each(function(){$(this).select2().select2("val",$(this).find("option:eq(0)").val())}),o.find(".select2Multi").each(function(){$(this).select2().on("change",function(e){var t=$(this).parents(".row"),a=t.find(".select2-choices").height();t.height(parseInt(a,10))})}),o.find(".signatureField").each(function(){t.push($(this).attr("id"))});for(var d=0;d<i.length;d++)"datagroup"===i[d][1].type&&o.find("#"+i[d][0]).data("field",i[d]);if(!1===this.showSave?o.find(".saveBtn").remove():(o.find(".saveBtn").off(),o.find(".saveBtn").data("modJs",this),o.find(".saveBtn").on("click",function(){return null!=$(this).data("modJs").saveSuccessItemCallback&&void 0!==$(this).data("modJs").saveSuccessItemCallback?$(this).data("modJs").save($(this).data("mLine truncated
//# sourceMappingURL=reports.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,o){if(!a[n]){if(!t[n]){var s="function"==typeof require&&require;if(!o&&s)return s(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.SalaryComponentTypeAdapter=l.SalaryComponentTypeAdapter,window.SalaryComponentAdapter=l.SalaryComponentAdapter,window.EmployeeSalaryAdapter=l.EmployeeSalaryAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=e("../../../api/AdapterBase"),n=(l=r)&&l.__esModule?l:{default:l};function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","code","name"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Code"},{sTitle:"Name"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["code",{label:"Code",type:"text",validation:""}],["name",{label:"Name",type:"text",validation:""}]]}}]),t}(),d=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","componentType","details"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Salary Component Type"},{sTitle:"Details"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text",validation:""}],["componentType",{label:"Salary Component Type",type:"select2","remote-source":["SalaryComponentType","id","name"]}],["details",{label:"Details",type:"textarea",validation:"none"}]]}}]),t}(),h=function(e){function t(){return o(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,n.default),i(t,[{key:"getDataMapping",value:function(){return["id","employee","component","amount","details"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Salary Component"},{sTitle:"Amount"},{sTitle:"Details"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["employee",{label:"Employee",type:"select2","remote-source":["Employee","id","first_name+last_name"]}],["component",{label:"Salary Component",type:"select2","remote-source":["SalaryComponent","id","name"]}],["amount",{label:"Amount",type:"text",validation:"float"}],["details",{label:"Details",type:"textarea",validation:"none"}]]}},{key:"getFilters",value:function(){return[["employee",{label:"Employee",type:"select2","remote-source":["Employee","id","first_name+last_name"]}]]}}]),t}();t.exports={SalaryComponentTypeAdapter:c,SalaryComponentAdapter:d,EmployeeSalaryAdapter:h}},{"../../../api/AdapterBase":4}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)return null;var a=localStorage.getItem(e);return void 0!==a&&null!=a&&""!==a?void 0===(t=JSON.parse(a))||null==t?null: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"Line truncated
//# sourceMappingURL=salary.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,o){if(!a[n]){if(!t[n]){var s="function"==typeof require&&require;if(!o&&s)return s(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.SettingAdapter=l.SettingAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l,i=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),r=function e(t,a,l){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,a);if(void 0===i){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,a,l)}if("value"in i)return i.value;var n=i.get;return void 0!==n?n.call(l):void 0},n=e("../../../api/AdapterBase"),o=(l=n)&&l.__esModule?l:{default:l};var s=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default),i(t,[{key:"getDataMapping",value:function(){return["id","name","value","description"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Value"},{sTitle:"Details"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["value",{label:"Value",type:"text",validation:"none"}]]}},{key:"getActionButtonsHtml",value:function(e,t){var a='<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img></div>';return a=(a=a.replace(/_id_/g,e)).replace(/_BASE_/g,this.baseUrl)}},{key:"getMetaFieldForRendering",value:function(e){return"value"===e?"meta":""}},{key:"edit",value:function(e){this.loadRemoteDataForSettings(),r(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"edit",this).call(this,e)}},{key:"fillForm",value:function(e){var a=e[this.getMetaFieldForRendering("value")],l=null;""!==a&&void 0!==a&&(l=[["id",{label:"ID",type:"hidden"}],JSON.parse(a)]),r(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"fillForm",this).call(this,e,null,l),$("#helptext").html(e.description)}},{key:"loadRemoteDataForSettings",value:function(){var e=[],t=null;for(var a in e.push(["country",{label:"Country",type:"select2multi","remote-source":["Country","id","name"]}]),e.push(["countryCompany",{label:"Country",type:"select2","remote-source":["Country","code","name"]}]),e.push(["currency",{label:"Currency",type:"select2multi","remote-source":["CurrencyType","id","code+name"]}]),e.push(["nationality",{label:"Nationality",type:"select2multi","remote-source":["Nationality","id","name"]}]),e.push(["supportedLanguage",{label:"Value",type:"select2","allow-null":!1,"remote-source":["SupportedLanguage","name","description"]}]),e)if(void 0!==(t=e[a])[1]["remote-source"]&&null!==t[1]["remote-source"]){var l=t[1]["remote-source"][0]+"_"+t[1]["remote-source"][1]+"_"+t[1]["remote-source"][2];this.fieldMasterDataKeys[l]=!1,this.sourceMapping[t[0]]=t[1]["remote-source"];var i={callBack:"initFieldMasterDataResponse"};i.callBackData=[l],this.getFieldValues(t[1]["remote-source"],i)}}},{key:"getHelpLink",value:function(){return"http://blog.icehrm.com/docs/settings/"}}]),t}();t.exports={SettingAdapter:s}},{"../../../api/AdapterBase":4}],3:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return l(e,[{key:"getKey",value:function(e,t){var a=e+"|";for(var l in t)a+=l+"="+t[l]+"|";return a}},{key:"invalidateTable",value:function(e){for(var t=void 0,a=0;a<localStorage.length;a++)(t=localStorage.key(a)).indexOf("t="+e)>0&&localStorage.removeItem(t)}},{key:"getData",value:function(e){var t=void 0;if("undefined"==typeof Storage)returnLine truncated
//# sourceMappingURL=settings.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(n,o){if(!a[n]){if(!t[n]){var s="function"==typeof require&&require;if(!o&&s)return s(n,!0);if(r)return r(n,!0);var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[n]={exports:{}};t[n][0].call(c.exports,function(e){return i(t[n][1][e]||e)},c,c.exports,e,t,a,l)}return a[n].exports}for(var r="function"==typeof require&&require,n=0;n<l.length;n++)i(l[n]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.ImmigrationDocumentAdapter=l.ImmigrationDocumentAdapter,window.EmployeeImmigrationAdapter=l.EmployeeImmigrationAdapter,window.EmployeeTravelRecordAdminAdapter=l.EmployeeTravelRecordAdminAdapter,window.CustomFieldAdapter=l.CustomFieldAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=o(e("../../../api/AdapterBase")),r=o(e("../../../api/CustomFieldAdapter")),n=o(e("../../../api/ApproveAdminAdapter"));function o(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var d=function(e){function t(){return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return c(t,i.default),l(t,[{key:"getDataMapping",value:function(){return["id","name","details","required","alert_on_missing","alert_before_expiry"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Name"},{sTitle:"Details"},{sTitle:"Compulsory"},{sTitle:"Alert If Not Found"},{sTitle:"Alert Before Expiry"}]}},{key:"getFormFields",value:function(){for(var e=[["id",{label:"ID",type:"hidden"}],["name",{label:"Name",type:"text",validation:""}],["details",{label:"Details",type:"textarea",validation:"none"}],["required",{label:"Compulsory",type:"select",source:[["No","No"],["Yes","Yes"]]}],["alert_on_missing",{label:"Alert If Not Found",type:"select",source:[["No","No"],["Yes","Yes"]]}],["alert_before_expiry",{label:"Alert Before Expiry",type:"select",source:[["No","No"],["Yes","Yes"]]}],["alert_before_day_number",{label:"Days for Expiry Alert",type:"text",validation:""}]],t=0;t<this.customFields.length;t++)e.push(this.customFields[t]);return e}}]),t}(),h=function(e){function t(){return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return c(t,i.default),l(t,[{key:"getDataMapping",value:function(){return["id","employee","document","documentname","valid_until","status"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Document"},{sTitle:"Document Id"},{sTitle:"Valid Until"},{sTitle:"Status"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden"}],["employee",{label:"Employee",type:"select2","remote-source":["Employee","id","first_name+last_name"]}],["document",{label:"Document",type:"select2","remote-source":["ImmigrationDocument","id","name"]}],["documentname",{label:"Document Id",type:"text",validation:""}],["valid_until",{label:"Valid Until",type:"date",validation:"none"}],["status",{label:"Status",type:"select",source:[["Active","Active"],["Inactive","Inactive"],["Draft","Draft"]]}],["details",{label:"Details",type:"textarea",validation:"none"}],["attachment1",{label:"Attachment 1",type:"fileupload",validation:"none"}],["attachment2",{label:"Attachment 2",type:"fileupload",validation:"none"}],["attachment3",{label:"Attachment 3",type:"fileupload",validation:"none"}]]}},{key:"getFilters",value:function(){return[["employee",{label:"Employee",type:"select2","remote-source":["Employee","id","first_name+last_name"]}]]}}]),t}(),f=function(e){function t(e,a,l,i){s(this,t);var r=u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a,l,i));return r.itemName="TravelRequest",r.itemNameLower="travelrequest",r.modulePathName="travel",r}return c(t,n.default),l(t,[{key:"getDataMapping",value:function(){return["id","employee","type","purpose","travel_from","travel_to","travel_date","status"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID",bVisible:!1},{sTitle:"Employee"},{sTitle:"Travel Type"},{sTitle:"Purpose"},{sTitle:"From"},{sTitle:"To"},{sTitle:"Travel Date"},{sTitle:"Status"}]}},{key:"getFormFields",value:function(){return this.addCustomFields([["id",{label:"ID",type:"hidden"}],["employee",{label:"EmploLine truncated
//# sourceMappingURL=travel.js.map
+2
View File
@@ -0,0 +1,2 @@
!function(){return function e(t,a,l){function i(s,n){if(!a[s]){if(!t[s]){var o="function"==typeof require&&require;if(!n&&o)return o(s,!0);if(r)return r(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[s]={exports:{}};t[s][0].call(c.exports,function(e){return i(t[s][1][e]||e)},c,c.exports,e,t,a,l)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s<l.length;s++)i(l[s]);return i}}()({1:[function(e,t,a){"use strict";var l=e("./lib");window.UserAdapter=l.UserAdapter,window.UserRoleAdapter=l.UserRoleAdapter},{"./lib":2}],2:[function(e,t,a){"use strict";var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var l=t[a];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(t,a,l){return a&&e(t.prototype,a),l&&e(t,l),t}}(),i=s(e("../../../api/FormValidation")),r=s(e("../../../api/AdapterBase"));function s(e){return e&&e.__esModule?e:{default:e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var c=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,r.default),l(t,[{key:"getDataMapping",value:function(){return["id","username","email","employee","user_level"]}},{key:"getHeaders",value:function(){return[{sTitle:"ID"},{sTitle:"User Name"},{sTitle:"Authentication Email"},{sTitle:"Employee"},{sTitle:"User Level"}]}},{key:"getFormFields",value:function(){return[["id",{label:"ID",type:"hidden",validation:""}],["username",{label:"User Name",type:"text",validation:"username"}],["email",{label:"Email",type:"text",validation:"email"}],["employee",{label:"Employee",type:"select2","allow-null":!0,"remote-source":["Employee","id","first_name+last_name"]}],["user_level",{label:"User Level",type:"select",source:[["Admin","Admin"],["Manager","Manager"],["Employee","Employee"],["Other","Other"]]}],["user_roles",{label:"User Roles",type:"select2multi","remote-source":["UserRole","id","name"]}],["lang",{label:"Language",type:"select2","allow-null":!0,"remote-source":["SupportedLanguage","id","description"]}],["default_module",{label:"Default Module",type:"select2","null-label":"No Default Module","allow-null":!0,"remote-source":["Module","id","menu+label"]}]]}},{key:"postRenderForm",value:function(e,t){null!=e&&void 0!==e||t.find("#changePasswordBtn").remove()}},{key:"changePassword",value:function(){$("#adminUsersModel").modal("show"),$("#adminUsersChangePwd #newpwd").val(""),$("#adminUsersChangePwd #conpwd").val("")}},{key:"saveUserSuccessCallBack",value:function(e,t){var a=e[0];e[1]?this.showMessage("Create User","An email has been sent to "+a.email+" with a temporary password to login to IceHrm."):this.showMessage("Create User","User created successfully. But there was a problem sending welcome email."),this.get([])}},{key:"saveUserFailCallBack",value:function(e,t){this.showMessage("Error",e)}},{key:"doCustomValidation",value:function(e){var t=null;return"Admin"!==e.user_level&&"Other"!==e.user_level&&"NULL"===e.employee&&(t="For this user type, you have to assign an employee when adding or editing the user.<br/>",t+=" You may create a new employee through 'Admin'->'Employees' menu"),t}},{key:"save",value:function(){var e=new i.default(this.getTableName()+"_submit",!0,{ShowPopup:!1,LabelErrorClass:"error"});if(e.checkValues()){var t=e.getFormParameters(),a=this.doCustomValidation(t);if(null==a){var l=$("#"+this.getTableName()+"_submit #id").val();if(t.csrf=$("#"+this.getTableName()+"Form").data("csrf"),null!=l&&void 0!==l&&""!==l)t.id=l,this.add(t,[]);else{var r=JSON.stringify(t),s=[];s.callBackData=[],s.callBackSuccess="saveUserSuccessCallBack",s.callBackFail="saveUserFailCallBack",this.customAction("saveUser","admin=users",r,s)}}else this.showMessage("Error Saving User",a)}}},{key:"changePasswordConfirm",value:function(){$("#adminUsersChangePwd_error").hide();var e=$("#adminUsersChangePwd #newpwd").val();if(!(e.length>7))return $("#adminUsersChangePwd_error").html("Password should be longer than 7 characters"),void $("#adminUsersChangePwd_error").show();var t=$("#adminUsersChangePwd #conpwd").val();if(t!==e)return $("#adminUsersChangePwd_error").html("Passwords don't match"),void $("#adminUsersChangePwd_error").show();var a={id:this.currentId,pwd:t},l=JSON.stringify(a),i=[];i.callBackData=[],i.callBackSuccess="changePasswordSuccessCallBack",i.callBackFail="changePasswordFailCallBack",this.customAction("cLine truncated
//# sourceMappingURL=users.js.map
+4
View File
@@ -0,0 +1,4 @@
import { AttendanceAdapter, AttendanceStatusAdapter } from './lib';
window.AttendanceAdapter = AttendanceAdapter;
window.AttendanceStatusAdapter = AttendanceStatusAdapter;
+289
View File
@@ -0,0 +1,289 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
import FormValidation from '../../../api/FormValidation';
class AttendanceAdapter extends AdapterBase {
constructor(endPoint, tab, filter, orderBy) {
super(endPoint, tab, filter, orderBy);
this.photoAttendance = false;
}
getDataMapping() {
return [
'id',
'employee',
'in_time',
'out_time',
'note',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Employee' },
{ sTitle: 'Time-In' },
{ sTitle: 'Time-Out' },
{ sTitle: 'Note' },
];
}
getFormFields() {
return [
['employee', {
label: 'Employee', type: 'select2', 'allow-null': false, 'remote-source': ['Employee', 'id', 'first_name+last_name'],
}],
['id', { label: 'ID', type: 'hidden' }],
['in_time', { label: 'Time-In', type: 'datetime' }],
['out_time', { label: 'Time-Out', type: 'datetime', validation: 'none' }],
['note', { label: 'Note', type: 'textarea', validation: 'none' }],
];
}
getFilters() {
return [
['employee', {
label: 'Employee', type: 'select2', 'allow-null': false, 'remote-source': ['Employee', 'id', 'first_name+last_name'],
}],
];
}
setPhotoAttendance(val) {
this.photoAttendance = parseInt(val, 10);
}
getCustomTableParams() {
const that = this;
const dataTableParams = {
aoColumnDefs: [
{
fnRender(data, cell) {
return that.preProcessRemoteTableData(data, cell, 2);
},
aTargets: [2],
},
{
fnRender(data, cell) {
return that.preProcessRemoteTableData(data, cell, 3);
},
aTargets: [3],
},
{
fnRender(data, cell) {
return that.preProcessRemoteTableData(data, cell, 4);
},
aTargets: [4],
},
{
fnRender: that.getActionButtons,
aTargets: [that.getDataMapping().length],
},
],
};
return dataTableParams;
}
preProcessRemoteTableData(data, cell, id) {
if (id === 2) {
if (cell === '0000-00-00 00:00:00' || cell === '' || cell === undefined || cell == null) {
return '';
}
return Date.parse(cell).toString('yyyy MMM d <b>HH:mm</b>');
} if (id === 3) {
if (cell === '0000-00-00 00:00:00' || cell === '' || cell === undefined || cell == null) {
return '';
}
return Date.parse(cell).toString('MMM d <b>HH:mm</b>');
} if (id === 4) {
if (cell !== undefined && cell !== null) {
if (cell.length > 10) {
return `${cell.substring(0, 10)}..`;
}
}
return cell;
}
}
save() {
const validator = new FormValidation(`${this.getTableName()}_submit`, true, { ShowPopup: false, LabelErrorClass: 'error' });
if (validator.checkValues()) {
const params = validator.getFormParameters();
const msg = this.doCustomValidation(params);
if (msg == null) {
const id = $(`#${this.getTableName()}_submit #id`).val();
if (id != null && id !== undefined && id !== '') {
params.id = id;
}
const reqJson = JSON.stringify(params);
const callBackData = [];
callBackData.callBackData = [];
callBackData.callBackSuccess = 'saveSuccessCallback';
callBackData.callBackFail = 'saveFailCallback';
this.customAction('savePunch', 'admin=attendance', reqJson, callBackData);
} else {
const label = $(`#${this.getTableName()}Form .label`);
label.html(msg);
label.show();
}
}
}
saveSuccessCallback(callBackData) {
this.get(callBackData);
}
saveFailCallback(callBackData) {
this.showMessage('Error saving attendance entry', callBackData);
}
isSubProfileTable() {
return this.user.user_level !== 'Admin';
}
showPunchImages(id) {
const reqJson = JSON.stringify({ id });
const callBackData = [];
callBackData.callBackData = [];
callBackData.callBackSuccess = 'getImagesSuccessCallback';
callBackData.callBackFail = 'getImagesFailCallback';
this.customAction('getImages', 'admin=attendance', reqJson, callBackData);
}
getImagesSuccessCallback(callBackData) {
$('#attendancePhotoModel').modal('show');
$('#attendnaceCanvasEmp').html(callBackData.employee_Name);
if (callBackData.in_time) {
$('#attendnaceCanvasPunchInTime').html(Date.parse(callBackData.in_time).toString('yyyy MMM d <b>HH:mm</b>'));
}
if (callBackData.image_in) {
const myCanvas = document.getElementById('attendnaceCanvasIn');
const ctx = myCanvas.getContext('2d');
const img = new Image();
img.onload = function () {
ctx.drawImage(img, 0, 0); // Or at whatever offset you like
};
img.src = callBackData.image_in;
}
if (callBackData.out_time) {
$('#attendnaceCanvasPunchOutTime').html(Date.parse(callBackData.out_time).toString('yyyy MMM d <b>HH:mm</b>'));
}
if (callBackData.image_out) {
const myCanvas = document.getElementById('attendnaceCanvasOut');
const ctx = myCanvas.getContext('2d');
const img = new Image();
img.onload = function () {
ctx.drawImage(img, 0, 0); // Or at whatever offset you like
};
img.src = callBackData.image_out;
}
}
getImagesFailCallback(callBackData) {
this.showMessage('Error', callBackData);
}
getActionButtonsHtml(id, data) {
const editButton = '<img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img>';
const deleteButton = '<img class="tableActionButton" src="_BASE_images/delete.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Delete" onclick="modJs.deleteRow(_id_);return false;"></img>';
const photoButton = '<img class="tableActionButton" src="_BASE_images/cam.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Show Photo" onclick="modJs.showPunchImages(_id_);return false;"></img>';
let html;
if (this.photoAttendance === 1) {
html = '<div style="width:80px;">_edit__delete__photo_</div>';
} else {
html = '<div style="width:80px;">_edit__delete_</div>';
}
html = html.replace('_photo_', photoButton);
if (this.showDelete) {
html = html.replace('_delete_', deleteButton);
} else {
html = html.replace('_delete_', '');
}
if (this.showEdit) {
html = html.replace('_edit_', editButton);
} else {
html = html.replace('_edit_', '');
}
html = html.replace(/_id_/g, id);
html = html.replace(/_BASE_/g, this.baseUrl);
return html;
}
}
/*
Attendance Status
*/
class AttendanceStatusAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'employee',
'status',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Employee' },
{ sTitle: 'Clocked In Status' },
];
}
getFormFields() {
return [
];
}
getFilters() {
return [
['employee', {
label: 'Employee', type: 'select2', 'allow-null': false, 'remote-source': ['Employee', 'id', 'first_name+last_name'],
}],
];
}
getActionButtonsHtml(id, data) {
let html = '<div class="online-button-_COLOR_"></div>';
html = html.replace(/_BASE_/g, this.baseUrl);
if (data[2] == 'Not Clocked In') {
html = html.replace(/_COLOR_/g, 'gray');
} else if (data[2] == 'Clocked Out') {
html = html.replace(/_COLOR_/g, 'yellow');
} else if (data[2] == 'Clocked In') {
html = html.replace(/_COLOR_/g, 'green');
}
return html;
}
isSubProfileTable() {
return this.user.user_level !== 'Admin';
}
}
module.exports = { AttendanceAdapter, AttendanceStatusAdapter };
+4
View File
@@ -0,0 +1,4 @@
import { CompanyStructureAdapter, CompanyGraphAdapter } from './lib';
window.CompanyStructureAdapter = CompanyStructureAdapter;
window.CompanyGraphAdapter = CompanyGraphAdapter;
+311
View File
@@ -0,0 +1,311 @@
/* eslint-disable prefer-destructuring */
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
/* global d3, nv */
import AdapterBase from '../../../api/AdapterBase';
class CompanyStructureAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'title',
'address',
'type',
'country',
'timezone',
'parent',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Address', bSortable: false },
{ sTitle: 'Type' },
{ sTitle: 'Country', sClass: 'center' },
{ sTitle: 'Time Zone' },
{ sTitle: 'Parent Structure' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden', validation: '' }],
['title', { label: 'Name', type: 'text', validation: '' }],
['description', { label: 'Details', type: 'textarea', validation: '' }],
['address', { label: 'Address', type: 'textarea', validation: 'none' }],
['type', { label: 'Type', type: 'select', source: [['Company', 'Company'], ['Head Office', 'Head Office'], ['Regional Office', 'Regional Office'], ['Department', 'Department'], ['Unit', 'Unit'], ['Sub Unit', 'Sub Unit'], ['Other', 'Other']] }],
['country', { label: 'Country', type: 'select2', 'remote-source': ['Country', 'code', 'name'] }],
['timezone', {
label: 'Time Zone', type: 'select2', 'allow-null': false, 'remote-source': ['Timezone', 'name', 'details'],
}],
['parent', {
label: 'Parent Structure', type: 'select', 'allow-null': true, 'remote-source': ['CompanyStructure', 'id', 'title'],
}],
['heads', {
label: 'Heads', type: 'select2multi', 'allow-null': true, 'remote-source': ['Employee', 'id', 'first_name+last_name'],
}],
];
}
postRenderForm(object, $tempDomObj) {
if (object === undefined
|| object === null
|| object.id === null
|| object.id === undefined || object.id === ''
) {
$tempDomObj.find('#field_heads').hide();
}
}
}
/*
* Company Graph
*/
class CompanyGraphAdapter extends CompanyStructureAdapter {
constructor(endPoint, tab, filter, orderBy) {
super(endPoint, tab, filter, orderBy);
this.nodeIdCounter = 0;
}
convertToTree(data) {
const ice = {};
ice.id = -1;
ice.title = '';
ice.name = '';
ice.children = [];
let parent = null;
const added = {};
for (let i = 0; i < data.length; i++) {
data[i].name = data[i].title;
if (data[i].parent != null && data[i].parent !== undefined) {
parent = this.findParent(data, data[i].parent);
if (parent != null) {
if (parent.children === undefined || parent.children == null) {
parent.children = [];
}
parent.children.push(data[i]);
}
}
}
for (let i = 0; i < data.length; i++) {
if (data[i].parent == null || data[i].parent === undefined) {
ice.children.push(data[i]);
}
}
return ice;
}
findParent(data, parent) {
for (let i = 0; i < data.length; i++) {
if (data[i].title === parent || data[i].title === parent) {
return data[i];
}
}
return null;
}
createTable(elementId) {
$('#tabPageCompanyGraph').html('');
const that = this;
const sourceData = this.sourceData;
// this.fixCyclicParent(sourceData);
const treeData = this.convertToTree(sourceData);
const m = [20, 120, 20, 120];
const w = 5000 - m[1] - m[3];
const h = 1000 - m[0] - m[2];
const tree = d3.layout.tree()
.size([h, w]);
this.diagonal = d3.svg.diagonal()
.projection(d => [d.y, d.x]);
this.vis = d3.select('#tabPageCompanyGraph').append('svg:svg')
.attr('width', w + m[1] + m[3])
.attr('height', h + m[0] + m[2])
.append('svg:g')
.attr('transform', `translate(${m[3]},${m[0]})`);
const root = treeData;
root.x0 = h / 2;
root.y0 = 0;
function toggleAll(d) {
if (d.children) {
console.log(d.name);
d.children.forEach(toggleAll);
that.toggle(d);
}
}
this.update(root, tree, root);
}
update(source, tree, root) {
const that = this;
const duration = d3.event && d3.event.altKey ? 5000 : 500;
// Compute the new tree layout.
const nodes = tree.nodes(root).reverse();
// Normalize for fixed-depth.
nodes.forEach((d) => { d.y = d.depth * 180; });
// Update the nodes�
const node = that.vis.selectAll('g.node')
.data(nodes, d => d.id || (d.id = ++that.nodeIdCounter));
// Enter any new nodes at the parent's previous position.
const nodeEnter = node.enter().append('svg:g')
.attr('class', 'node')
.attr('transform', d => `translate(${source.y0},${source.x0})`)
.on('click', (d) => { that.toggle(d); that.update(d, tree, root); });
nodeEnter.append('svg:circle')
.attr('r', 1e-6)
.style('fill', d => (d._children ? 'lightsteelblue' : '#fff'));
nodeEnter.append('svg:text')
.attr('x', d => (d.children || d._children ? -10 : 10))
.attr('dy', '.35em')
.attr('text-anchor', d => (d.children || d._children ? 'end' : 'start'))
.text(d => d.name)
.style('fill-opacity', 1e-6);
// Transition nodes to their new position.
const nodeUpdate = node.transition()
.duration(duration)
.attr('transform', d => `translate(${d.y},${d.x})`);
nodeUpdate.select('circle')
.attr('r', 4.5)
.style('fill', d => (d._children ? 'lightsteelblue' : '#fff'));
nodeUpdate.select('text')
.style('fill-opacity', 1);
// Transition exiting nodes to the parent's new position.
const nodeExit = node.exit().transition()
.duration(duration)
.attr('transform', d => `translate(${source.y},${source.x})`)
.remove();
nodeExit.select('circle')
.attr('r', 1e-6);
nodeExit.select('text')
.style('fill-opacity', 1e-6);
// Update the links�
const link = that.vis.selectAll('path.link')
.data(tree.links(nodes), d => d.target.id);
// Enter any new links at the parent's previous position.
link.enter().insert('svg:path', 'g')
.attr('class', 'link')
.attr('d', (d) => {
const o = { x: source.x0, y: source.y0 };
return that.diagonal({ source: o, target: o });
})
.transition()
.duration(duration)
.attr('d', that.diagonal);
// Transition links to their new position.
link.transition()
.duration(duration)
.attr('d', that.diagonal);
// Transition exiting nodes to the parent's new position.
link.exit().transition()
.duration(duration)
.attr('d', (d) => {
const o = { x: source.x, y: source.y };
return that.diagonal({ source: o, target: o });
})
.remove();
// Stash the old positions for transition.
nodes.forEach((d) => {
d.x0 = d.x;
d.y0 = d.y;
});
}
// Toggle children.
toggle(d) {
if (d.children) {
d._children = d.children;
d.children = null;
} else {
d.children = d._children;
d._children = null;
}
}
getSourceDataById(id) {
for (let i = 0; i < this.sourceData.length; i++) {
if (this.sourceData[i].id == id) {
return this.sourceData[i];
}
}
return null;
}
fixCyclicParent(sourceData) {
let errorMsg = '';
for (let i = 0; i < sourceData.length; i++) {
const obj = sourceData[i];
let curObj = obj;
const parentIdArr = {};
parentIdArr[curObj.id] = 1;
while (curObj.parent != null && curObj.parent != undefined) {
const parent = this.getSourceDataById(curObj.parent);
if (parent == null) {
break;
} else if (parentIdArr[parent.id] == 1) {
errorMsg = `${obj.title}'s parent structure set to ${parent.title}<br/>`;
obj.parent = null;
break;
}
parentIdArr[parent.id] = 1;
curObj = parent;
}
}
if (errorMsg !== '') {
this.showMessage('Company Structure is having a cyclic dependency', `We found a cyclic dependency due to following reasons:<br/>${errorMsg}`);
return false;
}
return true;
}
getHelpLink() {
return 'https://thilinah.gitbooks.io/icehrm-guide/content/employee-information-setup.html';
}
}
module.exports = { CompanyStructureAdapter, CompanyGraphAdapter };
+3
View File
@@ -0,0 +1,3 @@
import { DashboardAdapter } from './lib';
window.DashboardAdapter = DashboardAdapter;
+56
View File
@@ -0,0 +1,56 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
class DashboardAdapter extends AdapterBase {
getDataMapping() {
return [];
}
getHeaders() {
return [];
}
getFormFields() {
return [];
}
get(callBackData) {
}
getInitData() {
const that = this;
const object = {};
const reqJson = JSON.stringify(object);
const callBackData = [];
callBackData.callBackData = [];
callBackData.callBackSuccess = 'getInitDataSuccessCallBack';
callBackData.callBackFail = 'getInitDataFailCallBack';
this.customAction('getInitData', 'admin=dashboard', reqJson, callBackData);
}
getInitDataSuccessCallBack(data) {
$('#numberOfEmployees').html(`${data.numberOfEmployees} Employees`);
$('#numberOfCompanyStuctures').html(`${data.numberOfCompanyStuctures} Departments`);
$('#numberOfUsers').html(`${data.numberOfUsers} Users`);
$('#numberOfProjects').html(`${data.numberOfProjects} Active Projects`);
$('#numberOfAttendanceLastWeek').html(`${data.numberOfAttendanceLastWeek} Entries Last Week`);
$('#numberOfLeaves').html(`${data.numberOfLeaves} Upcoming`);
$('#numberOfTimeEntries').html(data.numberOfTimeEntries);
$('#numberOfCandidates').html(`${data.numberOfCandidates} Candidates`);
$('#numberOfJobs').html(`${data.numberOfJobs} Active`);
$('#numberOfCourses').html(`${data.numberOfCourses} Courses`);
}
getInitDataFailCallBack(callBackData) {
}
}
module.exports = { DashboardAdapter };
+4
View File
@@ -0,0 +1,4 @@
import { DataImportAdapter, DataImportFileAdapter } from './lib';
window.DataImportAdapter = DataImportAdapter;
window.DataImportFileAdapter = DataImportFileAdapter;
+185
View File
@@ -0,0 +1,185 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
/* global dependOnField */
import AdapterBase from '../../../api/AdapterBase';
/**
* DataImportAdapter
*/
class DataImportAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'dataType',
'details',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Data Type' },
{ sTitle: 'Details' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['dataType', { label: 'Data Type', type: 'text', validation: '' }],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
['columns', {
label: 'Columns',
type: 'datagroup',
form: [
['name', { label: 'Name', type: 'text', validation: '' }],
['title', { label: 'Filed Title', type: 'text', validation: 'none' }],
['type', {
label: 'Type', type: 'select', sort: 'none', source: [['Normal', 'Normal'], ['Reference', 'Reference'], ['Attached', 'Attached']],
}],
['dependOn', {
label: 'Depends On',
type: 'select',
'allow-null': true,
'null-label': 'N/A',
source: [['EmergencyContact', 'Emergency Contacts'], ['Ethnicity', 'Ethnicity'], ['Nationality', 'Nationality'], ['JobTitle', 'JobTitle'], ['PayFrequency', 'PayFrequency'], ['PayGrade', 'PayGrade'], ['EmploymentStatus', 'EmploymentStatus'], ['CompanyStructure', 'CompanyStructure'], ['Employee', 'Employee']],
}],
['dependOnField', { label: 'Depends On Field', type: 'text', validation: 'none' }],
['isKeyField', {
label: 'Is Key Field', type: 'select', validation: '', source: [['No', 'No'], ['Yes', 'Yes']],
}],
['idField', {
label: 'Is ID Field', type: 'select', validation: '', source: [['No', 'No'], ['Yes', 'Yes']],
}],
],
html: '<div id="#_id_#" class="panel panel-default"><div class="panel-heading"><b>#_name_#</b> #_delete_##_edit_#</div><div class="panel-body"><b>Header Title: </b>#_title_#<br/><span style="color:#999;font-size:11px;font-weight:bold">Type: #_type_# </span><br/></div></div>',
validation: 'none',
'custom-validate-function': function (data) {
const res = {};
res.params = data;
res.valid = true;
if (data.type === 'Reference') {
if (data.dependOn === 'NULL') {
res.message = 'If the type is Reference this field should referring another table';
res.valid = false;
} else if (dependOnField === null || dependOnField === undefined) {
res.message = "If the type is Reference then 'Depends On Field' can not be empty";
res.valid = false;
}
}
return res;
},
}],
];
}
}
/**
* DataImportFileAdapter
*/
class DataImportFileAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'data_import_definition',
'status',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Data Import Definition' },
{ sTitle: 'Status' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['data_import_definition', { label: 'Data Import Definitions', type: 'select', 'remote-source': ['DataImport', 'id', 'name'] }],
['file', {
label: 'File to Import', type: 'fileupload', validation: '', filetypes: 'csv,txt',
}],
['details', { label: 'Last Export Result', type: 'textarea', validation: 'none' }],
];
}
getActionButtonsHtml(id, data) {
const editButton = '<img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img>';
const processButton = '<img class="tableActionButton" src="_BASE_images/run.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Process" onclick="modJs.process(_id_,\'_status_\');return false;"></img>';
const deleteButton = '<img class="tableActionButton" src="_BASE_images/delete.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Delete" onclick="modJs.deleteRow(_id_);return false;"></img>';
const cloneButton = '<img class="tableActionButton" src="_BASE_images/clone.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Copy" onclick="modJs.copyRow(_id_);return false;"></img>';
let html = '<div style="width:120px;">_edit__process__clone__delete_</div>';
if (this.showAddNew) {
html = html.replace('_clone_', cloneButton);
} else {
html = html.replace('_clone_', '');
}
if (this.showDelete) {
html = html.replace('_delete_', deleteButton);
} else {
html = html.replace('_delete_', '');
}
if (this.showEdit) {
html = html.replace('_edit_', editButton);
} else {
html = html.replace('_edit_', '');
}
if (data[3] === 'Not Processed') {
html = html.replace('_process_', processButton);
} else {
html = html.replace('_process_', '');
}
html = html.replace(/_id_/g, id);
html = html.replace(/_status_/g, data[6]);
html = html.replace(/_BASE_/g, this.baseUrl);
return html;
}
process(id) {
const that = this;
const object = { id };
const reqJson = JSON.stringify(object);
const callBackData = [];
callBackData.callBackData = [];
callBackData.callBackSuccess = 'processSuccessCallBack';
callBackData.callBackFail = 'processFailCallBack';
this.customAction('processDataFile', 'admin=data', reqJson, callBackData);
}
processSuccessCallBack(callBackData) {
this.showMessage('Success', 'File imported successfully.');
}
processFailCallBack(callBackData) {
this.showMessage('Error', `File import unsuccessful. Result:${callBackData}`);
}
}
module.exports = { DataImportAdapter, DataImportFileAdapter };
+39
View File
@@ -0,0 +1,39 @@
import {
EmployeeAdapter,
TerminatedEmployeeAdapter,
ArchivedEmployeeAdapter,
EmployeeSkillAdapter,
EmployeeEducationAdapter,
EmployeeCertificationAdapter,
EmployeeLanguageAdapter,
EmployeeDependentAdapter,
EmergencyContactAdapter,
EmployeeImmigrationAdapter,
EmployeeSubSkillsAdapter,
EmployeeSubEducationAdapter,
EmployeeSubCertificationAdapter,
EmployeeSubLanguageAdapter,
EmployeeSubDependentAdapter,
EmployeeSubEmergencyContactAdapter,
EmployeeSubDocumentAdapter,
EmployeeDocumentAdapter,
} from './lib';
window.EmployeeAdapter = EmployeeAdapter;
window.TerminatedEmployeeAdapter = TerminatedEmployeeAdapter;
window.ArchivedEmployeeAdapter = ArchivedEmployeeAdapter;
window.EmployeeSkillAdapter = EmployeeSkillAdapter;
window.EmployeeEducationAdapter = EmployeeEducationAdapter;
window.EmployeeCertificationAdapter = EmployeeCertificationAdapter;
window.EmployeeLanguageAdapter = EmployeeLanguageAdapter;
window.EmployeeDependentAdapter = EmployeeDependentAdapter;
window.EmergencyContactAdapter = EmergencyContactAdapter;
window.EmployeeImmigrationAdapter = EmployeeImmigrationAdapter;
window.EmployeeSubSkillsAdapter = EmployeeSubSkillsAdapter;
window.EmployeeSubEducationAdapter = EmployeeSubEducationAdapter;
window.EmployeeSubCertificationAdapter = EmployeeSubCertificationAdapter;
window.EmployeeSubLanguageAdapter = EmployeeSubLanguageAdapter;
window.EmployeeSubDependentAdapter = EmployeeSubDependentAdapter;
window.EmployeeSubEmergencyContactAdapter = EmployeeSubEmergencyContactAdapter;
window.EmployeeSubDocumentAdapter = EmployeeSubDocumentAdapter;
window.EmployeeDocumentAdapter = EmployeeDocumentAdapter;
File diff suppressed because it is too large. Load diff
+4
View File
@@ -0,0 +1,4 @@
import { FieldNameAdapter, CustomFieldAdapter } from './lib';
window.FieldNameAdapter = FieldNameAdapter;
window.CustomFieldAdapter = CustomFieldAdapter;
+47
View File
@@ -0,0 +1,47 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
import CustomFieldAdapter from '../../../api/CustomFieldAdapter';
/**
* FieldNameAdapter
*/
class FieldNameAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'textOrig',
'textMapped',
'display',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Original Text' },
{ sTitle: 'Mapped Text' },
{ sTitle: 'Display Status' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['type', { label: 'Type', type: 'placeholder', validation: '' }],
['name', { label: 'Name', type: 'placeholder', validation: '' }],
['textOrig', { label: 'Original Text', type: 'placeholder', validation: '' }],
['textMapped', { label: 'Mapped Text', type: 'text', validation: '' }],
['display', { label: 'Display Status', type: 'select', source: [['Form', 'Show'], ['Hidden', 'Hidden']] }],
];
}
}
module.exports = { FieldNameAdapter, CustomFieldAdapter };
+5
View File
@@ -0,0 +1,5 @@
import { JobTitleAdapter, PayGradeAdapter, EmploymentStatusAdapter } from './lib';
window.JobTitleAdapter = JobTitleAdapter;
window.PayGradeAdapter = PayGradeAdapter;
window.EmploymentStatusAdapter = EmploymentStatusAdapter;
+124
View File
@@ -0,0 +1,124 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
/**
* JobTitleAdapter
*/
class JobTitleAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'code',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Code' },
{ sTitle: 'Name' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['code', { label: 'Job Title Code', type: 'text' }],
['name', { label: 'Job Title', type: 'text' }],
['description', { label: 'Description', type: 'textarea' }],
['specification', { label: 'Specification', type: 'textarea' }],
];
}
getHelpLink() {
return 'http://blog.icehrm.com/docs/jobdetails/';
}
}
/**
* PayGradeAdapter
*/
class PayGradeAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'currency',
'min_salary',
'max_salary',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Currency' },
{ sTitle: 'Min Salary' },
{ sTitle: 'Max Salary' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Pay Grade Name', type: 'text' }],
['currency', { label: 'Currency', type: 'select2', 'remote-source': ['CurrencyType', 'code', 'name'] }],
['min_salary', { label: 'Min Salary', type: 'text', validation: 'float' }],
['max_salary', { label: 'Max Salary', type: 'text', validation: 'float' }],
];
}
doCustomValidation(params) {
try {
if (parseFloat(params.min_salary) > parseFloat(params.max_salary)) {
return 'Min Salary should be smaller than Max Salary';
}
} catch (e) {
// D/N
}
return null;
}
}
/**
* EmploymentStatusAdapter
*/
class EmploymentStatusAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'description',
];
}
getHeaders() {
return [
{ sTitle: 'ID' },
{ sTitle: 'Name' },
{ sTitle: 'Description' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Employment Status', type: 'text' }],
['description', { label: 'Description', type: 'textarea', validation: '' }],
];
}
}
module.exports = { JobTitleAdapter, PayGradeAdapter, EmploymentStatusAdapter };
+7
View File
@@ -0,0 +1,7 @@
import {
CompanyLoanAdapter,
EmployeeCompanyLoanAdapter,
} from './lib';
window.CompanyLoanAdapter = CompanyLoanAdapter;
window.EmployeeCompanyLoanAdapter = EmployeeCompanyLoanAdapter;
+101
View File
@@ -0,0 +1,101 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
/**
* CompanyLoanAdapter
*/
class CompanyLoanAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'details',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Details' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
];
}
}
/*
* EmployeeCompanyLoanAdapter
*/
class EmployeeCompanyLoanAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'employee',
'loan',
'start_date',
'period_months',
'currency',
'amount',
'status',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Employee' },
{ sTitle: 'Loan Type' },
{ sTitle: 'Loan Start Date' },
{ sTitle: 'Loan Period (Months)' },
{ sTitle: 'Currency' },
{ sTitle: 'Amount' },
{ sTitle: 'Status' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['employee', { label: 'Employee', type: 'select2', 'remote-source': ['Employee', 'id', 'first_name+last_name'] }],
['loan', { label: 'Loan Type', type: 'select', 'remote-source': ['CompanyLoan', 'id', 'name'] }],
['start_date', { label: 'Loan Start Date', type: 'date', validation: '' }],
['last_installment_date', { label: 'Last Installment Date', type: 'date', validation: 'none' }],
['period_months', { label: 'Loan Period (Months)', type: 'text', validation: 'number' }],
['currency', { label: 'Currency', type: 'select2', 'remote-source': ['CurrencyType', 'id', 'name'] }],
['amount', { label: 'Loan Amount', type: 'text', validation: 'float' }],
['monthly_installment', { label: 'Monthly Installment', type: 'text', validation: 'float' }],
['status', { label: 'Status', type: 'select', source: [['Approved', 'Approved'], ['Paid', 'Paid'], ['Suspended', 'Suspended']] }],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
];
}
getFilters() {
return [
['employee', {
label: 'Employee', type: 'select2', 'allow-null': true, 'null-label': 'All Employees', 'remote-source': ['Employee', 'id', 'first_name+last_name'],
}],
['loan', {
label: 'Loan Type', type: 'select', 'allow-null': true, 'null-label': 'All Loan Types', 'remote-source': ['CompanyLoan', 'id', 'name'],
}],
];
}
}
module.exports = {
CompanyLoanAdapter,
EmployeeCompanyLoanAdapter,
};
+15
View File
@@ -0,0 +1,15 @@
import {
CountryAdapter,
ProvinceAdapter,
CurrencyTypeAdapter,
NationalityAdapter,
ImmigrationStatusAdapter,
EthnicityAdapter,
} from './lib';
window.CountryAdapter = CountryAdapter;
window.ProvinceAdapter = ProvinceAdapter;
window.CurrencyTypeAdapter = CurrencyTypeAdapter;
window.NationalityAdapter = NationalityAdapter;
window.ImmigrationStatusAdapter = ImmigrationStatusAdapter;
window.EthnicityAdapter = EthnicityAdapter;
+142
View File
@@ -0,0 +1,142 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
import IdNameAdapter from '../../../api/IdNameAdapter';
/**
* CountryAdapter
*/
class CountryAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'code',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Code' },
{ sTitle: 'Name' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['code', { label: 'Code', type: 'text', validation: '' }],
['name', { label: 'Name', type: 'text', validation: '' }],
];
}
}
/**
* ProvinceAdapter
*/
class ProvinceAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'code',
'name',
'country',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Code' },
{ sTitle: 'Name' },
{ sTitle: 'Country' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['code', { label: 'Code', type: 'text', validation: '' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['country', { label: 'Country', type: 'select2', 'remote-source': ['Country', 'code', 'name'] }],
];
}
getFilters() {
return [
['country', { label: 'Country', type: 'select2', 'remote-source': ['Country', 'code', 'name'] }],
];
}
}
/**
* CurrencyTypeAdapter
*/
class CurrencyTypeAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'code',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Code' },
{ sTitle: 'Name' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['code', { label: 'Code', type: 'text', validation: '' }],
['name', { label: 'Name', type: 'text', validation: '' }],
];
}
}
/**
* NationalityAdapter
*/
class NationalityAdapter extends IdNameAdapter {
}
/**
* ImmigrationStatusAdapter
*/
class ImmigrationStatusAdapter extends IdNameAdapter {
}
/**
* EthnicityAdapter
*/
class EthnicityAdapter extends IdNameAdapter {
}
module.exports = {
CountryAdapter,
ProvinceAdapter,
CurrencyTypeAdapter,
NationalityAdapter,
ImmigrationStatusAdapter,
EthnicityAdapter,
};
+4
View File
@@ -0,0 +1,4 @@
import { ModuleAdapter, UsageAdapter } from './lib';
window.ModuleAdapter = ModuleAdapter;
window.UsageAdapter = UsageAdapter;
+133
View File
@@ -0,0 +1,133 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
/**
* ModuleAdapter
*/
class ModuleAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'label',
'menu',
'mod_group',
'mod_order',
'status',
'version',
'update_path',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Menu', bVisible: false },
{ sTitle: 'Group' },
{ sTitle: 'Order' },
{ sTitle: 'Status' },
{ sTitle: 'Version', bVisible: false },
{ sTitle: 'Path', bVisible: false },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['label', { label: 'Label', type: 'text', validation: '' }],
['status', { label: 'Status', type: 'select', source: [['Enabled', 'Enabled'], ['Disabled', 'Disabled']] }],
['user_levels', { label: 'User Levels', type: 'select2multi', source: [['Admin', 'Admin'], ['Manager', 'Manager'], ['Employee', 'Employee'], ['Other', 'Other']] }],
['user_roles', { label: 'User Roles', type: 'select2multi', 'remote-source': ['UserRole', 'id', 'name'] }],
];
}
getActionButtonsHtml(id, data) {
const nonEditableFields = {};
nonEditableFields['admin_Company Structure'] = 1;
nonEditableFields.admin_Employees = 1;
nonEditableFields['admin_Job Details Setup'] = 1;
nonEditableFields.admin_Leaves = 1;
nonEditableFields['admin_Manage Modules'] = 1;
nonEditableFields.admin_Projects = 1;
nonEditableFields.admin_Qualifications = 1;
nonEditableFields.admin_Settings = 1;
nonEditableFields.admin_Users = 1;
nonEditableFields.admin_Upgrade = 1;
nonEditableFields.admin_Dashboard = 1;
nonEditableFields['user_Basic Information'] = 1;
nonEditableFields.user_Dashboard = 1;
if (nonEditableFields[`${data[3]}_${data[1]}`] === 1) {
return '';
}
let html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"/></div>';
html = html.replace(/_id_/g, id);
html = html.replace(/_BASE_/g, this.baseUrl);
return html;
}
}
/**
* UsageAdapter
*/
class UsageAdapter extends AdapterBase {
getDataMapping() {
return [];
}
getHeaders() {
return [];
}
getFormFields() {
return [];
}
get(callBackData) {
}
saveUsage() {
const object = {};
const arr = [];
$('.module-check').each(function () {
if ($(this).is(':checked')) {
arr.push($(this).val());
}
});
if (arr.length === 0) {
alert('Please select one or more module groups');
return;
}
object.groups = arr.join(',');
const reqJson = JSON.stringify(object);
const callBackData = [];
callBackData.callBackData = [];
callBackData.callBackSuccess = 'getInitDataSuccessCallBack';
callBackData.callBackFail = 'getInitDataFailCallBack';
this.customAction('saveUsage', 'admin=modules', reqJson, callBackData);
}
saveUsageSuccessCallBack(data) {
}
saveUsageFailCallBack(callBackData) {
}
}
module.exports = { ModuleAdapter, UsageAdapter };
+7
View File
@@ -0,0 +1,7 @@
import {
OvertimeCategoryAdapter,
EmployeeOvertimeAdminAdapter,
} from './lib';
window.OvertimeCategoryAdapter = OvertimeCategoryAdapter;
window.EmployeeOvertimeAdminAdapter = EmployeeOvertimeAdminAdapter;
+100
View File
@@ -0,0 +1,100 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
import ApproveAdminAdapter from '../../../api/ApproveAdminAdapter';
/**
* OvertimeCategoryAdapter
*/
class OvertimeCategoryAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
];
}
}
/**
* EmployeeOvertimeAdminAdapter
*/
class EmployeeOvertimeAdminAdapter extends ApproveAdminAdapter {
constructor(endPoint, tab, filter, orderBy) {
super(endPoint, tab, filter, orderBy);
this.itemName = 'OvertimeRequest';
this.itemNameLower = 'overtimerequest';
this.modulePathName = 'overtime';
}
getDataMapping() {
return [
'id',
'employee',
'category',
'start_time',
'end_time',
'project',
'status',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Employee' },
{ sTitle: 'Category' },
{ sTitle: 'Start Time' },
{ sTitle: 'End Time' },
{ sTitle: 'Project' },
{ sTitle: 'Status' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['employee', {
label: 'Employee',
type: 'select2',
sort: 'none',
'allow-null': false,
'remote-source': ['Employee', 'id', 'first_name+last_name', 'getActiveSubordinateEmployees'],
}],
['category', {
label: 'Category', type: 'select2', 'allow-null': false, 'remote-source': ['OvertimeCategory', 'id', 'name'],
}],
['start_time', { label: 'Start Time', type: 'datetime', validation: '' }],
['end_time', { label: 'End Time', type: 'datetime', validation: '' }],
['project', {
label: 'Project', type: 'select2', 'allow-null': true, 'null=label': 'none', 'remote-source': ['Project', 'id', 'name'],
}],
['notes', { label: 'Notes', type: 'textarea', validation: 'none' }],
];
}
}
module.exports = {
OvertimeCategoryAdapter,
EmployeeOvertimeAdminAdapter,
};
+21
View File
@@ -0,0 +1,21 @@
import {
PaydayAdapter,
PayrollAdapter,
PayrollDataAdapter,
PayrollColumnAdapter,
PayrollColumnTemplateAdapter,
PayrollEmployeeAdapter,
DeductionAdapter,
DeductionGroupAdapter,
PayslipTemplateAdapter,
} from './lib';
window.PaydayAdapter = PaydayAdapter;
window.PayrollAdapter = PayrollAdapter;
window.PayrollDataAdapter = PayrollDataAdapter;
window.PayrollColumnAdapter = PayrollColumnAdapter;
window.PayrollColumnTemplateAdapter = PayrollColumnTemplateAdapter;
window.PayrollEmployeeAdapter = PayrollEmployeeAdapter;
window.DeductionAdapter = DeductionAdapter;
window.DeductionGroupAdapter = DeductionGroupAdapter;
window.PayslipTemplateAdapter = PayslipTemplateAdapter;
+631
View File
@@ -0,0 +1,631 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
/* global modJs, modJsList */
import AdapterBase from '../../../api/AdapterBase';
import TableEditAdapter from '../../../api/TableEditAdapter';
/**
* PaydayAdapter
*/
class PaydayAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Select Pay Frequency' },
];
}
getFormFields() {
return [
['name', { label: 'Name', type: 'text', validation: '' }],
];
}
getAddNewLabel() {
return 'Run Payroll';
}
createTable(elementId) {
$('#payday_all').off();
super.createTable(elementId);
$('#payday_all').off().on('click', function () {
if ($(this).is(':checked')) {
$('.paydayCheck').prop('checked', true);
} else {
$('.paydayCheck').prop('checked', false);
}
});
}
getActionButtonsHtml(id, data) {
const editButton = '<input type="checkbox" class="paydayCheck" id="payday__id_" name="payday__id_" value="checkbox_payday__id_"/>';
let html = '<div style="width:120px;">_edit_</div>';
html = html.replace('_edit_', editButton);
html = html.replace(/_id_/g, id);
html = html.replace(/_BASE_/g, this.baseUrl);
return html;
}
getActionButtonHeader() {
return { sTitle: '<input type="checkbox" id="payday_all" name="payday_all" value="checkbox_payday_all"/>', sClass: 'center' };
}
}
/**
* PayrollAdapter
*/
class PayrollAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'pay_period',
'department',
'date_start',
'date_end',
'status',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Pay Frequency' },
{ sTitle: 'Department' },
{ sTitle: 'Date Start' },
{ sTitle: 'Date End' },
{ sTitle: 'Status' },
];
}
getFormFields() {
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: 'Calculation 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: '' }],
// [ "column_template", {"label":"Report Column Template","type":"select","remote-source":["PayrollColumnTemplate","id","name"]}],
['columns', { label: 'Payroll Columns', type: 'select2multi', 'remote-source': ['PayrollColumn', 'id', 'name'] }],
['status', {
label: 'Status', type: 'select', source: [['Draft', 'Draft'], ['Completed', 'Completed']], sort: 'none',
}],
];
}
postRenderForm(object, $tempDomObj) {
if (object != null && object !== undefined && object.id !== undefined && object.id != null) {
$tempDomObj.find('#pay_period').attr('disabled', 'disabled');
$tempDomObj.find('#department').attr('disabled', 'disabled');
// $tempDomObj.find("#date_start").attr('disabled','disabled');
// $tempDomObj.find("#date_end").attr('disabled','disabled');
// $tempDomObj.find("#column_template").attr('disabled','disabled');
}
}
process(id, status) {
// eslint-disable-next-line no-global-assign
modJs = modJsList.tabPayrollData;
modJs.setCurrentPayroll(id);
$('#Payroll').hide();
$('#PayrollData').show();
$('#PayrollDataButtons').show();
if (status === 'Completed') {
$('.completeBtnTable').hide();
$('.saveBtnTable').hide();
} else {
$('.completeBtnTable').show();
$('.saveBtnTable').show();
}
modJs.get([]);
}
getActionButtonsHtml(id, data) {
const editButton = '<img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img>';
const processButton = '<img class="tableActionButton" src="_BASE_images/run.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Process" onclick="modJs.process(_id_,\'_status_\');return false;"></img>';
const deleteButton = '<img class="tableActionButton" src="_BASE_images/delete.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Delete" onclick="modJs.deleteRow(_id_);return false;"></img>';
const cloneButton = '<img class="tableActionButton" src="_BASE_images/clone.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Copy" onclick="modJs.copyRow(_id_);return false;"></img>';
let html = '<div style="width:120px;">_edit__process__clone__delete_</div>';
if (this.showAddNew) {
html = html.replace('_clone_', cloneButton);
} else {
html = html.replace('_clone_', '');
}
if (this.showDelete) {
html = html.replace('_delete_', deleteButton);
} else {
html = html.replace('_delete_', '');
}
if (this.showEdit) {
html = html.replace('_edit_', editButton);
} else {
html = html.replace('_edit_', '');
}
html = html.replace('_process_', processButton);
html = html.replace(/_id_/g, id);
html = html.replace(/_status_/g, data[6]);
html = html.replace(/_BASE_/g, this.baseUrl);
return html;
}
get(callBackData) {
$('#PayrollData').hide();
$('#PayrollForm').hide();
$('#PayrollDataButtons').hide();
$('#Payroll').show();
modJsList.tabPayrollData.setCurrentPayroll(null);
super.get(callBackData);
}
}
/**
* PayrollDataAdapter
*/
class PayrollDataAdapter extends TableEditAdapter {
constructor(endPoint, tab, filter, orderBy) {
super(endPoint, tab, filter, orderBy);
this.cellDataUpdates = {};
this.payrollId = null;
}
validateCellValue(element, evt, newValue) {
modJs.addCellDataUpdate(element.data('colId'), element.data('rowId'), newValue);
return true;
}
setCurrentPayroll(val) {
this.payrollId = val;
}
addAdditionalRequestData(type, req) {
if (type === 'updateData') {
req.payrollId = this.payrollId;
} else if (type === 'updateAllData') {
req.payrollId = this.payrollId;
} else if (type === 'getAllData') {
req.payrollId = this.payrollId;
}
return req;
}
modifyCSVHeader(header) {
header.unshift('');
return header;
}
getCSVData() {
let csv = '';
for (let i = 0; i < this.csvData.length; i++) {
csv += this.csvData[i].join(',');
if (i < this.csvData.length - 1) {
csv += '\r\n';
}
}
return csv;
}
downloadPayroll() {
const element = document.createElement('a');
element.setAttribute('href', `data:text/plain;charset=utf-8,${encodeURIComponent(this.getCSVData())}`);
element.setAttribute('download', `payroll_${this.payrollId}.csv`);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
}
/**
* PayrollColumnAdapter
*/
class PayrollColumnAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'colorder',
'calculation_hook',
'deduction_group',
'editable',
'enabled',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Column Order' },
{ sTitle: 'Calculation Method' },
{ sTitle: 'Calculation Group' },
{ sTitle: 'Editable' },
{ sTitle: 'Enabled' },
];
}
getFormFields() {
const fucntionColumnList = ['calculation_columns', {
label: 'Calculation Columns',
type: 'datagroup',
form: [
['name', { label: 'Name', type: 'text', validation: '' }],
['column', { label: 'Column', type: 'select2', 'remote-source': ['PayrollColumn', 'id', 'name'] }],
],
html: '<div id="#_id_#" class="panel panel-default">#_delete_##_edit_#<div class="panel-body">#_renderFunction_#</div></div>',
validation: 'none',
render(item) {
const output = `Variable:${item.name}`;
return output;
},
}];
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['calculation_hook', {
label: 'Predefined Calculations', type: 'select2', 'allow-null': true, 'null-label': 'None', 'remote-source': ['CalculationHook', 'code', 'name'],
}],
['deduction_group', {
label: 'Calculation Group', type: 'select2', 'allow-null': true, 'null-label': 'Common', 'remote-source': ['DeductionGroup', 'id', 'name'],
}],
['salary_components', { label: 'Salary Components', type: 'select2multi', 'remote-source': ['SalaryComponent', 'id', 'name'] }],
['deductions', { label: 'Calculation Method', type: 'select2multi', 'remote-source': ['Deduction', 'id', 'name'] }],
['add_columns', { label: 'Columns to Add', type: 'select2multi', 'remote-source': ['PayrollColumn', 'id', 'name'] }],
['sub_columns', { label: 'Columns to Subtract', type: 'select2multi', 'remote-source': ['PayrollColumn', 'id', 'name'] }],
['colorder', { label: 'Column Order', type: 'text', validation: 'number' }],
['editable', { label: 'Editable', type: 'select', source: [['Yes', 'Yes'], ['No', 'No']] }],
['enabled', { label: 'Enabled', type: 'select', source: [['Yes', 'Yes'], ['No', 'No']] }],
['default_value', { label: 'Default Value', type: 'text', validation: '' }],
fucntionColumnList,
['calculation_function', { label: 'Function', type: 'text', validation: 'none' }],
];
}
getFilters() {
return [
['deduction_group', {
label: 'Calculation Group', type: 'select2', 'allow-null': true, 'null-label': 'Any', 'remote-source': ['DeductionGroup', 'id', 'name'],
}],
];
}
}
/**
* PayrollColumnTemplateAdapter
*/
class PayrollColumnTemplateAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: true },
{ sTitle: 'Name' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['columns', { label: 'Payroll Columns', type: 'select2multi', 'remote-source': ['PayrollColumn', 'id', 'name'] }],
];
}
}
/*
* PayrollEmployeeAdapter
*/
class PayrollEmployeeAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'employee',
'pay_frequency',
'deduction_group',
'currency',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Employee' },
{ sTitle: 'Pay Frequency' },
{ sTitle: 'Calculation Group' },
{ sTitle: 'Currency' },
];
}
getFormFields() {
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: 'Calculation Group', type: 'select2', 'allow-null': true, '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',
}],
];
}
getFilters() {
return [
['employee', { label: 'Employee', type: 'select2', 'remote-source': ['Employee', 'id', 'first_name+last_name'] }],
];
}
}
/**
* DeductionAdapter
*/
class DeductionAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'deduction_group',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Calculation Group' },
];
}
getFormFields() {
const rangeAmounts = ['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: '<div id="#_id_#" class="panel panel-default">#_delete_##_edit_#<div class="panel-body">#_renderFunction_#</div></div>',
validation: 'none',
'custom-validate-function': function (data) {
const res = {};
res.valid = true;
if (data.lowerCondition === 'No Lower Limit') {
data.lowerLimit = 0;
}
if (data.upperCondition === 'No Upper Limit') {
data.upperLimit = 0;
}
res.params = data;
return res;
},
render(item) {
let output = '';
const getSymbol = function (text) {
const map = {};
map.gt = '>';
map.gte = '>=';
map.lt = '<';
map.lte = '<=';
return map[text];
};
if (item.lowerCondition !== 'No Lower Limit') {
output += `${item.lowerLimit} ${getSymbol(item.lowerCondition)} `;
}
if (item.upperCondition !== 'No Upper Limit') {
output += ' and ';
output += `${getSymbol(item.upperCondition)} ${item.upperLimit} `;
}
if (output === '') {
return `Deduction is ${item.amount} for all ranges`;
}
return `If salary component ${output} deduction is ${item.amount}`;
},
}];
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['componentType', {
label: 'Salary Component Type', type: 'select2multi', 'allow-null': true, 'remote-source': ['SalaryComponentType', 'id', 'name'],
}],
['component', {
label: 'Salary Component', type: 'select2multi', 'allow-null': true, 'remote-source': ['SalaryComponent', 'id', 'name'],
}],
['payrollColumn', {
label: 'Payroll Report Column', type: 'select2', 'allow-null': true, 'remote-source': ['PayrollColumn', 'id', 'name'],
}],
rangeAmounts,
['deduction_group', {
label: 'Calculation Group', type: 'select2', 'allow-null': true, 'null-label': 'None', 'remote-source': ['DeductionGroup', 'id', 'name'],
}],
];
}
}
/*
* DeductionGroupAdapter
*/
class DeductionGroupAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'description',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Details' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['description', { label: 'Details', type: 'textarea', validation: 'none' }],
];
}
}
/*
* PayslipTemplateAdapter
*/
class PayslipTemplateAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
];
}
getFormFields() {
const payslipFields = ['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': true, '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":'<div id="#_id_#" class="panel panel-default">#_delete_##_edit_#<div class="panel-body"><table class="table table-striped"><tr><td>Type</td><td>#_type_#</td></tr><tr><td>Label</td><td>#_label_#</td></tr><tr><td>Text</td><td>#_text_#</td></tr><tr><td>Font Size</td><td>#_fontSize_#</td></tr><tr><td>Font Style</td><td>#_fontStyle_#</td></tr><tr><td>Font Color</td><td>#_fontColor_#</td></tr><tr><td>Status</td><td>#_status_#</td></tr></table> </div></div>',
html: '<div id="#_id_#" class="panel panel-default">#_delete_##_edit_#<div class="panel-body">#_type_# #_label_# <br/> #_text_#</div></div>',
validation: 'none',
'custom-validate-function': function (data) {
const res = {};
res.valid = true;
if (data.type === 'Payroll Column') {
if (data.payrollColumn === 'NULL') {
res.valid = false;
res.message = 'Please select payroll column';
} else {
data.payrollColumn = 'NULL';
}
} else if (data.type === 'Text') {
if (data.text === '') {
res.valid = false;
res.message = 'Text can not be empty';
}
}
res.params = data;
return res;
},
}];
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
payslipFields,
];
}
}
module.exports = {
PaydayAdapter,
PayrollAdapter,
PayrollDataAdapter,
PayrollColumnAdapter,
PayrollColumnTemplateAdapter,
PayrollEmployeeAdapter,
DeductionAdapter,
DeductionGroupAdapter,
PayslipTemplateAdapter,
};
+3
View File
@@ -0,0 +1,3 @@
import { PermissionAdapter } from './lib';
window.PermissionAdapter = PermissionAdapter;
+73
View File
@@ -0,0 +1,73 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
/**
* PermissionAdapter
*/
class PermissionAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'user_level',
'module_id',
'permission',
'value',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'User Level' },
{ sTitle: 'Module' },
{ sTitle: 'Permission' },
{ sTitle: 'Value' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['user_level', { label: 'User Level', type: 'placeholder', validation: 'none' }],
['module_id', { label: 'Module', type: 'placeholder', 'remote-source': ['Module', 'id', 'menu+name'] }],
['permission', { label: 'Permission', type: 'placeholder', validation: 'none' }],
['value', { label: 'Value', type: 'text', validation: 'none' }],
];
}
getFilters() {
return [
['module_id', {
label: 'Module', type: 'select2', 'allow-null': true, 'null-label': 'All Modules', 'remote-source': ['Module', 'id', 'menu+name'],
}],
];
}
getActionButtonsHtml(id, data) {
let html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img></div>';
html = html.replace(/_id_/g, id);
html = html.replace(/_BASE_/g, this.baseUrl);
return html;
}
getMetaFieldForRendering(fieldName) {
if (fieldName === 'value') {
return 'meta';
}
return '';
}
fillForm(object) {
super.fillForm(object);
$('#helptext').html(object.description);
}
}
module.exports = { PermissionAdapter };
+9
View File
@@ -0,0 +1,9 @@
import {
ClientAdapter,
ProjectAdapter,
EmployeeProjectAdapter,
} from './lib';
window.ClientAdapter = ClientAdapter;
window.ProjectAdapter = ProjectAdapter;
window.EmployeeProjectAdapter = EmployeeProjectAdapter;
+163
View File
@@ -0,0 +1,163 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
/**
* ClientAdapter
*/
class ClientAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'details',
'address',
'contact_number',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Details' },
{ sTitle: 'Address' },
{ sTitle: 'Contact Number' },
];
}
getFormFields() {
if (this.showSave) {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text' }],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
['address', { label: 'Address', type: 'textarea', validation: 'none' }],
['contact_number', { label: 'Contact Number', type: 'text', validation: 'none' }],
['contact_email', { label: 'Contact Email', type: 'text', validation: 'none' }],
['company_url', { label: 'Company Url', type: 'text', validation: 'none' }],
['status', { label: 'Status', type: 'select', source: [['Active', 'Active'], ['Inactive', 'Inactive']] }],
['first_contact_date', { label: 'First Contact Date', type: 'date', validation: 'none' }],
];
}
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'placeholder' }],
['details', { label: 'Details', type: 'placeholder', validation: 'none' }],
['address', { label: 'Address', type: 'placeholder', validation: 'none' }],
['contact_number', { label: 'Contact Number', type: 'placeholder', validation: 'none' }],
['contact_email', { label: 'Contact Email', type: 'placeholder', validation: 'none' }],
['company_url', { label: 'Company Url', type: 'placeholder', validation: 'none' }],
['status', { label: 'Status', type: 'placeholder', source: [['Active', 'Active'], ['Inactive', 'Inactive']] }],
['first_contact_date', { label: 'First Contact Date', type: 'placeholder', validation: 'none' }],
];
}
getHelpLink() {
return 'http://blog.icehrm.com/docs/projects/';
}
}
/**
* ProjectAdapter
*/
class ProjectAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'client',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Client' },
];
}
getFormFields() {
if (this.showSave) {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text' }],
['client', {
label: 'Client', type: 'select2', 'allow-null': true, 'remote-source': ['Client', 'id', 'name'],
}],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
['status', { label: 'Status', type: 'select', source: [['Active', 'Active'], ['On Hold', 'On Hold'], ['Completed', 'Completed'], ['Dropped', 'Dropped']] }],
];
}
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'placeholder' }],
['client', {
label: 'Client', type: 'placeholder', 'allow-null': true, 'remote-source': ['Client', 'id', 'name'],
}],
['details', { label: 'Details', type: 'placeholder', validation: 'none' }],
['status', { label: 'Status', type: 'select', source: [['Active', 'Active'], ['On Hold', 'On Hold'], ['Completed', 'Completed'], ['Dropped', 'Dropped']] }],
];
}
getHelpLink() {
return 'http://blog.icehrm.com/docs/projects/';
}
}
/*
* EmployeeProjectAdapter
*/
class EmployeeProjectAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'employee',
'project',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Employee' },
{ sTitle: 'Project' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['employee', { label: 'Employee', type: 'select2', 'remote-source': ['Employee', 'id', 'first_name+last_name'] }],
['project', { label: 'Project', type: 'select2', 'remote-source': ['Project', 'id', 'name'] }],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
];
}
getFilters() {
return [
['employee', { label: 'Employee', type: 'select2', 'remote-source': ['Employee', 'id', 'first_name+last_name'] }],
];
}
getHelpLink() {
return 'http://blog.icehrm.com/docs/projects/';
}
}
module.exports = {
ClientAdapter,
ProjectAdapter,
EmployeeProjectAdapter,
};
+11
View File
@@ -0,0 +1,11 @@
import {
SkillAdapter,
EducationAdapter,
CertificationAdapter,
LanguageAdapter,
} from './lib';
window.SkillAdapter = SkillAdapter;
window.EducationAdapter = EducationAdapter;
window.CertificationAdapter = CertificationAdapter;
window.LanguageAdapter = LanguageAdapter;
+140
View File
@@ -0,0 +1,140 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
/**
* SkillAdapter
*/
class SkillAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'description',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Description' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text' }],
['description', { label: 'Description', type: 'textarea', validation: '' }],
];
}
getHelpLink() {
return 'http://blog.icehrm.com/docs/qualifications/';
}
}
/**
* EducationAdapter
*/
class EducationAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'description',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Description' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text' }],
['description', { label: 'Description', type: 'textarea', validation: '' }],
];
}
}
/**
* CertificationAdapter
*/
class CertificationAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'description',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Description' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text' }],
['description', { label: 'Description', type: 'textarea', validation: '' }],
];
}
}
/**
* LanguageAdapter
*/
class LanguageAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'description',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Description' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text' }],
['description', { label: 'Description', type: 'textarea', validation: '' }],
];
}
}
module.exports = {
SkillAdapter,
EducationAdapter,
CertificationAdapter,
LanguageAdapter,
};
+4
View File
@@ -0,0 +1,4 @@
import { ReportAdapter, ReportGenAdapter } from './lib';
window.ReportAdapter = ReportAdapter;
window.ReportGenAdapter = ReportGenAdapter;
+372
View File
@@ -0,0 +1,372 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
/* global SignaturePad, modJs */
/* eslint-disable no-underscore-dangle */
import AdapterBase from '../../../api/AdapterBase';
/**
* ReportAdapter
*/
class ReportAdapter extends AdapterBase {
constructor(endPoint, tab, filter, orderBy) {
super(endPoint, tab, filter, orderBy);
this._construct();
}
_construct() {
this._formFileds = [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'label', validation: '' }],
['parameters', { label: 'Parameters', type: 'fieldset', validation: 'none' }],
];
this.remoteFieldsExists = false;
}
_initLocalFormFields() {
this._formFileds = [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'label', validation: '' }],
['parameters', { label: 'Parameters', type: 'fieldset', validation: 'none' }],
];
}
setRemoteFieldExists(val) {
this.remoteFieldsExists = val;
}
getDataMapping() {
return [
'id',
'icon',
'name',
'details',
'parameters',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: '', bSortable: false, sWidth: '22px' },
{ sTitle: 'Name', sWidth: '30%' },
{ sTitle: 'Details' },
{ sTitle: 'Parameters', bVisible: false },
];
}
getFormFields() {
return this._formFileds;
}
processFormFieldsWithObject(object) {
const that = this;
this._initLocalFormFields();
const len = this._formFileds.length;
const fieldIDsToDelete = [];
const fieldsToDelete = [];
this.remoteFieldsExists = false;
for (let i = 0; i < len; i++) {
if (this._formFileds[i][1].type === 'fieldset') {
const newFields = JSON.parse(object[this._formFileds[i][0]]);
fieldsToDelete.push(this._formFileds[i][0]);
newFields.forEach((entry) => {
that._formFileds.push(entry);
if (entry[1]['remote-source'] !== undefined && entry[1]['remote-source'] != null) {
that.remoteFieldsExists = true;
}
});
}
}
const tempArray = [];
that._formFileds.forEach((entry) => {
if (jQuery.inArray(entry[0], fieldsToDelete) < 0) {
tempArray.push(entry);
}
});
that._formFileds = tempArray;
}
renderForm(object) {
const that = this;
this.processFormFieldsWithObject(object);
if (this.remoteFieldsExists) {
const cb = function () {
that.renderFormNew(object);
};
this.initFieldMasterData(cb);
} else {
this.initFieldMasterData();
that.renderFormNew(object);
}
this.currentReport = object;
}
renderFormNew(object) {
const that = this;
const signatureIds = [];
if (object == null || object === undefined) {
this.currentId = null;
}
this.preRenderForm(object);
let formHtml = this.templates.formTemplate;
let html = '';
const fields = this.getFormFields();
for (let i = 0; i < fields.length; i++) {
const metaField = this.getMetaFieldForRendering(fields[i][0]);
if (metaField === '' || metaField === undefined) {
html += this.renderFormField(fields[i]);
} else {
const metaVal = object[metaField];
if (metaVal !== '' && metaVal != null && metaVal !== undefined && metaVal.trim() !== '') {
html += this.renderFormField(JSON.parse(metaVal));
} else {
html += this.renderFormField(fields[i]);
}
}
}
formHtml = formHtml.replace(/_id_/g, `${this.getTableName()}_submit`);
formHtml = formHtml.replace(/_fields_/g, html);
let $tempDomObj;
const randomFormId = this.generateRandom(14);
if (!this.showFormOnPopup) {
$tempDomObj = $(`#${this.getTableName()}Form`);
} else {
$tempDomObj = $('<div class="reviewBlock popupForm" data-content="Form"></div>');
$tempDomObj.attr('id', randomFormId);
}
$tempDomObj.html(formHtml);
$tempDomObj.find('.datefield').datepicker({ viewMode: 2 });
$tempDomObj.find('.timefield').datetimepicker({
language: 'en',
pickDate: false,
});
$tempDomObj.find('.datetimefield').datetimepicker({
language: 'en',
});
$tempDomObj.find('.colorpick').colorpicker();
// $tempDomObj.find('.select2Field').select2();
$tempDomObj.find('.select2Field').each(function () {
$(this).select2().select2('val', $(this).find('option:eq(0)').val());
});
$tempDomObj.find('.select2Multi').each(function () {
$(this).select2().on('change', function (e) {
const parentRow = $(this).parents('.row');
const height = parentRow.find('.select2-choices').height();
parentRow.height(parseInt(height, 10));
});
});
$tempDomObj.find('.signatureField').each(function () {
// $(this).data('signaturePad',new SignaturePad($(this)));
signatureIds.push($(this).attr('id'));
});
for (let i = 0; i < fields.length; i++) {
if (fields[i][1].type === 'datagroup') {
$tempDomObj.find(`#${fields[i][0]}`).data('field', fields[i]);
}
}
if (this.showSave === false) {
$tempDomObj.find('.saveBtn').remove();
} else {
$tempDomObj.find('.saveBtn').off();
$tempDomObj.find('.saveBtn').data('modJs', this);
$tempDomObj.find('.saveBtn').on('click', function () {
if ($(this).data('modJs').saveSuccessItemCallback != null && $(this).data('modJs').saveSuccessItemCallback !== undefined) {
$(this).data('modJs').save($(this).data('modJs').retriveItemsAfterSave(), $(this).data('modJs').saveSuccessItemCallback);
} else {
$(this).data('modJs').save();
}
return false;
});
}
if (this.showCancel === false) {
$tempDomObj.find('.cancelBtn').remove();
} else {
$tempDomObj.find('.cancelBtn').off();
$tempDomObj.find('.cancelBtn').data('modJs', this);
$tempDomObj.find('.cancelBtn').on('click', function () {
$(this).data('modJs').cancel();
return false;
});
}
if (!this.showFormOnPopup) {
$(`#${this.getTableName()}Form`).show();
$(`#${this.getTableName()}`).hide();
for (let i = 0; i < signatureIds.length; i++) {
$(`#${signatureIds[i]}`)
.data('signaturePad',
new SignaturePad(document.getElementById(signatureIds[i])));
}
if (object !== undefined && object != null) {
this.fillForm(object);
}
} else {
// var tHtml = $tempDomObj.wrap('<div>').parent().html();
// this.showMessage("Edit",tHtml,null,null,true);
this.showMessage('Edit', '', null, null, true);
$('#plainMessageModel .modal-body').html('');
$('#plainMessageModel .modal-body').append($tempDomObj);
for (let i = 0; i < signatureIds.length; i++) {
$(`#${signatureIds[i]}`)
.data('signaturePad',
new SignaturePad(document.getElementById(signatureIds[i])));
}
if (object !== undefined && object != null) {
this.fillForm(object, `#${randomFormId}`);
}
}
this.postRenderForm(object, $tempDomObj);
}
getActionButtonsHtml(id, data) {
let html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/download.png" style="cursor:pointer;" rel="tooltip" title="Download" onclick="modJs.edit(_id_);return false;"></img></div>';
html = html.replace(/_id_/g, id);
html = html.replace(/_BASE_/g, this.baseUrl);
return html;
}
addSuccessCallBack(callBackData, serverData) {
const fileName = serverData[0];
let link;
if (fileName.indexOf('https:') === 0) {
link = `<a href="${fileName}" target="_blank" style="font-size:14px;font-weight:bold;">Download Report <img src="_BASE_images/download.png"></img> </a>`;
} else {
link = `<a href="${modJs.getCustomActionUrl('download', { file: fileName })}" target="_blank" style="font-size:14px;font-weight:bold;">Download Report <img src="_BASE_images/download.png"></img> </a>`;
}
link = link.replace(/_BASE_/g, this.baseUrl);
if (this.currentReport.output === 'PDF' || this.currentReport.output === 'JSON') {
this.showMessage('Download Report', link);
} else {
if (serverData[1].length === 0) {
this.showMessage('Empty Report', 'There were no data for selected filters');
return;
}
const tableHtml = `${link}<br/><br/><div class="box-body table-responsive" style="overflow-x:scroll;padding: 5px;border: solid 1px #DDD;"><table id="tempReportTable" cellpadding="0" cellspacing="0" border="0" class="table table-bordered table-striped"></table></div>`;
// Delete existing temp report table
$('#tempReportTable').remove();
// this.showMessage("Report",tableHtml);
$(`#${this.table}`).html(tableHtml);
$(`#${this.table}`).show();
$(`#${this.table}Form`).hide();
// Prepare headers
const headers = [];
for (const index in serverData[1]) {
headers.push({ sTitle: serverData[1][index] });
}
const data = serverData[2];
const dataTableParams = {
oLanguage: {
sLengthMenu: '_MENU_ records per page',
},
aaData: data,
aoColumns: headers,
bSort: false,
iDisplayLength: 15,
iDisplayStart: 0,
};
$('#tempReportTable').dataTable(dataTableParams);
$('.dataTables_paginate ul').addClass('pagination');
$('.dataTables_length').hide();
$('.dataTables_filter input').addClass('form-control');
$('.dataTables_filter input').attr('placeholder', 'Search');
$('.dataTables_filter label').contents().filter(function () {
return (this.nodeType === 3);
}).remove();
$('.tableActionButton').tooltip();
}
}
fillForm(object) {
const fields = this.getFormFields();
for (let i = 0; i < fields.length; i++) {
if (fields[i][1].type === 'label') {
$(`#${this.getTableName()}Form #${fields[i][0]}`).html(object[fields[i][0]]);
} else {
$(`#${this.getTableName()}Form #${fields[i][0]}`).val(object[fields[i][0]]);
}
}
}
}
class ReportGenAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
];
}
getFormFields() {
return [
];
}
getActionButtonsHtml(id, data) {
let html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/download.png" style="cursor:pointer;" rel="tooltip" title="Download" onclick="download(_name_);return false;"></img></div>';
html = html.replace(/_id_/g, id);
html = html.replace(/_name_/g, data[1]);
html = html.replace(/_BASE_/g, this.baseUrl);
return html;
}
}
module.exports = { ReportAdapter, ReportGenAdapter };
+9
View File
@@ -0,0 +1,9 @@
import {
SalaryComponentTypeAdapter,
SalaryComponentAdapter,
EmployeeSalaryAdapter,
} from './lib';
window.SalaryComponentTypeAdapter = SalaryComponentTypeAdapter;
window.SalaryComponentAdapter = SalaryComponentAdapter;
window.EmployeeSalaryAdapter = EmployeeSalaryAdapter;
+120
View File
@@ -0,0 +1,120 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
/**
* SalaryComponentTypeAdapter
*/
class SalaryComponentTypeAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'code',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Code' },
{ sTitle: 'Name' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['code', { label: 'Code', type: 'text', validation: '' }],
['name', { label: 'Name', type: 'text', validation: '' }],
];
}
}
/**
* SalaryComponentAdapter
*/
class SalaryComponentAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'componentType',
'details',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Salary Component Type' },
{ sTitle: 'Details' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['componentType', { label: 'Salary Component Type', type: 'select2', 'remote-source': ['SalaryComponentType', 'id', 'name'] }],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
];
}
}
/*
* EmployeeSalaryAdapter
*/
class EmployeeSalaryAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'employee',
'component',
'amount',
'details',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Employee' },
{ sTitle: 'Salary Component' },
{ sTitle: 'Amount' },
{ sTitle: 'Details' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['employee', { label: 'Employee', type: 'select2', 'remote-source': ['Employee', 'id', 'first_name+last_name'] }],
['component', { label: 'Salary Component', type: 'select2', 'remote-source': ['SalaryComponent', 'id', 'name'] }],
['amount', { label: 'Amount', type: 'text', validation: 'float' }],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
];
}
getFilters() {
return [
['employee', { label: 'Employee', type: 'select2', 'remote-source': ['Employee', 'id', 'first_name+last_name'] }],
];
}
}
module.exports = {
SalaryComponentTypeAdapter,
SalaryComponentAdapter,
EmployeeSalaryAdapter,
};
+3
View File
@@ -0,0 +1,3 @@
import { SettingAdapter } from './lib';
window.SettingAdapter = SettingAdapter;
+109
View File
@@ -0,0 +1,109 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
/**
* SettingAdapter
*/
class SettingAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'value',
'description',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Value' },
{ sTitle: 'Details' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['value', { label: 'Value', type: 'text', validation: 'none' }],
];
}
getActionButtonsHtml(id, data) {
let html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img></div>';
html = html.replace(/_id_/g, id);
html = html.replace(/_BASE_/g, this.baseUrl);
return html;
}
getMetaFieldForRendering(fieldName) {
if (fieldName === 'value') {
return 'meta';
}
return '';
}
edit(id) {
this.loadRemoteDataForSettings();
super.edit(id);
}
fillForm(object) {
const metaField = this.getMetaFieldForRendering('value');
const metaVal = object[metaField];
let formFields = null;
if (metaVal !== '' && metaVal !== undefined) {
formFields = [
['id', { label: 'ID', type: 'hidden' }],
JSON.parse(metaVal),
];
}
super.fillForm(object, null, formFields);
$('#helptext').html(object.description);
}
loadRemoteDataForSettings() {
const fields = [];
let field = null;
fields.push(['country', { label: 'Country', type: 'select2multi', 'remote-source': ['Country', 'id', 'name'] }]);
fields.push(['countryCompany', { label: 'Country', type: 'select2', 'remote-source': ['Country', 'code', 'name'] }]);
fields.push(['currency', { label: 'Currency', type: 'select2multi', 'remote-source': ['CurrencyType', 'id', 'code+name'] }]);
fields.push(['nationality', { label: 'Nationality', type: 'select2multi', 'remote-source': ['Nationality', 'id', 'name'] }]);
fields.push(['supportedLanguage', {
label: 'Value', type: 'select2', 'allow-null': false, 'remote-source': ['SupportedLanguage', 'name', 'description'],
}]);
for (const index in fields) {
field = fields[index];
if (field[1]['remote-source'] !== undefined && field[1]['remote-source'] !== null) {
const key = `${field[1]['remote-source'][0]}_${field[1]['remote-source'][1]}_${field[1]['remote-source'][2]}`;
this.fieldMasterDataKeys[key] = false;
this.sourceMapping[field[0]] = field[1]['remote-source'];
const callBackData = {};
callBackData.callBack = 'initFieldMasterDataResponse';
callBackData.callBackData = [key];
this.getFieldValues(field[1]['remote-source'], callBackData);
}
}
}
getHelpLink() {
return 'http://blog.icehrm.com/docs/settings/';
}
}
module.exports = { SettingAdapter };
+11
View File
@@ -0,0 +1,11 @@
import {
ImmigrationDocumentAdapter,
EmployeeImmigrationAdapter,
EmployeeTravelRecordAdminAdapter,
CustomFieldAdapter,
} from './lib';
window.ImmigrationDocumentAdapter = ImmigrationDocumentAdapter;
window.EmployeeImmigrationAdapter = EmployeeImmigrationAdapter;
window.EmployeeTravelRecordAdminAdapter = EmployeeTravelRecordAdminAdapter;
window.CustomFieldAdapter = CustomFieldAdapter;
+195
View File
@@ -0,0 +1,195 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import AdapterBase from '../../../api/AdapterBase';
import CustomFieldAdapter from '../../../api/CustomFieldAdapter';
import ApproveAdminAdapter from '../../../api/ApproveAdminAdapter';
/**
* ImmigrationDocumentAdapter
*/
class ImmigrationDocumentAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
'details',
'required',
'alert_on_missing',
'alert_before_expiry',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
{ sTitle: 'Details' },
{ sTitle: 'Compulsory' },
{ sTitle: 'Alert If Not Found' },
{ sTitle: 'Alert Before Expiry' },
];
}
getFormFields() {
const fields = [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
['required', { label: 'Compulsory', type: 'select', source: [['No', 'No'], ['Yes', 'Yes']] }],
['alert_on_missing', { label: 'Alert If Not Found', type: 'select', source: [['No', 'No'], ['Yes', 'Yes']] }],
['alert_before_expiry', { label: 'Alert Before Expiry', type: 'select', source: [['No', 'No'], ['Yes', 'Yes']] }],
['alert_before_day_number', { label: 'Days for Expiry Alert', type: 'text', validation: '' }],
];
for (let i = 0; i < this.customFields.length; i++) {
fields.push(this.customFields[i]);
}
return fields;
}
}
/**
* EmployeeImmigrationAdapter
*/
class EmployeeImmigrationAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'employee',
'document',
'documentname',
'valid_until',
'status',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Employee' },
{ sTitle: 'Document' },
{ sTitle: 'Document Id' },
{ sTitle: 'Valid Until' },
{ sTitle: 'Status' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['employee', { label: 'Employee', type: 'select2', 'remote-source': ['Employee', 'id', 'first_name+last_name'] }],
['document', { label: 'Document', type: 'select2', 'remote-source': ['ImmigrationDocument', 'id', 'name'] }],
['documentname', { label: 'Document Id', type: 'text', validation: '' }],
['valid_until', { label: 'Valid Until', type: 'date', validation: 'none' }],
['status', { label: 'Status', type: 'select', source: [['Active', 'Active'], ['Inactive', 'Inactive'], ['Draft', 'Draft']] }],
['details', { label: 'Details', type: 'textarea', validation: 'none' }],
['attachment1', { label: 'Attachment 1', type: 'fileupload', validation: 'none' }],
['attachment2', { label: 'Attachment 2', type: 'fileupload', validation: 'none' }],
['attachment3', { label: 'Attachment 3', type: 'fileupload', validation: 'none' }],
];
}
getFilters() {
return [
['employee', { label: 'Employee', type: 'select2', 'remote-source': ['Employee', 'id', 'first_name+last_name'] }],
];
}
}
/**
* EmployeeTravelRecordAdminAdapter
*/
class EmployeeTravelRecordAdminAdapter extends ApproveAdminAdapter {
constructor(endPoint, tab, filter, orderBy) {
super(endPoint, tab, filter, orderBy);
this.itemName = 'TravelRequest';
this.itemNameLower = 'travelrequest';
this.modulePathName = 'travel';
}
getDataMapping() {
return [
'id',
'employee',
'type',
'purpose',
'travel_from',
'travel_to',
'travel_date',
'status',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Employee' },
{ sTitle: 'Travel Type' },
{ sTitle: 'Purpose' },
{ sTitle: 'From' },
{ sTitle: 'To' },
{ sTitle: 'Travel Date' },
{ sTitle: 'Status' },
];
}
getFormFields() {
return this.addCustomFields([
['id', { label: 'ID', type: 'hidden' }],
['employee', {
label: 'Employee',
type: 'select2',
sort: 'none',
'allow-null': false,
'remote-source': ['Employee', 'id', 'first_name+last_name', 'getActiveSubordinateEmployees'],
}],
['type', {
label: 'Means of Transportation',
type: 'select',
source: [
['Plane', 'Plane'],
['Rail', 'Rail'],
['Taxi', 'Taxi'],
['Own Vehicle', 'Own Vehicle'],
['Rented Vehicle', 'Rented Vehicle'],
['Other', 'Other'],
],
}],
['purpose', { label: 'Purpose of Travel', type: 'textarea', validation: '' }],
['travel_from', { label: 'Travel From', type: 'text', validation: '' }],
['travel_to', { label: 'Travel To', type: 'text', validation: '' }],
['travel_date', { label: 'Travel Date', type: 'datetime', validation: '' }],
['return_date', { label: 'Return Date', type: 'datetime', validation: '' }],
['details', { label: 'Notes', type: 'textarea', validation: 'none' }],
['currency', {
label: 'Currency', type: 'select2', 'allow-null': false, 'remote-source': ['CurrencyType', 'id', 'code'],
}],
['funding', {
label: 'Total Funding Proposed', type: 'text', validation: 'float', default: '0.00', mask: '9{0,10}.99',
}],
['attachment1', { label: 'Attachment', type: 'fileupload', validation: 'none' }],
['attachment2', { label: 'Attachment', type: 'fileupload', validation: 'none' }],
['attachment3', { label: 'Attachment', type: 'fileupload', validation: 'none' }],
]);
}
}
module.exports = {
ImmigrationDocumentAdapter,
EmployeeImmigrationAdapter,
EmployeeTravelRecordAdminAdapter,
CustomFieldAdapter,
};
+7
View File
@@ -0,0 +1,7 @@
import {
UserAdapter,
UserRoleAdapter,
} from './lib';
window.UserAdapter = UserAdapter;
window.UserRoleAdapter = UserRoleAdapter;
+201
View File
@@ -0,0 +1,201 @@
/*
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
import FormValidation from '../../../api/FormValidation';
import AdapterBase from '../../../api/AdapterBase';
class UserAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'username',
'email',
'employee',
'user_level',
];
}
getHeaders() {
return [
{ sTitle: 'ID' },
{ sTitle: 'User Name' },
{ sTitle: 'Authentication Email' },
{ sTitle: 'Employee' },
{ sTitle: 'User Level' },
];
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden', validation: '' }],
['username', { label: 'User Name', type: 'text', validation: 'username' }],
['email', { label: 'Email', type: 'text', validation: 'email' }],
['employee', {
label: 'Employee', type: 'select2', 'allow-null': true, 'remote-source': ['Employee', 'id', 'first_name+last_name'],
}],
['user_level', { label: 'User Level', type: 'select', source: [['Admin', 'Admin'], ['Manager', 'Manager'], ['Employee', 'Employee'], ['Other', 'Other']] }],
['user_roles', { label: 'User Roles', type: 'select2multi', 'remote-source': ['UserRole', 'id', 'name'] }],
['lang', {
label: 'Language', type: 'select2', 'allow-null': true, 'remote-source': ['SupportedLanguage', 'id', 'description'],
}],
['default_module', {
label: 'Default Module', type: 'select2', 'null-label': 'No Default Module', 'allow-null': true, 'remote-source': ['Module', 'id', 'menu+label'],
}],
];
}
postRenderForm(object, $tempDomObj) {
if (object == null || object === undefined) {
$tempDomObj.find('#changePasswordBtn').remove();
}
}
changePassword() {
$('#adminUsersModel').modal('show');
$('#adminUsersChangePwd #newpwd').val('');
$('#adminUsersChangePwd #conpwd').val('');
}
saveUserSuccessCallBack(callBackData, serverData) {
const user = callBackData[0];
if (callBackData[1]) {
this.showMessage('Create User', `An email has been sent to ${user.email} with a temporary password to login to IceHrm.`);
} else {
this.showMessage('Create User', 'User created successfully. But there was a problem sending welcome email.');
}
this.get([]);
}
saveUserFailCallBack(callBackData, serverData) {
this.showMessage('Error', callBackData);
}
doCustomValidation(params) {
let msg = null;
if ((params.user_level !== 'Admin' && params.user_level !== 'Other') && params.employee === 'NULL') {
msg = 'For this user type, you have to assign an employee when adding or editing the user.<br/>';
msg += " You may create a new employee through 'Admin'->'Employees' menu";
}
return msg;
}
save() {
const validator = new FormValidation(`${this.getTableName()}_submit`, true, { ShowPopup: false, LabelErrorClass: 'error' });
if (validator.checkValues()) {
const params = validator.getFormParameters();
const msg = this.doCustomValidation(params);
if (msg == null) {
const id = $(`#${this.getTableName()}_submit #id`).val();
params.csrf = $(`#${this.getTableName()}Form`).data('csrf');
if (id != null && id !== undefined && id !== '') {
params.id = id;
this.add(params, []);
} else {
const reqJson = JSON.stringify(params);
const callBackData = [];
callBackData.callBackData = [];
callBackData.callBackSuccess = 'saveUserSuccessCallBack';
callBackData.callBackFail = 'saveUserFailCallBack';
this.customAction('saveUser', 'admin=users', reqJson, callBackData);
}
} else {
// $("#"+this.getTableName()+'Form .label').html(msg);
// $("#"+this.getTableName()+'Form .label').show();
this.showMessage('Error Saving User', msg);
}
}
}
changePasswordConfirm() {
$('#adminUsersChangePwd_error').hide();
const passwordValidation = function (str) {
return str.length > 7;
};
const password = $('#adminUsersChangePwd #newpwd').val();
if (!passwordValidation(password)) {
$('#adminUsersChangePwd_error').html('Password should be longer than 7 characters');
$('#adminUsersChangePwd_error').show();
return;
}
const conPassword = $('#adminUsersChangePwd #conpwd').val();
if (conPassword !== password) {
$('#adminUsersChangePwd_error').html("Passwords don't match");
$('#adminUsersChangePwd_error').show();
return;
}
const req = { id: this.currentId, pwd: conPassword };
const reqJson = JSON.stringify(req);
const callBackData = [];
callBackData.callBackData = [];
callBackData.callBackSuccess = 'changePasswordSuccessCallBack';
callBackData.callBackFail = 'changePasswordFailCallBack';
this.customAction('changePassword', 'admin=users', reqJson, callBackData);
}
closeChangePassword() {
$('#adminUsersModel').modal('hide');
}
changePasswordSuccessCallBack(callBackData, serverData) {
this.closeChangePassword();
this.showMessage('Password Change', 'Password changed successfully');
}
changePasswordFailCallBack(callBackData, serverData) {
this.closeChangePassword();
this.showMessage('Error', callBackData);
}
}
/**
* UserRoleAdapter
*/
class UserRoleAdapter extends AdapterBase {
getDataMapping() {
return [
'id',
'name',
];
}
getHeaders() {
return [
{ sTitle: 'ID', bVisible: false },
{ sTitle: 'Name' },
];
}
postRenderForm(object, $tempDomObj) {
$tempDomObj.find('#changePasswordBtn').remove();
}
getFormFields() {
return [
['id', { label: 'ID', type: 'hidden' }],
['name', { label: 'Name', type: 'text', validation: '' }],
];
}
}
module.exports = {
UserAdapter,
UserRoleAdapter,
};