1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 08:13:42 +00:00

[PM-9111] Extension: persist add/edit form (#12236)

* remove todo

* Retrieve cache cipher for add-edit form

* user prefilled cipher for add-edit form

* add listener for clearing view cache

* clear local cache when clearing global state

* track initial value of cache for down stream logic that should only occur on non-cached values

* add feature flag for edit form persistence

* add tests for cipher form cache service

* fix optional initialValues

* add services to cipher form storybook

* fix strict types

* rename variables to be platform agnostic

* use deconstructed collectionIds variable to avoid them be overwritten

* use the originalCipherView for initial values

* add comment about signal equality

* prevent events from being emitted when adding uris to the existing form

- This stops other values from being overwrote in the initialization process

* add check for cached cipher when adding initial uris
This commit is contained in:
Nick Krantz
2025-01-22 10:49:07 -06:00
committed by GitHub
parent 1dfae06856
commit 5c32e5020d
22 changed files with 460 additions and 139 deletions

View File

@@ -113,8 +113,10 @@ export class IdentitySectionComponent implements OnInit {
this.identityForm.disable();
}
if (this.originalCipherView && this.originalCipherView.id) {
this.populateFormData();
const prefillCipher = this.cipherFormContainer.getInitialCipherView();
if (prefillCipher) {
this.populateFormData(prefillCipher);
} else {
this.identityForm.patchValue({
username: this.cipherFormContainer.config.initialValues?.username || "",
@@ -122,8 +124,9 @@ export class IdentitySectionComponent implements OnInit {
}
}
populateFormData() {
const { identity } = this.originalCipherView;
populateFormData(cipherView: CipherView) {
const { identity } = cipherView;
this.identityForm.setValue({
title: identity.title,
firstName: identity.firstName,