mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-02-20 22:03:03 +08:00
Fix the behavior of the select-all checkbox in projects table [SCI-7815]
This commit is contained in:
parent
9dd5c4d024
commit
b5c8879e57
1 changed files with 20 additions and 0 deletions
|
@ -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) => {
|
||||
|
|
Loading…
Reference in a new issue