From 7ecb41358ade47373b28df536dbda709e1a8a45e Mon Sep 17 00:00:00 2001 From: Eltanany Shaaban Date: Tue, 2 Feb 2021 12:56:39 +0200 Subject: fixing input and output action Issue-ID: CCSDK-2779 Issue-ID: CCSDK-3025 Signed-off-by: Eltanany Shaaban Change-Id: Ie9a89b5312a173925d44b9868d796775912304a8 --- .../action-attributes.component.html | 6 +++--- .../action-attributes/action-attributes.component.ts | 4 +++- .../metadata-tab/metadata-tab.component.ts | 19 +++++++++++++++---- 3 files changed, 21 insertions(+), 8 deletions(-) (limited to 'cds-ui/designer-client/src/app/modules/feature-modules/packages') diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html index 178f8f098..3b946de15 100644 --- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.html @@ -57,9 +57,9 @@ type="button" aria-hidden="true">
- + placement="bottom" (click)="editAttribute(input)">-->
- \ No newline at end of file + diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.ts index 6873f8948..f33965044 100644 --- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.ts +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/action-attributes/action-attributes.component.ts @@ -120,7 +120,7 @@ export class ActionAttributesComponent implements OnInit { console.log(input); if (input && input.type && input.name) { const insertedInputActionAttribute = Object.assign({}, input); - if (!this.newInputs.includes(insertedInputActionAttribute)) { + if (!this.newInputs.some(obj => obj.name === input.name)) { this.newInputs.push(insertedInputActionAttribute); } } @@ -178,6 +178,8 @@ export class ActionAttributesComponent implements OnInit { this.outputs.push(output); } }); + this.newInputs = []; + this.newOutputs = []; } private getValue() { diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.ts index 1784346c7..0c1d0cfd9 100644 --- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.ts +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.ts @@ -1,8 +1,10 @@ -import {Component, OnInit} from '@angular/core'; +import {Component, OnDestroy, OnInit} from '@angular/core'; import {PackageCreationService} from '../package-creation.service'; import {MetaDataTabModel} from '../mapping-models/metadata/MetaDataTab.model'; import {PackageCreationStore} from '../package-creation.store'; import {ActivatedRoute} from '@angular/router'; +import {Subject} from 'rxjs'; +import {distinctUntilChanged, takeUntil} from 'rxjs/operators'; @Component({ @@ -10,7 +12,7 @@ import {ActivatedRoute} from '@angular/router'; templateUrl: './metadata-tab.component.html', styleUrls: ['./metadata-tab.component.css'] }) -export class MetadataTabComponent implements OnInit { +export class MetadataTabComponent implements OnInit , OnDestroy { counter = 0; tags = new Set(); @@ -24,7 +26,7 @@ export class MetadataTabComponent implements OnInit { errorMessage: string; versionPattern = '^(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$'; isNameEditable = false; - + ngUnsubscribe = new Subject(); constructor( private route: ActivatedRoute, private packageCreationService: PackageCreationService, @@ -38,7 +40,11 @@ export class MetadataTabComponent implements OnInit { this.metaDataTab.mapOfCustomKey = this.customKeysMap; this.metaDataTab.mode = this.modeType; this.isNameEditable = this.route.snapshot.paramMap.get('id') == null; - this.packageCreationStore.state$.subscribe(element => { + this.packageCreationStore.state$ + .pipe( + distinctUntilChanged((a: any, b: any) => JSON.stringify(a) === JSON.stringify(b)), + takeUntil(this.ngUnsubscribe)) + .subscribe(element => { if (element && element.metaData) { @@ -133,5 +139,10 @@ export class MetadataTabComponent implements OnInit { this.packageCreationStore.changeMetaData(newMetaData); } + ngOnDestroy() { + this.ngUnsubscribe.next(); + this.ngUnsubscribe.complete(); + this.ngUnsubscribe.unsubscribe(); + } } -- cgit 1.2.3-korg