From 89c1d2872f4fec2c17f8c9a1879421b7a85b40eb Mon Sep 17 00:00:00 2001 From: Philipp Bankonier Date: Fri, 1 Feb 2019 16:10:03 +0100 Subject: [PATCH] Fix behavior of multiselect in list view Hide multiselectaction buttons when selection is resetted after a action is performed Use checked prop instead of attr to show/hide triggered selection when box was clicked by a user before --- ui/scripts/ui/widgets/listView.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/ui/scripts/ui/widgets/listView.js b/ui/scripts/ui/widgets/listView.js index 99f68311d8f3..4a5d2016f1a7 100644 --- a/ui/scripts/ui/widgets/listView.js +++ b/ui/scripts/ui/widgets/listView.js @@ -88,7 +88,9 @@ // Make sure the master checkbox is unselected if (multiSelect) { - $instanceRow.closest('.list-view').find('input.multiSelectMasterCheckbox').attr('checked', false); + var $listView = $instanceRow.closest('.list-view'); + $listView.find('input.multiSelectMasterCheckbox').prop('checked', false); + toggleMultiSelectActions($listView, false); } var externalLinkAction = action.externalLink; @@ -882,15 +884,15 @@ if (multiSelect) { var $th = $('').addClass('multiselect').appendTo($tr); - var content = $('') + var $multiSelectMaster = $('') .attr('type', 'checkbox') - .addClass('multiSelectMasterCheckbox') - .appendTo($th); + .addClass('multiSelectMasterCheckbox'); + $multiSelectMaster.appendTo($th); - content.click(function() { - var checked = $(this).is(':checked'); - $('.multiSelectCheckbox').attr('checked', checked); - toggleMultiSelectActions($table.closest('.list-view'), checked); + $multiSelectMaster.click(function() { + var isMasterChecked = $(this).prop('checked'); + $('.multiSelectCheckbox').prop('checked', isMasterChecked); + toggleMultiSelectActions($table.closest('.list-view'), isMasterChecked); }); }