{"version":3,"file":"home-mcuKaqhl.js","sources":["../../../app/frontend/entrypoints/controllers/teams/home/home.ts"],"sourcesContent":["import Utils from \"../../../utils\";\nimport Swal from 'sweetalert2';\nimport * as bootstrap from 'bootstrap'\nimport DefaultController from \"../../defaultController\";\n\n\nexport default class TeamsHome extends DefaultController {\n private absenceModal: any;\n private absenceTable: any\n private tableElem: any;\n\n async init() {\n this.entity = \"absences\"\n this.tableElem = jQuery(\".teams_home_absences_pending\")\n this.tableElem.delegate(\".delete-record\", \"click\", async (e: any) => {const confirm = await Swal.fire({\n title: 'Are you sure?',\n text: \"You won't be able to revert this!\",\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Yes, delete it!',\n customClass: {\n confirmButton: 'btn btn-primary me-3',\n cancelButton: 'btn btn-label-secondary'\n },\n buttonsStyling: false\n })\n if(confirm.value === true) {\n const id = e.currentTarget.getAttribute(\"data-id\")\n const r = await Utils.entity.destroy(id, this.entity)\n if (r.status === 200) {\n this.toastr.success(`${Utils.translate('absence.name')} ${Utils.translate('generic.deleted')}`, `${Utils.translate('generic.success')}`)\n } else {\n this.toastr.error(`${Utils.translate('absence.name')} ${Utils.translate('generic.messages.not_deleted')}`, `${Utils.translate('generic.error')}`)\n }\n await this.request(\"\")\n console.log(\"this.absenceTable\", this.absenceTable)\n }\n });\n this.setupEventListeners();\n\n await this.setupDatatables();\n await this.request(\"\");\n this.bindListeners()\n Utils.hideLoader()\n }\n\n protected bindListeners() {\n }\n\n setupDatatables() {\n let columns = [\n {data: 'from'},\n {data: 'to'},\n {data: 'name'},\n {data: 'uuid'}\n ];\n let columnDefs = [\n {\n targets: 0,\n render: (data: any, type: any, full: any, meta: any) => {\n return `${data}${new Date(Date.parse(data)).toLocaleDateString()}`;\n },\n },\n {\n targets: 1,\n render: (data: any, type: any, full: any, meta: any) => {\n return `${data}${new Date(Date.parse(data)).toLocaleDateString()}`;\n },\n },\n {\n targets: 2,\n render: (data: any, type: any, full: any, meta: any) => {\n return full.absence_mode.name\n },\n },\n {\n targets: 3,\n searchable: false,\n orderable: false,\n render: (data: any, type: any, full: any, meta: any) => {\n if (full.status === \"NEW\" || (window.activeUser && window.activeUser.role === \"admin\")) {\n return `
\n \n \n \n
`\n } else {\n return Utils.translate(`absence.status.${full.status.toLowerCase()}`);\n }\n },\n }\n ]\n this.absenceTable = new DataTable(this.tableElem, {\n ajax: `/api/v1/absences`,\n columns: columns,\n order: [[0, 'desc']],\n columnDefs: columnDefs,\n processing: true,\n dom:\n '<\"row me-2 align-items-center\"' +\n '<\"col-md-2\"<\"me-3 m-3\"l>>' +\n '<\"col-md-10\"<\"dt-action-buttons text-xl-end text-lg-start text-md-end text-start d-flex align-items-center justify-content-end flex-md-row flex-column mb-3 mb-md-0\"fB>>' +\n '>t' +\n '<\"row mx-2 align-items-center justify-content-between\"' +\n '<\"col-6\"i>' +\n '<\"col-6 mt-3\"p>' +\n '>',\n\n language: {\n // @ts-ignore\n sLengthMenu: '_MENU_',\n search: '',\n searchPlaceholder: `${Utils.translate('generic.search')}...`,\n \"zeroRecords\": `${Utils.translate('generic.datatable.no_results')}`,\n \"emptyTable\": `${Utils.translate('generic.datatable.no_results')}`,\n \"paginate\": {\n \"first\": `${Utils.translate('generic.datatable.pagination.first')}`,\n \"last\": `${Utils.translate('generic.datatable.pagination.last')}`,\n \"next\": `${Utils.translate('generic.datatable.pagination.next')}`,\n \"previous\": `${Utils.translate('generic.datatable.pagination.previous')}`\n },\n \"info\": `${Utils.translate('generic.datatable.info.info')}`,\n \"infoEmpty\": `${Utils.translate('generic.datatable.info.empty')}`,\n \"infoFiltered\": `${Utils.translate('generic.datatable.info.filtered')}`,\n },\n buttons: [\n {\n text: `${Utils.translate('generic.download')}`,\n className: 'dt-button btn btn-primary m-2',\n action: async () => {\n let csv = '';\n const csvHeader: any = []\n this.absenceTable.columns().header().each((column: any, i: number) => {\n const visible = this.absenceTable.column(i).visible();\n if (visible) {\n let content = column.innerHTML\n if (content.indexOf(\"(.*)<\\/span> {\n console.log(data)\n let content = [new Date(Date.parse(data.from)).toLocaleDateString(),\n new Date(Date.parse(data.to)).toLocaleDateString(),\n data.absence_mode.name\n ]\n csv += content.join(\";\") + \"\\n\";\n })\n\n await Utils.download(new Blob([\"\\ufeff\", csv]), 'export.csv')\n }\n }\n ]\n });\n }\n\n async setupEventListeners() {\n const prev = document.querySelector(\"#teams_home_absence_prev\") as HTMLElement;\n const next = document.querySelector(\"#teams_home_absence_next\") as HTMLElement;\n prev.addEventListener(\"click\", async (e: any) => {\n e.preventDefault();\n await this.request(\"minus\")\n });\n\n next.addEventListener(\"click\", async (e: any) => {\n e.preventDefault();\n await this.request(\"plus\")\n })\n\n }\n\n async request(mode: string) {\n const table = document.querySelector(\"#teams_home_absence_table\") as HTMLElement\n const yearDisplay = (document.querySelector(\"#teams_home_absence_date\") as HTMLButtonElement);\n // @ts-ignore\n const currentDate = parseInt(yearDisplay.getAttribute(\"data-date\"));\n let newDate = currentDate\n if (mode === \"minus\") {\n newDate = currentDate - 1\n }\n if (mode === \"plus\") {\n newDate = currentDate + 1\n }\n const r = await Utils.entity.request(`/api/v1/absences/info?year=${newDate}`, 'GET')\n if (r.status === 200) {\n\n yearDisplay.innerHTML = `${newDate}`;\n yearDisplay.setAttribute(\"data-date\", `${newDate}`);\n table.innerHTML = `\n ${Utils.translate('absence.vacation_days')}\n ${r.data.allowance}\n \n \n ${Utils.translate('absence.pending_days')}\n ${r.data.pending}\n \n \n ${Utils.translate('absence.approved_days')}\n ${r.data.taken}\n \n \n ${Utils.translate('absence.left_days')}\n ${r.data.left}\n \n \n ${Utils.translate('absence.over_hours')}\n ${r.data.over_hours}\n `\n if (this.absenceTable) {\n this.absenceTable.clear();\n this.absenceTable.rows.add(r.data.absences);\n this.absenceTable.draw();\n }\n }\n }\n}"],"names":[],"mappings":";;;;;;;AAMA,MAAqB,kBAAkB,kBAAkB;AAAA,EAKrD,MAAM,OAAO;AACT,SAAK,SAAS;AACT,SAAA,YAAY,OAAO,8BAA8B;AACtD,SAAK,UAAU,SAAS,kBAAkB,SAAS,OAAO,MAAW;AAAO,YAAA,UAAU,MAAM,KAAK,KAAK;AAAA,QAClG,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,kBAAkB;AAAA,QAClB,mBAAmB;AAAA,QACnB,aAAa;AAAA,UACT,eAAe;AAAA,UACf,cAAc;AAAA,QAClB;AAAA,QACA,gBAAgB;AAAA,MAAA,CACnB;AACM,UAAA,QAAQ,UAAU,MAAM;AACvB,cAAM,KAAK,EAAE,cAAc,aAAa,SAAS;AACjD,cAAM,IAAI,MAAM,MAAM,OAAO,QAAQ,IAAI,KAAK,MAAM;AAChD,YAAA,EAAE,WAAW,KAAK;AAClB,eAAK,OAAO,QAAQ,GAAG,MAAM,UAAU,cAAc,CAAC,IAAI,MAAM,UAAU,iBAAiB,CAAC,IAAI,GAAG,MAAM,UAAU,iBAAiB,CAAC,EAAE;AAAA,QAAA,OACpI;AACH,eAAK,OAAO,MAAM,GAAG,MAAM,UAAU,cAAc,CAAC,IAAI,MAAM,UAAU,8BAA8B,CAAC,IAAI,GAAG,MAAM,UAAU,eAAe,CAAC,EAAE;AAAA,QACpJ;AACM,cAAA,KAAK,QAAQ,EAAE;AACb,gBAAA,IAAI,qBAAqB,KAAK,YAAY;AAAA,MACtD;AAAA,IAAA,CACH;AACD,SAAK,oBAAoB;AAEzB,UAAM,KAAK;AACL,UAAA,KAAK,QAAQ,EAAE;AACrB,SAAK,cAAc;AACnB,UAAM,WAAW;AAAA,EACrB;AAAA,EAEU,gBAAgB;AAAA,EAC1B;AAAA,EAEA,kBAAkB;AACd,QAAI,UAAU;AAAA,MACV,EAAC,MAAM,OAAM;AAAA,MACb,EAAC,MAAM,KAAI;AAAA,MACX,EAAC,MAAM,OAAM;AAAA,MACb,EAAC,MAAM,OAAM;AAAA,IAAA;AAEjB,QAAI,aAAa;AAAA,MACb;AAAA,QACI,SAAS;AAAA,QACT,QAAQ,CAAC,MAAW,MAAW,MAAW,SAAc;AAC7C,iBAAA,8BAA8B,IAAI,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,CAAC,EAAE,mBAAA,CAAoB;AAAA,QACtG;AAAA,MACJ;AAAA,MACA;AAAA,QACI,SAAS;AAAA,QACT,QAAQ,CAAC,MAAW,MAAW,MAAW,SAAc;AAC7C,iBAAA,8BAA8B,IAAI,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,CAAC,EAAE,mBAAA,CAAoB;AAAA,QACtG;AAAA,MACJ;AAAA,MACA;AAAA,QACI,SAAS;AAAA,QACT,QAAQ,CAAC,MAAW,MAAW,MAAW,SAAc;AACpD,iBAAO,KAAK,aAAa;AAAA,QAC7B;AAAA,MACJ;AAAA,MACA;AAAA,QACI,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,QAAQ,CAAC,MAAW,MAAW,MAAW,SAAc;AAChD,cAAA,KAAK,WAAW,SAAU,OAAO,cAAc,OAAO,WAAW,SAAS,SAAU;AAC7E,mBAAA;AAAA,0EAC2C,IAAI;AAAA;AAAA;AAAA;AAAA,UAAA,OAInD;AACH,mBAAO,MAAM,UAAU,kBAAkB,KAAK,OAAO,aAAa,EAAE;AAAA,UACxE;AAAA,QACJ;AAAA,MACJ;AAAA,IAAA;AAEJ,SAAK,eAAe,IAAI,UAAU,KAAK,WAAW;AAAA,MAC9C,MAAM;AAAA,MACN;AAAA,MACA,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC;AAAA,MACnB;AAAA,MACA,YAAY;AAAA,MACZ,KACI;AAAA,MASJ,UAAU;AAAA;AAAA,QAEN,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,mBAAmB,GAAG,MAAM,UAAU,gBAAgB,CAAC;AAAA,QACvD,eAAe,GAAG,MAAM,UAAU,8BAA8B,CAAC;AAAA,QACjE,cAAc,GAAG,MAAM,UAAU,8BAA8B,CAAC;AAAA,QAChE,YAAY;AAAA,UACR,SAAS,GAAG,MAAM,UAAU,oCAAoC,CAAC;AAAA,UACjE,QAAQ,GAAG,MAAM,UAAU,mCAAmC,CAAC;AAAA,UAC/D,QAAQ,GAAG,MAAM,UAAU,mCAAmC,CAAC;AAAA,UAC/D,YAAY,GAAG,MAAM,UAAU,uCAAuC,CAAC;AAAA,QAC3E;AAAA,QACA,QAAQ,GAAG,MAAM,UAAU,6BAA6B,CAAC;AAAA,QACzD,aAAa,GAAG,MAAM,UAAU,8BAA8B,CAAC;AAAA,QAC/D,gBAAgB,GAAG,MAAM,UAAU,iCAAiC,CAAC;AAAA,MACzE;AAAA,MACA,SAAS;AAAA,QACL;AAAA,UACI,MAAM,GAAG,MAAM,UAAU,kBAAkB,CAAC;AAAA,UAC5C,WAAW;AAAA,UACX,QAAQ,YAAY;AAChB,gBAAI,MAAM;AACV,kBAAM,YAAiB,CAAA;AAClB,iBAAA,aAAa,UAAU,SAAS,KAAK,CAAC,QAAa,MAAc;AAClE,oBAAM,UAAU,KAAK,aAAa,OAAO,CAAC,EAAE;AAC5C,kBAAI,SAAS;AACT,oBAAI,UAAU,OAAO;AACrB,oBAAI,QAAQ,QAAQ,OAAO,MAAM,IAAI;AACjC,4BAAU,QAAQ,MAAM,oBAAoB,EAAE,CAAC;AAAA,gBACnD;AAIA,0BAAU,KAAK,OAAO;AAAA,cAC1B;AAAA,YAAA,CACH;AACD,mBAAO,GAAG,UAAU,KAAK,GAAG,CAAC;AAAA;AAC7B,iBAAK,aAAa,KAAK,EAAE,OAAO,KAAK,CAAC,SAAc;AAChD,sBAAQ,IAAI,IAAI;AAChB,kBAAI,UAAU;AAAA,gBAAC,IAAI,KAAK,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,mBAAmB;AAAA,gBAC9D,IAAI,KAAK,KAAK,MAAM,KAAK,EAAE,CAAC,EAAE,mBAAmB;AAAA,gBACjD,KAAK,aAAa;AAAA,cAAA;AAEf,qBAAA,QAAQ,KAAK,GAAG,IAAI;AAAA,YAAA,CAC9B;AAEK,kBAAA,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,YAAY;AAAA,UAChE;AAAA,QACJ;AAAA,MACJ;AAAA,IAAA,CACH;AAAA,EACL;AAAA,EAEA,MAAM,sBAAsB;AAClB,UAAA,OAAO,SAAS,cAAc,0BAA0B;AACxD,UAAA,OAAO,SAAS,cAAc,0BAA0B;AACzD,SAAA,iBAAiB,SAAS,OAAO,MAAW;AAC7C,QAAE,eAAe;AACX,YAAA,KAAK,QAAQ,OAAO;AAAA,IAAA,CAC7B;AAEI,SAAA,iBAAiB,SAAS,OAAO,MAAW;AAC7C,QAAE,eAAe;AACX,YAAA,KAAK,QAAQ,MAAM;AAAA,IAAA,CAC5B;AAAA,EAEL;AAAA,EAEA,MAAM,QAAQ,MAAc;AAClB,UAAA,QAAQ,SAAS,cAAc,2BAA2B;AAC1D,UAAA,cAAe,SAAS,cAAc,0BAA0B;AAEtE,UAAM,cAAc,SAAS,YAAY,aAAa,WAAW,CAAC;AAClE,QAAI,UAAU;AACd,QAAI,SAAS,SAAS;AAClB,gBAAU,cAAc;AAAA,IAC5B;AACA,QAAI,SAAS,QAAQ;AACjB,gBAAU,cAAc;AAAA,IAC5B;AACM,UAAA,IAAI,MAAM,MAAM,OAAO,QAAQ,8BAA8B,OAAO,IAAI,KAAK;AAC/E,QAAA,EAAE,WAAW,KAAK;AAEN,kBAAA,YAAY,GAAG,OAAO;AAClC,kBAAY,aAAa,aAAa,GAAG,OAAO,EAAE;AAClD,YAAM,YAAY;AAAA,2BACH,MAAM,UAAU,uBAAuB,CAAC;AAAA,wBAC3C,EAAE,KAAK,SAAS;AAAA;AAAA;AAAA,2BAGb,MAAM,UAAU,sBAAsB,CAAC;AAAA,wBAC1C,EAAE,KAAK,OAAO;AAAA;AAAA;AAAA,2BAGX,MAAM,UAAU,uBAAuB,CAAC;AAAA,wBAC3C,EAAE,KAAK,KAAK;AAAA;AAAA;AAAA,2BAGT,MAAM,UAAU,mBAAmB,CAAC;AAAA,wBACvC,EAAE,KAAK,IAAI;AAAA;AAAA;AAAA,2BAGR,MAAM,UAAU,oBAAoB,CAAC;AAAA,wBACxC,EAAE,KAAK,UAAU;AAAA;AAE7B,UAAI,KAAK,cAAc;AACnB,aAAK,aAAa;AAClB,aAAK,aAAa,KAAK,IAAI,EAAE,KAAK,QAAQ;AAC1C,aAAK,aAAa;MACtB;AAAA,IACJ;AAAA,EACJ;AACJ;"}