From a08c9776cb59a60456408c2b1f15320a7c8aa7f6 Mon Sep 17 00:00:00 2001 From: aj-bw <81774843+aj-bw@users.noreply.github.com> Date: Thu, 14 Nov 2024 10:05:43 -0500 Subject: [PATCH] PM-14914/ssh-key-item-type-filtering-web (#11990) --- .../vault-filter/components/vault-filter.component.ts | 3 +++ .../vault-filter/services/vault-filter.service.ts | 6 ++++++ .../vault-filter/shared/models/filter-function.ts | 3 +++ .../shared/models/routed-vault-filter.model.ts | 11 ++++++++++- 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/apps/web/src/app/vault/individual-vault/vault-filter/components/vault-filter.component.ts b/apps/web/src/app/vault/individual-vault/vault-filter/components/vault-filter.component.ts index 09a7356c452..2f8a429e42e 100644 --- a/apps/web/src/app/vault/individual-vault/vault-filter/components/vault-filter.component.ts +++ b/apps/web/src/app/vault/individual-vault/vault-filter/components/vault-filter.component.ts @@ -68,6 +68,9 @@ export class VaultFilterComponent implements OnInit, OnDestroy { if (this.activeFilter.cipherType === CipherType.SecureNote) { return "searchSecureNote"; } + if (this.activeFilter.cipherType === CipherType.SshKey) { + return "searchSshKey"; + } if (this.activeFilter.selectedFolderNode?.node) { return "searchFolder"; } diff --git a/apps/web/src/app/vault/individual-vault/vault-filter/services/vault-filter.service.ts b/apps/web/src/app/vault/individual-vault/vault-filter/services/vault-filter.service.ts index 043ba2dcd2f..7310a6aecec 100644 --- a/apps/web/src/app/vault/individual-vault/vault-filter/services/vault-filter.service.ts +++ b/apps/web/src/app/vault/individual-vault/vault-filter/services/vault-filter.service.ts @@ -306,6 +306,12 @@ export class VaultFilterService implements VaultFilterServiceAbstraction { type: CipherType.SecureNote, icon: "bwi-sticky-note", }, + { + id: "sshKey", + name: this.i18nService.t("typeSshKey"), + type: CipherType.SshKey, + icon: "bwi-key", + }, ]; return this.buildTypeTree( diff --git a/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/filter-function.ts b/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/filter-function.ts index 4b038512581..a39918df4a7 100644 --- a/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/filter-function.ts +++ b/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/filter-function.ts @@ -23,6 +23,9 @@ export function createFilterFunction(filter: RoutedVaultFilterModel): FilterFunc if (filter.type === "note" && cipher.type !== CipherType.SecureNote) { return false; } + if (filter.type === "sshKey" && cipher.type !== CipherType.SshKey) { + return false; + } if (filter.type === "trash" && !cipher.isDeleted) { return false; } diff --git a/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/routed-vault-filter.model.ts b/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/routed-vault-filter.model.ts index 4f2659d6101..866ba1d9848 100644 --- a/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/routed-vault-filter.model.ts +++ b/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/routed-vault-filter.model.ts @@ -1,7 +1,16 @@ export const All = "all"; // TODO: Remove `All` when moving to vertical navigation. -const itemTypes = ["favorites", "login", "card", "identity", "note", "trash", All] as const; +const itemTypes = [ + "favorites", + "login", + "card", + "identity", + "note", + "sshKey", + "trash", + All, +] as const; export type RoutedVaultFilterItemType = (typeof itemTypes)[number];