From ec3e7fa91a4ef362af888bc6e34cf3ca826d9bb7 Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Wed, 11 Sep 2019 16:54:38 +0200
Subject: [PATCH] FIX #11270 TIME 2 fix var lang + fix check values + fix
 update

---
 .../custom-fields-administration.component.html           | 4 ++--
 .../customField/custom-fields-administration.component.ts | 8 +++++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/frontend/app/administration/customField/custom-fields-administration.component.html b/src/frontend/app/administration/customField/custom-fields-administration.component.html
index 63165148811..73a0d4e4731 100644
--- a/src/frontend/app/administration/customField/custom-fields-administration.component.html
+++ b/src/frontend/app/administration/customField/custom-fields-administration.component.html
@@ -62,8 +62,8 @@
                                             </div>
                                         </div>
                                         <div class="col-md-12">
-                                            <mat-form-field *ngFor="let value of custom.values;let i=index;">
-                                                <input matInput [(ngModel)]="value.label">
+                                            <mat-form-field *ngFor="let value of custom.values;let i=index;" floatLabel="never">
+                                                <input matInput [(ngModel)]="value.label" [placeholder]="this.lang.newValue">
                                                 <button color="warn" mat-icon-button matSuffix [title]="lang.delete"
                                                     (click)="removeValue(custom, i)">
                                                     <mat-icon class="fa fa-trash"></mat-icon>
diff --git a/src/frontend/app/administration/customField/custom-fields-administration.component.ts b/src/frontend/app/administration/customField/custom-fields-administration.component.ts
index f9f5ce8a07e..f026508547e 100644
--- a/src/frontend/app/administration/customField/custom-fields-administration.component.ts
+++ b/src/frontend/app/administration/customField/custom-fields-administration.component.ts
@@ -134,7 +134,7 @@ export class CustomFieldsAdministrationComponent implements OnInit {
     addValue(indexCustom: number) {
         this.customFields[indexCustom].values.push(
             {
-                label: this.lang.newValue
+                label: ''
             }
         );
     }
@@ -162,6 +162,8 @@ export class CustomFieldsAdministrationComponent implements OnInit {
 
     updateCustomField(customField: any, indexCustom: number) {
 
+        customField.values = customField.values.filter((x: any, i: any, a: any) => a.map((info: any) => info.label).indexOf(x.label) == i);
+
         // TO FIX DATA BINDING SIMPLE ARRAY VALUES
         const customFieldToUpdate = { ...customField };
         
@@ -175,7 +177,7 @@ export class CustomFieldsAdministrationComponent implements OnInit {
 
         this.http.put('../../rest/customFields/' + customField.id, customFieldToUpdate).pipe(
             tap(() => {
-                this.customFieldsClone[indexCustom] = customField;
+                this.customFieldsClone[indexCustom] = JSON.parse(JSON.stringify(customField));
                 this.notify.success(this.lang.customFieldUpdated);
             }),
             catchError((err: any) => {
@@ -190,7 +192,7 @@ export class CustomFieldsAdministrationComponent implements OnInit {
     }
 
     isModified(customField: any, indexCustomField: number) {
-        if (JSON.stringify(customField) === JSON.stringify(this.customFieldsClone[indexCustomField])) {
+        if (JSON.stringify(customField) === JSON.stringify(this.customFieldsClone[indexCustomField]) || customField.label === '') {
             return true;
         } else {
             return false;
-- 
GitLab