aboutsummaryrefslogtreecommitdiffstats
path: root/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.ts')
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.ts53
1 files changed, 52 insertions, 1 deletions
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 97040ee90..c71e2564a 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
@@ -2,6 +2,7 @@ import {Component, 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 {PackageStore} from '../../configuration-dashboard/package.store';
@Component({
@@ -12,6 +13,8 @@ import {PackageCreationStore} from '../package-creation.store';
export class MetadataTabComponent implements OnInit {
counter = 0;
+ tags = new Set<string>();
+ customKeysMap = new Map();
modes: object[] = [
{name: 'Designer Mode', style: 'mode-icon icon-designer-mode'},
{name: 'Scripting Mode', style: 'mode-icon icon-scripting-mode'},
@@ -19,12 +22,60 @@ export class MetadataTabComponent implements OnInit {
private metaDataTab: MetaDataTabModel = new MetaDataTabModel();
private errorMessage: string;
- constructor(private packageCreationService: PackageCreationService, private packageCreationStore: PackageCreationStore) {
+ constructor(private packageCreationService: PackageCreationService, private packageCreationStore: PackageCreationStore,
+ private packageStore: PackageStore) {
}
ngOnInit() {
+ this.metaDataTab.templateTags = this.tags;
+ this.metaDataTab.mapOfCustomKey = this.customKeysMap;
this.packageCreationStore.changeMetaData(this.metaDataTab);
+
+ this.packageStore.state$.subscribe(element => {
+ if (element && element.configuration) {
+ this.metaDataTab.name = element.configuration.artifactName;
+ this.metaDataTab.version = element.configuration.artifactVersion;
+ this.metaDataTab.tags = element.configuration.tags;
+ this.metaDataTab.description = element.configuration.artifactDescription;
+ }
+ });
+ }
+
+ removeTag(value) {
+ // console.log(event);
+ this.tags.delete(value);
+ }
+
+ addTag(event) {
+ const value = event.target.value;
+ console.log(value);
+ if (value && value.trim().length > 0) {
+ event.target.value = '';
+ this.tags.add(value);
+ }
+ }
+
+ removeKey(event, key) {
+ console.log(event);
+ this.customKeysMap.delete(key);
+ }
+
+ addCustomKey() {
+ // tslint:disable-next-line: no-string-literal
+ const key = document.getElementsByClassName('mapKey')[0];
+ // tslint:disable-next-line: no-string-literal
+ const value = document.getElementsByClassName('mapValue')[0];
+
+ // tslint:disable-next-line: no-string-literal
+ if (key['value'] && value['value']) {
+ // tslint:disable-next-line: no-string-literal
+ this.customKeysMap.set(key['value'], value['value']);
+ // tslint:disable-next-line: no-string-literal
+ key['value'] = '';
+ // tslint:disable-next-line: no-string-literal
+ value['value'] = '';
+ }
}
validatePackageNameAndVersion() {