type="button" aria-hidden="true"></i>
</label>
<div class="attributeOptions">
- <a data-toggle="modal" data-target="#exampleModalScrollable2"
+ <!--<a data-toggle="modal" data-target="#exampleModalScrollable2"
class="accordion-delete editAttribute" tooltip="Edit Attribute"
- placement="bottom" (click)="editAttribute(input)"><i class="icon-edit"></i></a>
+ placement="bottom" (click)="editAttribute(input)"><i class="icon-edit"></i></a>-->
<a class="accordion-delete deleteAttribute" tooltip="Delete Attribute"
(click)="markDeletedInput(input)" data-toggle="modal"
data-target="#exampleModalScrollable1" placement="bottom"><i
</div>
</div>
</div>
-</div>
\ No newline at end of file
+</div>
-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({
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<string>();
errorMessage: string;
versionPattern = '^(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$';
isNameEditable = false;
-
+ ngUnsubscribe = new Subject();
constructor(
private route: ActivatedRoute,
private packageCreationService: PackageCreationService,
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) {
this.packageCreationStore.changeMetaData(newMetaData);
}
+ ngOnDestroy() {
+ this.ngUnsubscribe.next();
+ this.ngUnsubscribe.complete();
+ this.ngUnsubscribe.unsubscribe();
+ }
}