]> git.koha-community.org Git - koha.git/commit
Bug 38391: Redraw the filters row on table redraw
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 7 Nov 2024 13:16:44 +0000 (14:16 +0100)
committerKatrin Fischer <katrin.fischer@bsz-bw.de>
Fri, 8 Nov 2024 15:09:16 +0000 (16:09 +0100)
commitaf6b0510d7f00fae32f001afb2aaccd9064a9092
tree63ceadf4982534be2a79377ee01d91177cfcbdbe
parent41363ae29c6e37fe7a5eae1961db05a7b422244c
Bug 38391: Redraw the filters row on table redraw

We used to adjust the filters row when the column visibility changed.
It was working, but at the initialization of the table this event if
fired once per columns. On the items table it means 36x.
When a filtering/sorting, the draw event is triggered once, but the
column-visibility.dt is called 36x

Test plan:
Try with and without this patch and compare the delay between the query
is received and the page is redrawn.

You can test with 1000 libraries on the items table.
"Show filters" then filters using the global search.
On Firefox you will notice that the response is received but the table
not redrawn directly.
With this patch it should be redrawn pretty fase.

Another test would be to add the following 2 lines:
+        let i = 0;
         table_dt.on("draw", function(){
+            console.log("redraw filters %s".format(i));
             if ( add_filters ) {
                 _dt_add_filters(this, table_dt, filters_options);
             }

Open the console and notice that "redraw filters" is logged only once.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
koha-tmpl/intranet-tmpl/prog/js/datatables.js
koha-tmpl/intranet-tmpl/prog/js/vue/components/KohaTable.vue