1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-11 22:03:36 +00:00

[PM-24304][PM-24305] - [Defect] Some fields are not disabled when editing an item from My Vault (#15982)

* disable all remaining form fields for editing personally owned My Items

* fix failing tests

* ensure collection field is also properly disabled

* clean up logic

* fix failing test

* fix test

* refactor variable to avoid using `is` prefix

* directly reference parent form for status rather than subscribe to it

* refactor subscription for form status changes

* use observable as an Output

* disable attachment button on desktop vault when the form

* disable custom field components when custom fields already exist and parent form is disabled

* disable attachments button in the browser when the edit form is disabled

* grab icon button instance for disabled state

---------

Co-authored-by: Nick Krantz <nick@livefront.com>
This commit is contained in:
Jordan Aasen
2025-08-25 15:48:00 -07:00
committed by GitHub
parent e10d13faa8
commit 9ed69ef4b8
22 changed files with 224 additions and 36 deletions

View File

@@ -115,8 +115,8 @@ export class CipherFormComponent implements AfterViewInit, OnInit, OnChanges, Ci
/**
* Emitted when the form is enabled
*/
private formEnabledSubject = new Subject<void>();
formEnabled$ = this.formEnabledSubject.asObservable();
private formStatusChangeSubject = new Subject<"enabled" | "disabled">();
@Output() formStatusChange$ = this.formStatusChangeSubject.asObservable();
/**
* The original cipher being edited or cloned. Null for add mode.
@@ -158,11 +158,12 @@ export class CipherFormComponent implements AfterViewInit, OnInit, OnChanges, Ci
disableFormFields(): void {
this.cipherForm.disable({ emitEvent: false });
this.formStatusChangeSubject.next("disabled");
}
enableFormFields(): void {
this.cipherForm.enable({ emitEvent: false });
this.formEnabledSubject.next();
this.formStatusChangeSubject.next("enabled");
}
/**