From 05e9d948eab5696a1722ad247cef12c8f7f96377 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Wed, 6 May 2026 17:18:35 +0200 Subject: [PATCH] deselect filtered rows; --- .../Cis/Abgabetool/AbgabetoolAssistenz.js | 33 ++++++++++++++++--- public/js/helpers/EmailHelpers.js | 1 - 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/public/js/components/Cis/Abgabetool/AbgabetoolAssistenz.js b/public/js/components/Cis/Abgabetool/AbgabetoolAssistenz.js index f545201b0..1730d8fe7 100644 --- a/public/js/components/Cis/Abgabetool/AbgabetoolAssistenz.js +++ b/public/js/components/Cis/Abgabetool/AbgabetoolAssistenz.js @@ -64,6 +64,7 @@ export const AbgabetoolAssistenz = { filteredcountFlat: 0, selectedcountFlat: 0, filteredRows: null, + filteredRowsFlat: null, studiensemesterOptions: null, allSem: null, curSem: null, @@ -308,8 +309,20 @@ export const AbgabetoolAssistenz = { { event: 'dataFiltered', handler: (filters, rows) => { - this.filteredRows = rows - this.filteredcount = rows.length + this.filteredRows = rows; + this.filteredcount = rows.length; + + if (!this.selectedData.length) return; + + const visibleData = new Set(rows.map(r => r.getData())); + const filteredOut = this.selectedData.filter(sd => !visibleData.has(sd)); + + if (!filteredOut.length) return; + + const filteredOutSet = new Set(filteredOut); + this.$refs.abgabeTable.tabulator.getSelectedRows() + .filter(r => filteredOutSet.has(r.getData())) + .forEach(r => r.deselect()); } } ], @@ -495,8 +508,20 @@ export const AbgabetoolAssistenz = { { event: 'dataFiltered', handler: (filters, rows) => { - this.filteredRowsFlat = rows - this.filteredcountFlat = rows.length + this.filteredRowsFlat = rows; + this.filteredcountFlat = rows.length; + + if (!this.selectedDataFlat.length) return; + + const visibleData = new Set(rows.map(r => r.getData())); + const filteredOut = this.selectedDataFlat.filter(sd => !visibleData.has(sd)); + + if (!filteredOut.length) return; + + const filteredOutSet = new Set(filteredOut); + this.$refs.abgabeTableFlat.tabulator.getSelectedRows() + .filter(r => filteredOutSet.has(r.getData())) + .forEach(r => r.deselect()); } } ] diff --git a/public/js/helpers/EmailHelpers.js b/public/js/helpers/EmailHelpers.js index 9003d2c55..207f4d6c2 100644 --- a/public/js/helpers/EmailHelpers.js +++ b/public/js/helpers/EmailHelpers.js @@ -13,7 +13,6 @@ export async function splitMailsHelper(mails, event, subject, body, alertPluginR { await alertPluginRef.alertWarning(phrasenPluginRef.t('ui', 'bodyZuLang')); encodedBody = null; - bodylength = 0; overhead = subjectlength; }