From 804b68e1c3fe57ba68dc87a7396b6a457292e161 Mon Sep 17 00:00:00 2001
From: Eugen Neuber <eugen.neuber@tugraz.at>
Date: Wed, 14 Dec 2022 17:01:19 +0100
Subject: [PATCH] Fix element with id "select_all" not found

---
 .../tabulator-table/src/tabulator-table.js     | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/packages/tabulator-table/src/tabulator-table.js b/packages/tabulator-table/src/tabulator-table.js
index 2af016bd..169652d5 100644
--- a/packages/tabulator-table/src/tabulator-table.js
+++ b/packages/tabulator-table/src/tabulator-table.js
@@ -145,10 +145,11 @@ export class TabulatorTable extends ScopedElementsMixin(DBPLitElement) {
 
                     if (allSelected) {
                         this.tabulatorTable.deselectRow();
-                        this._('#select_all').checked = false;
                     } else {
                         this.tabulatorTable.selectRow("visible");
-                        this._('#select_all').checked = true;
+                    }
+                    if (this._('#select_all')) {
+                        this._('#select_all').checked = !allSelected;
                     }
                     e.preventDefault();
                 },
@@ -157,13 +158,11 @@ export class TabulatorTable extends ScopedElementsMixin(DBPLitElement) {
     }
 
     rowClickFunction(e, row) {
-        if (this.tabulatorTable !== null &&
-            this.tabulatorTable.getSelectedRows().length ===
-            this.tabulatorTable.getRows("visible").length) {
-            this._('#select_all').checked = true;
-        } else {
-            this._('#select_all').checked = false;
-        }
+        if (!this._('#select_all') || !this.tabulatorTable)
+            return;
+
+        const check = this.tabulatorTable.getSelectedRows().length === this.tabulatorTable.getRows("visible").length;
+        this._('#select_all').checked = check;
     }
 
     /**
@@ -195,6 +194,7 @@ export class TabulatorTable extends ScopedElementsMixin(DBPLitElement) {
     setData(data) {
         if (!this.tabulatorTable)
             return;
+
         this.data = data;
         this.tabulatorTable.setData(this.data);
     }
-- 
GitLab