From e6acff6c61c5aef4e71fbbaf9d8a14ffcab8f3fe Mon Sep 17 00:00:00 2001 From: Jim Ehrismann Date: Mon, 24 Jan 2022 16:44:22 -0500 Subject: [PATCH] select all on helm releases now selects all (or none if all were already selected) Signed-off-by: Jim Ehrismann --- .../components/+apps-releases/releases.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/renderer/components/+apps-releases/releases.tsx b/src/renderer/components/+apps-releases/releases.tsx index a71cc8e7a1..4a98d211b5 100644 --- a/src/renderer/components/+apps-releases/releases.tsx +++ b/src/renderer/components/+apps-releases/releases.tsx @@ -112,11 +112,21 @@ class NonInjectedHelmReleases extends Component { item.toggle(); }, - isSelectedAll: () => - releases.get().every((release) => release.isSelected), + isSelectedAll: (visibleItems: RemovableHelmRelease[]) => + 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,