1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-17 00:33:44 +00:00

[PM-8381] Assign collections (#9854)

* initial add of assign collections component

* grab cipherId from query params

* add organization selection for moving a cipher

* add multi-select for collections

* add transfer of cipher to an organization

* temp: do not show assign collections while a cipher already has an organization

* account for initial collections for a cipher

* block assign-collections route with feature flag

* replace hardcoded string with i18n

* separate out async calls to switchMap to avoid async subscribe

* use local cipher rather than decrypting again

* use anchor for better semantics

* migrate form submission to bitSubmit directive

* swap to "assign" rather than "save"

* integrate with base AssignCollections component

* clean up messages file

* remove unneeded takeUntilDestroyed

* remove unneeded bitFormButton

* remove unused translations

* lint fix

* refactor assign-collections component to take in a button reference

- This allows consuming components to not have to worry about loading/disabled states
- The base AssignCollections component will change the submit button when supplied
This commit is contained in:
Nick Krantz
2024-07-18 08:53:53 -05:00
committed by GitHub
parent cebbb9486e
commit 9bfd838da6
10 changed files with 205 additions and 22 deletions

View File

@@ -9,8 +9,7 @@
<div bitDialogContent>
<assign-collections
[params]="params"
(formDisabled)="disabled = $event"
(formLoading)="loading = $event"
[submitBtn]="assignSubmitButton"
(onCollectionAssign)="onCollectionAssign($event)"
(editableItemCountChange)="editableItemCount = $event"
></assign-collections>
@@ -18,8 +17,7 @@
<ng-container bitDialogFooter>
<button
[disabled]="disabled"
[loading]="loading"
#assignSubmitButton
form="assign_collections_form"
type="submit"
bitButton

View File

@@ -17,8 +17,6 @@ import { SharedModule } from "../../../shared";
standalone: true,
})
export class AssignCollectionsWebComponent {
protected loading = false;
protected disabled = false;
protected editableItemCount: number;
constructor(