select all on helm releases now selects all or none (toggles) (#4742)

* select all on helm releases now selects all (or none if all were already selected)

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* Fix isSelectedAll when no items are visibile

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Co-authored-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Jim EhrismannandSebastian Malton authored and GitHub committed 2022-02-01 08:05:45 +02:00
1 parent a0f474a676
commit 4ec36a154d
1 file changed
+17 -5
@@ -109,11 +109,23 @@ class NonInjectedHelmReleases extends Component<Dependencies & Props> {
item.toggle();
},
isSelectedAll: () =>
releases.get().every((release) => release.isSelected),
isSelectedAll: (visibleItems: RemovableHelmRelease[]) => (
visibleItems.length > 0
&& visibleItems.every((release) => release.isSelected)
),
toggleSelectionAll: () => {
releases.get().forEach((release) => release.toggle());
toggleSelectionAll: (visibleItems: RemovableHelmRelease[]) => {
let selected = false;
if (!legacyReleaseStore.isSelectedAll(visibleItems)) {
selected = true;
}
visibleItems.forEach((release) => {
if (release.isSelected !== selected) {
release.toggle();
}
});
},
isSelected: (item) => item.isSelected,
@@ -197,7 +209,7 @@ class NonInjectedHelmReleases extends Component<Dependencies & Props> {
})}
onDetails={this.onDetails}
/>
<ReleaseDetails
hideDetails={this.hideDetails}
/>