From 3cb17f4edfd31e360bf9213cb8dc6cae503decf1 Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 27 Dec 2024 14:31:43 +0300 Subject: [PATCH 1/3] Reset search when checking/unchecking all permissions --- .../permission-management-modal.js | 49 +++++++++++-------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/permission-management-modal.js b/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/permission-management-modal.js index 9f97800cbc..f783e944b8 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/permission-management-modal.js +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Pages/AbpPermissionManagement/permission-management-modal.js @@ -4,7 +4,7 @@ var abp = abp || {}; abp.modals.PermissionManagement = function () { var l = abp.localization.getResource("AbpPermissionManagement"); - + function checkParents($tab, $checkBox) { var parentName = $checkBox .closest('.custom-checkbox') @@ -155,6 +155,7 @@ var abp = abp || {}; } function setSelectAllInAllTabs() { + var $checkBox = $('#SelectAllInAllTabs'); var anyIndeterminate = false; @@ -237,7 +238,7 @@ var abp = abp || {}; $('input[name="SelectAllInThisTab"]').each(function () { var $this = $(this); - if($this.is(':indeterminate') === true) { + if ($this.is(':indeterminate') === true) { $this.prop('indeterminate', false); $this.prop('checked', true); } @@ -268,14 +269,14 @@ var abp = abp || {}; var $form = $("#PermissionManagementForm"); var $submitButton = $form.find("button[type='submit']"); - if($submitButton) { + if ($submitButton) { $submitButton.click(function (e) { e.preventDefault(); - - if(!$form.find("input:checked").length > 0) { + + if (!$form.find("input:checked").length > 0) { abp.message.confirm(l("SaveWithoutAnyPermissionsWarningMessage")) .then(function (confirmed) { - if(confirmed) { + if (confirmed) { $form.submit(); } }); @@ -285,18 +286,24 @@ var abp = abp || {}; } }); } - - $permissionSearchInput = $('#permission-search'); - $permissionSearchInput.keyup(throttle(function() { + var $permissionSearchInput = $('#permission-search'); + + $permissionSearchInput.keyup(throttle(function () { var searchTerm = $permissionSearchInput.val().toLowerCase(); filterTabs(searchTerm); setFirstVisibleTabActive(); }, 300)); + $('#SelectAllInAllTabs').change(function () { + // Reset search input + $permissionSearchInput.val(''); + $permissionSearchInput.trigger('keyup'); + }); + function filterTabs(searchTerm) { var $tabs = $('#PermissionsTabs .nav-link'); - $tabs.each(function(i) { + $tabs.each(function (i) { var $tabItem = $(this); var $tab = $tabItem.parent(); @@ -309,7 +316,7 @@ var abp = abp || {}; var tabContentFilters = $($tabItem.attr('href')).find('[data-filter-text]'); let includedInTabContent = false; - tabContentFilters.each(function(i) { + tabContentFilters.each(function (i) { var permissionName = $(this).attr('data-filter-text').toLowerCase(); includedInTabContent = permissionName.includes(searchTerm); if (includedInTabContent === true) { @@ -317,7 +324,7 @@ var abp = abp || {}; } }); - if(includedInTabContent || tabName.includes(searchTerm)) { + if (includedInTabContent || tabName.includes(searchTerm)) { $tab.show(); } else { $tab.hide(); @@ -332,24 +339,24 @@ var abp = abp || {}; var $firstVisibleTab = $tabs.filter(':visible').first(); $tabs.removeClass('active'); $firstVisibleTab.addClass('active'); - + var $firstVisibleTabContent = $($firstVisibleTab.attr('href')); $firstVisibleTabContent.addClass('active show'); } function throttle(mainFunction, delay) { let timerFlag = null; // Variable to keep track of the timer - + // Returning a throttled version return (...args) => { - if (timerFlag === null) { // If there is no timer currently running - mainFunction(...args); // Execute the main function - timerFlag = setTimeout(() => { // Set a timer to clear the timerFlag after the specified delay - timerFlag = null; // Clear the timerFlag to allow the main function to be executed again - }, delay); - } + if (timerFlag === null) { // If there is no timer currently running + mainFunction(...args); // Execute the main function + timerFlag = setTimeout(() => { // Set a timer to clear the timerFlag after the specified delay + timerFlag = null; // Clear the timerFlag to allow the main function to be executed again + }, delay); + } }; - } + } }; }; From 0e87dbb66812040ce4db4cc5107c561dcf676a54 Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 27 Dec 2024 14:34:05 +0300 Subject: [PATCH 2/3] Reset search when checking/unchecking all permissions for Blazor --- .../Components/PermissionManagementModal.razor.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs index a0b7de8c07..4048e46e6c 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs @@ -55,6 +55,7 @@ public partial class PermissionManagementModal _grantedPermissionCount = 0; _notGrantedPermissionCount = 0; + _permissionGroupSearchText = null; foreach (var permission in _groups.SelectMany(x => x.Permissions)) { From f02ea43f406dc9c31089ffcaecdc6da7af87db42 Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 27 Dec 2024 14:51:58 +0300 Subject: [PATCH 3/3] Toggle all groups of permission when clicked on Blazor --- .../Components/PermissionManagementModal.razor.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs index 4048e46e6c..b2c998eb4f 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor.cs @@ -55,9 +55,9 @@ public partial class PermissionManagementModal _grantedPermissionCount = 0; _notGrantedPermissionCount = 0; - _permissionGroupSearchText = null; + Task.Run(()=>OnPermissionGroupSearchTextChangedAsync(null)); - foreach (var permission in _groups.SelectMany(x => x.Permissions)) + foreach (var permission in _allGroups.SelectMany(x => x.Permissions)) { if (!IsDisabledPermission(permission)) {