1 import { Component, OnInit } from '@angular/core';
2 import { PackageCreationService } from '../package-creation.service';
3 import { MetaDataTabModel } from '../mapping-models/metadata/MetaDataTab.model';
4 import { PackageCreationStore } from '../package-creation.store';
8 selector: 'app-metadata-tab',
9 templateUrl: './metadata-tab.component.html',
10 styleUrls: ['./metadata-tab.component.css']
12 export class MetadataTabComponent implements OnInit {
15 tags = new Set<string>();
16 customKeysMap = new Map();
18 { name: 'Designer Mode', style: 'mode-icon icon-designer-mode' },
19 { name: 'Scripting Mode', style: 'mode-icon icon-scripting-mode' },
20 { name: 'Generic Script Mode', style: 'mode-icon icon-generic-script-mode' }];
21 private metaDataTab: MetaDataTabModel = new MetaDataTabModel();
22 private errorMessage: string;
24 constructor(private packageCreationService: PackageCreationService, private packageCreationStore: PackageCreationStore) {
29 this.metaDataTab.templateTags = this.tags;
30 this.metaDataTab.mapOfCustomKey = this.customKeysMap;
31 this.packageCreationStore.changeMetaData(this.metaDataTab);
35 // console.log(event);
36 this.tags.delete(value);
39 const value = event.target.value;
41 if (value && value.trim().length > 0) {
42 event.target.value = '';
47 removeKey(event, key) {
49 this.customKeysMap.delete(key);
52 // tslint:disable-next-line: no-string-literal
53 const key = document.getElementsByClassName('mapKey')[0];
54 // tslint:disable-next-line: no-string-literal
55 const value = document.getElementsByClassName('mapValue')[0];
57 // tslint:disable-next-line: no-string-literal
58 if (key['value'] && value['value']) {
59 // tslint:disable-next-line: no-string-literal
60 this.customKeysMap.set(key['value'], value['value']);
61 // tslint:disable-next-line: no-string-literal
63 // tslint:disable-next-line: no-string-literal
67 validatePackageNameAndVersion() {
68 if (this.metaDataTab.name && this.metaDataTab.version) {
69 this.packageCreationService.checkBluePrintNameAndVersion(this.metaDataTab.name, this.metaDataTab.version).then(element => {
71 this.errorMessage = 'the package with name and version is exists';
73 this.errorMessage = ' ';