Bug 33484: External filter into state - support checkboxes

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Jonathan Druart 2024-10-17 15:24:24 +02:00 committed by Katrin Fischer
parent b719bfb6bd
commit 8bbfab31e0
No known key found for this signature in database
GPG Key ID: 0EF6E2C03357A834
1 changed files with 29 additions and 2 deletions

View File

@ -1014,7 +1014,19 @@ function _dt_save_restore_state(table_settings, external_filter_nodes={}){
// but only the main one has the table settings (and so the state saved)
data.external_filters = Object.keys(external_filter_nodes).reduce(
(r, k) => {
r[k] = $(external_filter_nodes[k]).val();
let node = $(external_filter_nodes[k]);
let tag_name = node.prop("tagName");
if (tag_name == "INPUT" && node.prop("type") == "checkbox") {
r[k] = $(external_filter_nodes[k]).prop("checked");
} else if (tag_name == "INPUT" || tag_name == "SELECT") {
r[k] = $(external_filter_nodes[k]).val();
} else {
console.log(
"Tag '%s' not supported yet for DT state".format(
tag_name
)
);
}
return r;
},
{}
@ -1026,7 +1038,22 @@ function _dt_save_restore_state(table_settings, external_filter_nodes={}){
if (data.external_filters) {
Object.keys(external_filter_nodes).forEach((k, i) => {
if (data.external_filters.hasOwnProperty(k)) {
$(external_filter_nodes[k]).val(data.external_filters[k]);
let node = $(external_filter_nodes[k]);
let tag_name = node.prop("tagName");
if (
tag_name == "INPUT" &&
node.prop("type") == "checkbox"
) {
node.prop("checked", data.external_filters[k]);
} else if (tag_name == "INPUT" || tag_name == "SELECT") {
node.val(data.external_filters[k]);
} else {
console.log(
"Tag '%s' not supported yet for DT state".format(
tag_name
)
);
}
}
});
}