From 97fe1e3abbaf0d25f38161d3061dba03416f9765 Mon Sep 17 00:00:00 2001
From: Florent POITTEVIN <poittevin.florent@gmail.com>
Date: Tue, 23 Mar 2021 11:11:26 +0100
Subject: [PATCH] fix: 320 removing validation rules from an user does not
 enable the save button

- fix other form array remove item that don't propagte the change
---
 .../deposit-table-contributor.container.ts                       | 1 +
 ...deposit-form-description-academic-structure.presentational.ts | 1 +
 .../deposit-form-description-classification.presentational.ts    | 1 +
 .../deposit-form-description-collection.presentational.ts        | 1 +
 .../deposit-form-description-dois.presentational.ts              | 1 +
 .../deposit-form-description-funding.presentational.ts           | 1 +
 .../deposit-form-description-group.presentational.ts             | 1 +
 .../deposit-form-description-link.presentational.ts              | 1 +
 ...deposit-form-description-text-language-list.presentational.ts | 1 +
 .../shared-table-person-structure-sub-type.container.ts          | 1 +
 10 files changed, 10 insertions(+)

diff --git a/src/app/features/deposit/components/containers/deposit-table-contributor/deposit-table-contributor.container.ts b/src/app/features/deposit/components/containers/deposit-table-contributor/deposit-table-contributor.container.ts
index 59e8ace98..df9c08537 100644
--- a/src/app/features/deposit/components/containers/deposit-table-contributor/deposit-table-contributor.container.ts
+++ b/src/app/features/deposit/components/containers/deposit-table-contributor/deposit-table-contributor.container.ts
@@ -443,6 +443,7 @@ export class DepositTableContributorContainer extends SharedAbstractContainer im
 
   delete(index: number): void {
     this.formArray.removeAt(index);
+    this.formArray.markAsDirty();
   }
 
   confirmCollaboratorUnige(searchContributorInfos: SearchContributorInfos, formGroup: FormGroup): void {
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-academic-structure/deposit-form-description-academic-structure.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form-description-academic-structure/deposit-form-description-academic-structure.presentational.ts
index ac634278b..91e7bff54 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-academic-structure/deposit-form-description-academic-structure.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-academic-structure/deposit-form-description-academic-structure.presentational.ts
@@ -216,6 +216,7 @@ export class DepositFormDescriptionAcademicStructurePresentational extends Share
     const index = (this.formArray.value as DepositFormAcademicStructure[]).findIndex(s => s.code === code);
     if (index !== -1) {
       this.formArray.removeAt(index);
+      this.formArray.markAsDirty();
     }
   }
 
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-classification/deposit-form-description-classification.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form-description-classification/deposit-form-description-classification.presentational.ts
index 6bdc94ac2..93c141ade 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-classification/deposit-form-description-classification.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-classification/deposit-form-description-classification.presentational.ts
@@ -135,5 +135,6 @@ export class DepositFormDescriptionClassificationPresentational extends SharedAb
 
   remove(index: number): void {
     this.formArray.removeAt(index);
+    this.formArray.markAsDirty();
   }
 }
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-collection/deposit-form-description-collection.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form-description-collection/deposit-form-description-collection.presentational.ts
index 16b878698..b86964ee2 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-collection/deposit-form-description-collection.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-collection/deposit-form-description-collection.presentational.ts
@@ -131,5 +131,6 @@ export class DepositFormDescriptionCollectionPresentational extends SharedAbstra
 
   remove(index: number): void {
     this.formArray.removeAt(index);
+    this.formArray.markAsDirty();
   }
 }
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-dois/deposit-form-description-dois.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form-description-dois/deposit-form-description-dois.presentational.ts
index 677845497..807e57d36 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-dois/deposit-form-description-dois.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-dois/deposit-form-description-dois.presentational.ts
@@ -120,6 +120,7 @@ export class DepositFormDescriptionDoisPresentational extends SharedAbstractPres
 
   remove(index: number): void {
     this.formArray.removeAt(index);
+    this.formArray.markAsDirty();
   }
 
   static createDoi(_fb: FormBuilder,
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-funding/deposit-form-description-funding.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form-description-funding/deposit-form-description-funding.presentational.ts
index c8a1d168f..f12c469a8 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-funding/deposit-form-description-funding.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-funding/deposit-form-description-funding.presentational.ts
@@ -133,5 +133,6 @@ export class DepositFormDescriptionFundingPresentational extends SharedAbstractP
 
   remove(index: number): void {
     this.formArray.removeAt(index);
+    this.formArray.markAsDirty();
   }
 }
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-group/deposit-form-description-group.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form-description-group/deposit-form-description-group.presentational.ts
index e6c765832..2c7753dc4 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-group/deposit-form-description-group.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-group/deposit-form-description-group.presentational.ts
@@ -135,6 +135,7 @@ export class DepositFormDescriptionGroupPresentational extends SharedAbstractPre
 
   remove(index: number): void {
     this.formArray.removeAt(index);
+    this.formArray.markAsDirty();
   }
 
   isADefaultValue(f: FormGroup): boolean {
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-link/deposit-form-description-link.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form-description-link/deposit-form-description-link.presentational.ts
index b3083ff58..722985fdb 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-link/deposit-form-description-link.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-link/deposit-form-description-link.presentational.ts
@@ -148,5 +148,6 @@ export class DepositFormDescriptionLinkPresentational extends SharedAbstractPres
 
   remove(index: number): void {
     this.formArray.removeAt(index);
+    this.formArray.markAsDirty();
   }
 }
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-text-language-list/deposit-form-description-text-language-list.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form-description-text-language-list/deposit-form-description-text-language-list.presentational.ts
index 3452c00d2..939debf2e 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-text-language-list/deposit-form-description-text-language-list.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-text-language-list/deposit-form-description-text-language-list.presentational.ts
@@ -144,5 +144,6 @@ export class DepositFormDescriptionTextLanguageListPresentational extends Shared
 
   remove(index: number): void {
     this.formArray.removeAt(index);
+    this.formArray.markAsDirty();
   }
 }
diff --git a/src/app/shared/components/containers/shared-table-person-structure-sub-type/shared-table-person-structure-sub-type.container.ts b/src/app/shared/components/containers/shared-table-person-structure-sub-type/shared-table-person-structure-sub-type.container.ts
index 235b4007b..6f6a37804 100644
--- a/src/app/shared/components/containers/shared-table-person-structure-sub-type/shared-table-person-structure-sub-type.container.ts
+++ b/src/app/shared/components/containers/shared-table-person-structure-sub-type/shared-table-person-structure-sub-type.container.ts
@@ -216,6 +216,7 @@ export class SharedTablePersonStructureSubTypeContainer extends SharedAbstractCo
 
   delete(index: number): void {
     this.formArray.removeAt(index);
+    this.formArray.markAsDirty();
   }
 
   propagateChange = (__: any) => {};
-- 
GitLab