Fix the behavior of the select-all checkbox in projects table [SCI-7815]

This commit is contained in:
sboursen-scinote 2023-02-17 09:18:32 +01:00
parent 9dd5c4d024
commit b5c8879e57

View file

@ -634,6 +634,23 @@ var ProjectsIndex = (function() {
});
}
function updateSelectAllCheckbox() {
const tableWrapper = $(cardsWrapper);
const checkboxesCount = $('.sci-checkbox.folder-card-selector, .sci-checkbox.project-card-selector',
tableWrapper).length;
const selectedCheckboxesCount = selectedProjects.length + selectedProjectFolders.length;
const selectAllCheckbox = $('.sci-checkbox.select-all', tableWrapper);
selectAllCheckbox.prop('indeterminate', false);
if (selectedCheckboxesCount === 0) {
selectAllCheckbox.prop('checked', false);
} else if (selectedCheckboxesCount === checkboxesCount) {
selectAllCheckbox.prop('checked', true);
} else {
selectAllCheckbox.prop('indeterminate', true);
}
}
/**
* Initializes cards view
*/
@ -672,6 +689,7 @@ var ProjectsIndex = (function() {
selectedProjectFolders.splice(index, 1);
}
updateSelectAllCheckbox();
updateProjectsToolbar();
});
@ -691,6 +709,8 @@ var ProjectsIndex = (function() {
selectedProjects.splice(index, 1);
}
updateSelectAllCheckbox();
if (this.checked) {
$.get(projectCard.data('permissions-url'), function(result) {
PERMISSIONS.forEach((permission) => {