diff options
author | shaaban Altanany <shaaban.eltanany.ext@orange.com> | 2020-01-28 17:25:47 +0200 |
---|---|---|
committer | shaaban Altanany <shaaban.eltanany.ext@orange.com> | 2020-01-29 14:22:46 +0200 |
commit | c9b0f84a5812459aabdf59c00265dec09d771182 (patch) | |
tree | 4fcf4a8415e58d7791c29c115f65339abc4a509e /cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.ts | |
parent | 5064cb8bc7c7890283f810fbe27b284e5581c641 (diff) |
update imports-tab,source-editor and create scripts-tab component
Issue-ID: CCSDK-2016
Issue-ID: CCSDK-2042
Signed-off-by: shaaban Altanany <shaaban.eltanany.ext@orange.com>
Change-Id: I87dd0f6cf393c2d7cd78985928635bd2138ccc74
Diffstat (limited to 'cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.ts')
-rw-r--r-- | cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.ts | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.ts new file mode 100644 index 000000000..d4d2b20d0 --- /dev/null +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.ts @@ -0,0 +1,76 @@ +import {Component, OnInit} from '@angular/core'; +import {FileSystemFileEntry, NgxFileDropEntry} from 'ngx-file-drop'; +import {PackageCreationStore} from '../package-creation.store'; +import {PackageCreationUtils} from '../package-creation.utils'; + +@Component({ + selector: 'app-scripts-tab', + templateUrl: './scripts-tab.component.html', + styleUrls: ['./scripts-tab.component.css'] +}) +export class ScriptsTabComponent implements OnInit { + + public scriptsFiles: Map<string, string> = new Map<string, string>(); + public uploadedFiles: FileSystemFileEntry[] = []; + public files: NgxFileDropEntry[] = []; + private fileNames: Set<string> = new Set(); + + constructor(private packageCreationStore: PackageCreationStore, private packageCreationUtils: PackageCreationUtils) { + this.packageCreationStore.state$.subscribe(cbaPackage => { + if (cbaPackage.scripts && cbaPackage.scripts.files && cbaPackage.scripts.files.size > 0) { + this.scriptsFiles = cbaPackage.scripts.files; + } + }); + } + + + ngOnInit() { + } + + public dropped(files: NgxFileDropEntry[]) { + this.files = files; + for (const droppedFile of files) { + // Is it a file & Not added before ? + if (droppedFile.fileEntry.isFile && !this.fileNames.has(droppedFile.fileEntry.name)) { + const fileEntry = droppedFile.fileEntry as FileSystemFileEntry; + this.uploadedFiles.push(fileEntry); + console.log(fileEntry.name); + this.fileNames.add(fileEntry.name); + + } + } + } + + removeFile(fileIndex: number) { + console.log(this.uploadedFiles[fileIndex]); + this.packageCreationStore.removeFromState(this.uploadedFiles[fileIndex].name, 'scripts'); + this.uploadedFiles.splice(fileIndex, 1); + } + + public fileOver(event) { + console.log(event); + } + + public fileLeave(event) { + console.log(event); + } + + + setFilesToStore() { + for (const droppedFile of this.uploadedFiles) { + droppedFile.file((file: File) => { + const fileReader = new FileReader(); + fileReader.onload = (e) => { + this.packageCreationStore.addScripts(droppedFile.name, + this.packageCreationUtils.transformToJson(fileReader.result)); + }; + fileReader.readAsText(file); + }); + + } + } + + resetTheUploadedFiles() { + this.uploadedFiles = []; + } +} |