From eb357012803400eac5518c9e609ba42ffe3eb9f4 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Thu, 12 Jun 2025 11:32:31 +0200 Subject: [PATCH] Tab Gruppen: rewrite inital filter and watcher for working in firefox --- .../Details/Gruppen/Gruppen.js | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Gruppen/Gruppen.js b/public/js/components/Stv/Studentenverwaltung/Details/Gruppen/Gruppen.js index 67f422efb..4ecf26d6e 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Gruppen/Gruppen.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Gruppen/Gruppen.js @@ -23,13 +23,19 @@ export default { ApiStvGroups.getGruppen(this.student.uid) ), ajaxResponse: (url, params, response) => response.data, - initialFilter: [ - {field: "uid", type: "=", value: this.student.uid}, - [ - {field: "studiensemester_kurzbz", type: "=", value: this.currentSemester}, - {field: "studiensemester_kurzbz", type: "=", value: null} + initialFilter: { + logic: "and", + filters: [ + { field: "uid", operator: "eq", value: this.student.uid }, + { + logic: "or", + filters: [ + { field: "studiensemester_kurzbz", operator: "eq", value: null }, + { field: "studiensemester_kurzbz", operator: "eq", value: this.currentSemester } + ] + } ] - ], + }, columns: [ {title: "Gruppe", field: "gruppe_kurzbz"}, {title: "Bezeichnung", field: "bezeichnung"}, @@ -146,18 +152,17 @@ export default { watch: { currentSemester(newVal) { if (newVal) { - this.$refs.table.tabulator.clearFilter(); // Clear old filters - this.$refs.table.tabulator.setFilter([ - {field: "uid", type: "=", value: this.student.uid}, - [ - {field: "studiensemester_kurzbz", type: "=", value: newVal}, - {field: "studiensemester_kurzbz", type: "=", value: null} - ] - ]); - - + this.$refs.table.tabulator.setFilter((data) => { + return ( + data.uid === this.student.uid && + ( + data.studiensemester_kurzbz === newVal || + data.studiensemester_kurzbz === null + ) + ); + }); } }, student() {