diff --git a/public/js/apps/Bismeldestichtag/API.js b/public/js/apps/Bismeldestichtag/API.js index 2b6457ea3..6a2989d5c 100644 --- a/public/js/apps/Bismeldestichtag/API.js +++ b/public/js/apps/Bismeldestichtag/API.js @@ -61,8 +61,7 @@ export const BismeldestichtagAPIs = { return CoreRESTClient.post( 'codex/Bismeldestichtag/deleteBismeldestichtag', { - meldestichtag: wsParams.meldestichtag, - studiensemester_kurzbz: wsParams.studiensemester_kurzbz + meldestichtag_id: wsParams.meldestichtag_id }, { timeout: CORE_BISMELDESTICHTAG_CMPT_TIMEOUT diff --git a/public/js/apps/Bismeldestichtag/Bismeldestichtag.js b/public/js/apps/Bismeldestichtag/Bismeldestichtag.js index 4c7c7374c..2f3ac7680 100644 --- a/public/js/apps/Bismeldestichtag/Bismeldestichtag.js +++ b/public/js/apps/Bismeldestichtag/Bismeldestichtag.js @@ -84,12 +84,11 @@ const bismeldestichtagApp = Vue.createApp({ /** * Define delete Bismeldestichtag call and method to be executed after the call */ - handlerDeleteBismeldestichtag: function(event) { + handlerDeleteBismeldestichtag: function(meldestichtag_id) { this.startFetchCmpt( BismeldestichtagAPIs.deleteBismeldestichtag, { - meldestichtag: this.meldestichtag, - studiensemester_kurzbz: this.currSem + meldestichtag_id: meldestichtag_id }, this.fetchCmptDataFetchedDeleteBismeldestichtag ); @@ -107,21 +106,38 @@ const bismeldestichtagApp = Vue.createApp({ this.handlerBismeldestichtage(); } else - alert("No response data"); + alert("No Studiensemester data"); }, /** * Called after Bismeldestichtage response is received */ fetchCmptDataFetchedBismeldestichtage: function(data) { - console.log(data); if (CoreRESTClient.isError(data)) alert(CoreRESTClient.getError(data)); if (CoreRESTClient.hasData(data)) { - let meldestichtage = CoreRESTClient.getData(data); - this.$refs.bismeldestichtageTable.tabulator.setData(meldestichtage); + // set the Meldestichtagedata + this.$refs.bismeldestichtageTable.tabulator.setData(CoreRESTClient.getData(data)); + + // save delete Bismeldestichtag function + let funcDeleteBismeldestichtag = this.handlerDeleteBismeldestichtag; + + let btns = document.getElementsByClassName('delete-btn'); + + // add click events for deletion + for (let btn in btns) + { + if (btns[btn].addEventListener) + { + btns[btn].addEventListener('click', + function(){ + funcDeleteBismeldestichtag(btns[btn].getAttribute('data-meldestichtag-id')); + } + ); + } + } } else - alert("No response data"); + this.$refs.bismeldestichtageTable.tabulator.setData([]); }, /** * Called after Add Bismeldestichtag response is received diff --git a/public/js/apps/Bismeldestichtag/TabulatorSetup.js b/public/js/apps/Bismeldestichtag/TabulatorSetup.js index d1cc39bcc..333c07865 100644 --- a/public/js/apps/Bismeldestichtag/TabulatorSetup.js +++ b/public/js/apps/Bismeldestichtag/TabulatorSetup.js @@ -27,7 +27,11 @@ export const BismeldestichtagTabulatorOptions = { return cell.getValue().replace(/(.*)-(.*)-(.*)/, '$3.$2.$1'); } }, - {title: 'Studiensemester', field: 'studiensemester_kurzbz', headerFilter: true} + {title: 'Studiensemester', field: 'studiensemester_kurzbz', headerFilter: true}, + {title: 'Löschen', field: 'meldestichtag_id', headerFilter: false, formatter:function(cell){ + return ''; + } + } ] }; @@ -38,8 +42,11 @@ export const BismeldestichtagTabulatorEventHandlers = [ { event: "rowClick", handler: function(e, row) { - let data = row.getData(); - alert(data.Studiensemester + ': ' + data.Meldestichtag); + if (e.target.nodeName == 'DIV') + { + let data = row.getData(); + alert(data.studiensemester_kurzbz + ': ' + data.meldestichtag_id); + } } } ];