diff options
Diffstat (limited to 'cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts')
-rw-r--r-- | cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts | 169 |
1 files changed, 23 insertions, 146 deletions
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts index 37a017953..aa44cdf7c 100644 --- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts @@ -20,19 +20,10 @@ limitations under the License. */ import {Component, OnInit} from '@angular/core'; -import {FilesContent, FolderNodeElement, MetaDataFile, MetaDataTab} from './mapping-models/metadata/MetaDataTab.model'; +import {FilesContent, FolderNodeElement, MetaDataFile, MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model'; // import {saveAs} from 'file-saver/dist/FileSaver'; import * as JSZip from 'jszip'; -import {Observable} from 'rxjs'; -import {ApiService} from '../../../../common/core/services/api.service'; -import {BlueprintURLs} from '../../../../common/constants/app-constants'; -import {Import, Metadata, VlbDefinition} from './mapping-models/definitions/VlbDefinition'; -import {JsonConvert} from 'json2typescript'; -import {JsonPipe} from '@angular/common'; -import {PackageCreationService} from './package-creation.service'; -import {PackageCreationUtils} from './package-creation.utils'; -import List = _.List; -import {Router} from '@angular/router'; +import {PackageCreationStore} from './package-creation.store'; @Component({ selector: 'app-package-creation', @@ -44,118 +35,44 @@ export class PackageCreationComponent implements OnInit { modes: object[] = [ {name: 'Designer Mode', style: 'mode-icon icon-designer-mode'}, {name: 'Scripting Mode', style: 'mode-icon icon-scripting-mode'}]; - customKeysAndValues: Map<string, string> = new Map<string, string>(); - - dictionaryLibraryInstances: string[] = ['x', 'y']; - private container: HTMLElement; - private elements: HTMLCollection; - private newElement: HTMLElement; - private metaDataTab: MetaDataTab = new MetaDataTab(); - - private result: string; - + private metaDataTab: MetaDataTabModel = new MetaDataTabModel(); private folder: FolderNodeElement = new FolderNodeElement(); private zipFile: JSZip = new JSZip(); private filesData: any = []; - private errorMessage: string; - private keys: NodeListOf<HTMLElement>; - private values: NodeListOf<HTMLElement>; - - constructor(private packageCreationService: PackageCreationService, private packageCreationUtils: PackageCreationUtils, - private router: Router) { + constructor(private packageCreationStore: PackageCreationStore) { } ngOnInit() { - // this.customKeysAndValues.set('Dictionary Library Instances', ' '); - this.keys = document.getElementsByName('key'); - this.values = document.getElementsByName('value'); - } - - - createAnotherCustomKeyDiv() { - this.newElement = document.getElementById('target'); - const id = this.newElement.getAttribute('id'); - this.newElement.setAttribute('id', 'target' + this.counter++); - const copiedElement = this.newElement.cloneNode(true); - this.container = document.getElementById('container'); - this.container.appendChild(copiedElement); - this.elements = this.container.children; - this.newElement.setAttribute('id', id); - this.clearCopiedElement(); - - // console.log(this.packageCreationService.checkBluePrintNameAndVersion(this.metaDataTab.name, this.metaDataTab.version)); - /*this.metaDataTab = new MetaDataTab(); - this.metaDataTab.name = 'klfdj'; - this.metaDataTab.entryFileName = 'Definitions/vLB_CDS.json'; - this.metaDataTab.description = 'rere'; - this.metaDataTab.tags = 'ffsssssss'; - this.metaDataTab.version = '1.01.10'; - this.metaDataTab.templateName = 'test'; - - - this.saveToFileSystem(MetaDataFile.getObjectInstance(this.metaDataTab));*/ - } - - private clearCopiedElement() { - const newCopiedElement: HTMLInputElement = document.getElementById('target' + (this.counter - 1)) as HTMLInputElement; - const inputElements = newCopiedElement.getElementsByTagName('input'); - for (let i = 0; i < inputElements.length; i++) { - const element: HTMLInputElement = inputElements.item(i) as HTMLInputElement; - element.value = ''; - } - } - - - validatePackageNameAndVersion() { - if (this.metaDataTab.name && this.metaDataTab.version) { - this.packageCreationService.checkBluePrintNameAndVersion(this.metaDataTab.name, this.metaDataTab.version).then(element => { - if (element) { - this.errorMessage = 'the package with name and version is exists'; - } else { - this.errorMessage = ' '; - } - }); - } } - getDictionaryLibraryInstances() { + saveBluePrint() { + this.packageCreationStore.state$.subscribe( + cbaPackage => { + this.metaDataTab = cbaPackage.metaData; + this.setModeType(this.metaDataTab); + this.setEntryPoint(this.metaDataTab); + this.addToscaMetaDataFile(this.metaDataTab); - } + // const vlbDefinition: VlbDefinition = new VlbDefinition(); + // this.fillVLBDefinition(vlbDefinition, this.metaDataTab); - saveMetaData() { - for (let i = 0; i < this.values.length; i++) { - const inputKeyElement: HTMLInputElement = this.keys.item(i) as HTMLInputElement; - const inputKey: string = inputKeyElement.value; - const inputValueElement: HTMLInputElement = this.values.item(i) as HTMLInputElement; - const inputValue: string = inputValueElement.value; - this.customKeysAndValues.set(inputKey, inputValue); - } - - this.metaDataTab.mapOfCustomKey = this.customKeysAndValues; - this.setModeType(this.metaDataTab); - this.setEntryPoint(this.metaDataTab); - - this.addToscaMetaDataFile(this.metaDataTab); - - const vlbDefinition: VlbDefinition = new VlbDefinition(); - this.fillVLBDefinition(vlbDefinition, this.metaDataTab); + this.filesData.push(this.folder.TREE_DATA); + console.log(FilesContent.getMapOfFilesNamesAndContent()); + this.saveBluePrintToDataBase(); + }); - this.filesData.push(this.folder.TREE_DATA); - this.saveToBackend(); - this.packageCreationService.refreshPackages(); - this.router.navigate(['/packages']); } - addToscaMetaDataFile(metaDataTab: MetaDataTab) { + addToscaMetaDataFile(metaDataTab: MetaDataTabModel) { const filename = 'TOSCA.meta'; FilesContent.putData(filename, MetaDataFile.getObjectInstance(this.metaDataTab)); } - private setModeType(metaDataTab: MetaDataTab) { + private setModeType(metaDataTab: MetaDataTabModel) { if (metaDataTab.mode.startsWith('Scripting')) { metaDataTab.mode = 'KOTLIN_SCRIPT'; } else if (metaDataTab.mode.startsWith('Designer')) { @@ -165,28 +82,15 @@ export class PackageCreationComponent implements OnInit { } } - saveToBackend() { + saveBluePrintToDataBase() { this.create(); this.zipFile.generateAsync({type: 'blob'}) .then(blob => { - this.saveBluePrint(blob); - + this.packageCreationStore.saveBluePrint(blob); }); } - private saveBluePrint(blob) { - const formData = new FormData(); - formData.append('file', blob); - this.packageCreationService.saveBlueprint(formData) - .subscribe( - data => { - console.log('Success:' + JSON.stringify(data)); - }, error => { - console.log('Error -' + error.message); - }); - } - create() { this.folder.TREE_DATA.forEach((path) => { @@ -206,15 +110,7 @@ export class PackageCreationComponent implements OnInit { }); } - - deleteCustomKey(event) { - this.container = document.getElementById('container'); - const element = event.parentElement.parentElement.parentElement; - this.container.removeChild(element); - } - - - private setEntryPoint(metaDataTab: MetaDataTab) { + private setEntryPoint(metaDataTab: MetaDataTabModel) { if (metaDataTab.mode.startsWith('DEFAULT')) { metaDataTab.entryFileName = 'Definitions/vLB_CDS.json'; } else { @@ -224,24 +120,5 @@ export class PackageCreationComponent implements OnInit { } - private fillVLBDefinition(vlbDefinition: VlbDefinition, metaDataTab: MetaDataTab) { - - const metadata: Metadata = new Metadata(); - metadata.template_author = 'Shaaban'; - metadata.template_name = metaDataTab.templateName; - metadata.template_tags = metaDataTab.tags; - - metadata.dictionary_group = 'default'; - metadata.template_version = metaDataTab.version; - metadata['author-email'] = 'shaaban.altanany.ext@orange.com'; - metadata['user-groups'] = 'ADMIN'; - // metadata.mapOfCustomKeys = this.metaDataTab.mapOfCustomKey; - vlbDefinition.tosca_definitions_version = metaDataTab.version; - vlbDefinition.metadata = metadata; - - // console.log(vlbDefinition.metadata.mapOfCustomKeys); - const value = this.packageCreationUtils.transformToJson(vlbDefinition); - console.log(value); - FilesContent.putData('vLB_CDS.json', value); - } + } |