The variables `allRowsSelected` and `selectedRows` were sometimes getting out-of-sync.
This adds a function to help ensure they both get updated at the same time when the selection needs to be cleared.
this.refreshAll = function() {
ctrl.stale = true;
- ctrl.selectedRows.length = 0;
+ clearSelection();
loadResults();
};
function onChangeFilters() {
ctrl.stale = true;
- ctrl.selectedRows.length = 0;
+ clearSelection();
if (ctrl.autoSearch) {
ctrl.refreshAll();
}
}
+ function clearSelection() {
+ ctrl.allRowsSelected = false;
+ ctrl.selectedRows.length = 0;
+ }
+
$scope.selectAllRows = function() {
// Deselect all
if (ctrl.allRowsSelected) {
- ctrl.allRowsSelected = false;
- ctrl.selectedRows.length = 0;
+ clearSelection();
return;
}
// Select all