From 73697c996fb9b036bfe5fe051fb83f7eb8f6f6ca Mon Sep 17 00:00:00 2001 From: jaasen-livefront Date: Thu, 24 Jul 2025 12:01:17 -0700 Subject: [PATCH] clear selection after bulk delete, move, or restore --- .../vault/components/vault-items/vault-items.component.ts | 4 ++++ apps/web/src/app/vault/individual-vault/vault.component.ts | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/apps/web/src/app/vault/components/vault-items/vault-items.component.ts b/apps/web/src/app/vault/components/vault-items/vault-items.component.ts index 79ba9a6d2e1..b2395667e07 100644 --- a/apps/web/src/app/vault/components/vault-items/vault-items.component.ts +++ b/apps/web/src/app/vault/components/vault-items/vault-items.component.ts @@ -217,6 +217,10 @@ export class VaultItemsComponent { return this.showBulkAddToCollections && this.ciphers.length > 0; } + clearSelection() { + this.selection.clear(); + } + protected canEditCollection(collection: CollectionView): boolean { // Only allow allow deletion if collection editing is enabled and not deleting "Unassigned" if (collection.id === Unassigned) { diff --git a/apps/web/src/app/vault/individual-vault/vault.component.ts b/apps/web/src/app/vault/individual-vault/vault.component.ts index c8c2f681bb4..6c987a85cc0 100644 --- a/apps/web/src/app/vault/individual-vault/vault.component.ts +++ b/apps/web/src/app/vault/individual-vault/vault.component.ts @@ -108,6 +108,7 @@ import { } from "../components/vault-item-dialog/vault-item-dialog.component"; import { VaultItem } from "../components/vault-items/vault-item"; import { VaultItemEvent } from "../components/vault-items/vault-item-event"; +import { VaultItemsComponent } from "../components/vault-items/vault-items.component"; import { VaultItemsModule } from "../components/vault-items/vault-items.module"; import { @@ -156,6 +157,7 @@ const SearchTextDebounceInterval = 200; }) export class VaultComponent implements OnInit, OnDestroy { @ViewChild("vaultFilter", { static: true }) filterComponent: VaultFilterComponent; + @ViewChild(VaultItemsComponent) vaultItemsComponent: VaultItemsComponent; trashCleanupWarning: string = null; kdfIterations: number; @@ -1070,6 +1072,7 @@ export class VaultComponent implements OnInit, OnDestr message: this.i18nService.t("restoredItems"), }); this.refresh(); + this.vaultItemsComponent?.clearSelection(); } private async handleDeleteEvent(items: VaultItem[]) { @@ -1162,6 +1165,7 @@ export class VaultComponent implements OnInit, OnDestr const result = await lastValueFrom(dialog.closed); if (result === BulkDeleteDialogResult.Deleted) { + this.vaultItemsComponent?.clearSelection(); this.refresh(); } } @@ -1187,6 +1191,7 @@ export class VaultComponent implements OnInit, OnDestr const result = await lastValueFrom(dialog.closed); if (result === BulkMoveDialogResult.Moved) { + this.vaultItemsComponent?.clearSelection(); this.refresh(); } }