Fix validation bug in operation modal 87/72187/2
authorArielk <Ariel.Kenan@amdocs.com>
Thu, 8 Nov 2018 10:42:52 +0000 (12:42 +0200)
committerAvi Gaffa <avi.gaffa@amdocs.com>
Thu, 8 Nov 2018 13:30:38 +0000 (13:30 +0000)
Checks is for only current tab parameters validity

Change-Id: Ifd33a31c56fc3addd0ecf1479fb9d0559866b56c
Issue-ID: SDC-1907
Signed-off-by: Arielk <Ariel.Kenan@amdocs.com>
catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.html
catalog-ui/src/app/ng2/pages/interface-operation/operation-creator/operation-creator.component.ts

index 6d5fd8d..982cbb2 100644 (file)
@@ -90,7 +90,7 @@
                 class="add-param-link add-btn"
                 *ngIf="!isUsingExistingWF() && !readonly"
                 data-tests-id="addInputParameter"
-                [ngClass]="{'disabled':!isParamsValid()}"
+                [ngClass]="{'disabled':!canAdd()}"
                 (click)="addParam()">Add Parameter</a>
         </div>
 
index 62473bd..5d3b027 100644 (file)
@@ -246,10 +246,33 @@ export class OperationCreatorComponent {
         this.tableParameters.push(new OperationParameter(param));
     }
 
+    canAdd(): boolean {
+        let valid = true;
+        if (this.currentTab === this.TYPE_INPUT) {
+            _.forEach(this.inputParameters, param => {
+                if (!param.name || !param.property) {
+                    valid = false;
+                }
+            });
+        } else {
+            _.forEach(this.outputParameters, param => {
+                if (!param.name || !param.type) {
+                    valid = false;
+                }
+            });
+        }
+        return valid;
+    }
+
     isParamsValid(): boolean {
         let valid = true;
-        _.forEach(this.tableParameters, param => {
-            if (!param.name || (this.currentTab == this.TYPE_INPUT && !param.property)) {
+        _.forEach(this.inputParameters, param => {
+            if (!param.name || !param.property) {
+                valid = false;
+            }
+        });
+        _.forEach(this.outputParameters, param => {
+            if (!param.name || !param.type) {
                 valid = false;
             }
         });