1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-10 21:33:27 +00:00

[PM-8485] [PM-7683] Dynamic list items - Org Details (#9466)

* [PM-7683] Add fullAddressForCopy helper to identity.view

* [PM-7683] Introduce CopyCipherFieldService to the Vault library

- A new CopyCipherFieldService that can be used to copy a cipher's field to the user clipboard
- A new appCopyField directive to make it easy to copy a cipher's fields in templates
- Tests for the CopyCipherFieldService

* [PM-7683] Introduce item-copy-actions.component

* [PM-7683] Fix username value in copy cipher directive

* [PM-7683] Add title to View item link

* [PM-8456] Introduce initial item-more-options.component

* [PM-8456] Add logic to show/hide login menu options

* [PM-8456] Implement favorite/unfavorite menu option

* [PM-8456] Implement clone menu option

* [PM-8456] Hide launch website instead of disabling it

* [PM-8456] Ensure cipherList observable updates on cipher changes

* [PM-7683] Move disabled logic into own method

* [PM-8456] Cleanup spec file to use Angular testbed

* [PM-8456] Fix more options tooltip

* [PM-8485] Introduce new PopupCipherView

* [PM-8485] Use new PopupCipherView in items service

* [PM-8485] Add org icon for items that belong to an organization

* [PM-8485] Fix tests

* [PM-8485] Remove share operator from cipherViews$
This commit is contained in:
Shane Melton
2024-06-04 14:34:48 -07:00
committed by GitHub
parent d0c1325f0c
commit f059d136b2
8 changed files with 156 additions and 26 deletions

View File

@@ -1,4 +1,4 @@
import { firstValueFrom, map, Observable, share, skipWhile, switchMap } from "rxjs";
import { firstValueFrom, map, Observable, skipWhile, switchMap } from "rxjs";
import { SemVer } from "semver";
import { ApiService } from "../../abstractions/api.service";
@@ -125,13 +125,7 @@ export class CipherService implements CipherServiceAbstraction {
switchMap(() => this.encryptedCiphersState.state$),
map((ciphers) => ciphers ?? {}),
);
this.cipherViews$ = this.decryptedCiphersState.state$.pipe(
map((views) => views ?? {}),
share({
resetOnRefCountZero: true,
}),
);
this.cipherViews$ = this.decryptedCiphersState.state$.pipe(map((views) => views ?? {}));
this.addEditCipherInfo$ = this.addEditCipherInfoState.state$;
}