Fix select-all behavior for experiment table [SCI-7815]

This commit is contained in:
sboursen-scinote 2023-02-17 12:39:04 +01:00
parent b5c8879e57
commit ed9aab8ee9

View file

@ -105,7 +105,7 @@
if (viewContainer.find('.no-results-container').length) {
viewContainer.addClass('no-results');
}
selectedExperiments.length = 0;
selectedExperiments = [];
updateExperimentsToolbar();
loadExperimentWorkflowImages();
@ -126,6 +126,9 @@
},
error: function() {
viewContainer.html('Error loading project list');
},
complete: function() {
updateSelectAllCheckbox();
}
});
}
@ -205,6 +208,22 @@
});
}
function updateSelectAllCheckbox() {
const tableWrapper = $(cardsWrapper);
const checkboxesCount = $('.sci-checkbox.experiment-card-selector', tableWrapper).length;
const selectedCheckboxesCount = selectedExperiments.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);
}
}
function initExperimentsSelector() {
$(cardsWrapper).on('click', '.experiment-card-selector', function() {
let card = $(this).closest('.experiment-card');
@ -222,6 +241,8 @@
selectedExperiments.splice(index, 1);
}
updateSelectAllCheckbox();
if (this.checked) {
$.get(card.data('permissions-url'), function(result) {
PERMISSIONS.forEach((permission) => {
@ -275,7 +296,7 @@
modal.on('hidden.bs.modal', function() {
$(this).remove();
});
validateMoveModal(modal)
validateMoveModal(modal);
}
function validateMoveModal(modal) {