diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.ts index 984bec575e..9e5f2c22e1 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.ts @@ -130,6 +130,14 @@ export class DsoEditMetadataValue { isReinstatable(): boolean { return hasValue(this.reinstatableValue) || hasValue(this.reinstatableChange); } + + /** + * Reset the state of the re-instatable properties + */ + resetReinstatable() { + this.reinstatableValue = undefined; + this.reinstatableChange = undefined; + } } /** @@ -242,6 +250,7 @@ export class DsoEditMetadataForm { * undone afterwards */ discard(): void { + this.resetReinstatable(); Object.entries(this.fields).forEach(([field, values]) => { let removeFromIndex = -1; values.forEach((value, index) => { @@ -293,6 +302,18 @@ export class DsoEditMetadataForm { .some((value) => value.isReinstatable())); } + /** + * Reset the state of the re-instatable properties and values + */ + resetReinstatable() { + this.reinstatableNewValues = {}; + Object.values(this.fields).forEach((values) => { + values.forEach((value) => { + value.resetReinstatable(); + }); + }); + } + /** * Get the json PATCH operations for the current changes within this form */ diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.html b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.html index 7578f2ec99..9664fd4d93 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.html +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.html @@ -43,19 +43,19 @@