adding saving simple function at designer 14/113014/1
authorShaabanEltanany <shaaban.eltanany.ext@orange.com>
Tue, 22 Sep 2020 09:56:38 +0000 (11:56 +0200)
committerShaabanEltanany <shaaban.eltanany.ext@orange.com>
Tue, 22 Sep 2020 20:29:23 +0000 (22:29 +0200)
Issue-ID: CCSDK-2298
Signed-off-by: ShaabanEltanany <shaaban.eltanany.ext@orange.com>
Change-Id: Id4ebd3413103d6433e84b3513c4f651176a9833f

17 files changed:
cds-ui/designer-client/src/app/common/core/services/api.service.ts
cds-ui/designer-client/src/app/common/core/stores/Store.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.html
cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.store.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/DesignerCreationMode.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/imports-tab/imports-tab.component.html
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/mapping-models/definitions/VlbDefinition.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation-extraction.service.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.service.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.store.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/packages-dashboard/import-package/import-package.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/packages-dashboard/package-list/package-list.component.ts

index de8aab8..8e27bef 100644 (file)
@@ -48,4 +48,8 @@ export class ApiService {
 
         return this.httpClient.post(url, body, options);
     }
+
+    getCustomized(url: string, params?: any): Observable<any> {
+        return this.httpClient.get(url, params);
+    }
 }
index 0be8042..c699578 100644 (file)
@@ -17,6 +17,7 @@ export class Store<T> {
     protected setState(nextState: T): void {
         console.log('setting state', this.subject);
         this.subject.next(nextState);
+        console.log('current state', this.subject);
     }
 
     public unsubscribe() {
index 2b0521b..228953e 100644 (file)
@@ -17,6 +17,7 @@ import {ToastrService} from 'ngx-toastr';
 import {NgxFileDropEntry} from 'ngx-file-drop';
 import {PackageCreationService} from '../package-creation/package-creation.service';
 import {ComponentCanDeactivate} from '../../../../common/core/canDactivate/ComponentCanDeactivate';
+import {PackageCreationExtractionService} from '../package-creation/package-creation-extraction.service';
 
 @Component({
     selector: 'app-configuration-dashboard',
@@ -54,13 +55,17 @@ export class ConfigurationDashboardComponent extends ComponentCanDeactivate impl
         private packageCreationUtils: PackageCreationUtils,
         private router: Router,
         private designerStore: DesignerStore,
-        private toastService: ToastrService
+        private toastService: ToastrService,
+        private packageCreationExtractionService: PackageCreationExtractionService
     ) {
         super();
+
         this.packageCreationStore.state$.subscribe(
             cbaPackage => {
                 this.cbaPackage = cbaPackage;
             });
+
+
     }
 
     ngOnInit() {
@@ -83,9 +88,12 @@ export class ConfigurationDashboardComponent extends ComponentCanDeactivate impl
 
     }
 
-    private refreshCurrentPackage() {
+
+    private refreshCurrentPackage(id?) {
         this.id = this.route.snapshot.paramMap.get('id');
-        this.configurationDashboardService.getPagedPackages(this.id).subscribe(
+        console.log(this.id);
+        id = id ? id : this.id;
+        this.configurationDashboardService.getPagedPackages(id).subscribe(
             (bluePrintDetailModels) => {
                 if (bluePrintDetailModels) {
                     this.viewedPackage = bluePrintDetailModels[0];
@@ -97,10 +105,10 @@ export class ConfigurationDashboardComponent extends ComponentCanDeactivate impl
 
     private downloadCBAPackage(bluePrintDetailModels: BluePrintDetailModel) {
         this.configurationDashboardService.downloadResource(
-            bluePrintDetailModels[0].artifactName + '/' + bluePrintDetailModels[0].artifactVersion).subscribe(response => {
+            this.viewedPackage.artifactName + '/' + this.viewedPackage.artifactVersion).subscribe(response => {
             const blob = new Blob([response], {type: 'application/octet-stream'});
             this.currentBlob = blob;
-            this.extractBlobToStore(blob, bluePrintDetailModels[0]);
+            this.extractBlobToStore(blob, this.viewedPackage);
         });
     }
 
@@ -218,8 +226,8 @@ export class ConfigurationDashboardComponent extends ComponentCanDeactivate impl
                             const id = bluePrintDetailModels.toString().split('id')[1].split(':')[1].split('"')[1];
                             this.toastService.info('package updated successfully ');
                             this.isSaveEnabled = false;
-                            this.id = id;
                             this.router.navigate(['/packages/package/' + id]);
+                            this.refreshCurrentPackage(id);
                         }
                     }, error => {
                         this.toastService.error('error happened when editing ' + error.message);
@@ -266,11 +274,7 @@ export class ConfigurationDashboardComponent extends ComponentCanDeactivate impl
     }
 
     goToDesignerMode(id) {
-        //  this.designerService.setActionName(this.customActionName);
-        this.packageCreationStore.state$.subscribe(cba => {
-            console.log(cba);
-            sessionStorage.setItem('cba', this.packageCreationUtils.transformToJson(cba));
-        });
+
         this.router.navigate(['/packages/designer', id, {actionName: this.customActionName}]);
     }
 
index 4c08357..8892322 100644 (file)
@@ -10,7 +10,7 @@
                     </li>
                     <i class="fa fa-angle-right ml-2 mr-2"></i>
                     <li class="breadcrumb-item">
-                        <a href="/package/{{viewedPackage.id}}">{{viewedPackage.artifactName}}</a>
+                        <a href="/packages/package/{{viewedPackage.id}}">{{viewedPackage.artifactName}}</a>
                         <button type="button" class="btn package-info-btn" data-toggle="modal"
                             data-target="#exampleModalLong">
                             <i class="icon-info" aria-hidden="true"></i>
index e4bcdfe..0509b1d 100644 (file)
@@ -47,6 +47,7 @@ import {PackageCreationStore} from '../package-creation/package-creation.store';
 import {PackageCreationService} from '../package-creation/package-creation.service';
 import {PackageCreationUtils} from '../package-creation/package-creation.utils';
 import * as JSZip from 'jszip';
+import {PackageCreationExtractionService} from '../package-creation/package-creation-extraction.service';
 import {CBAPackage} from '../package-creation/mapping-models/CBAPacakge.model';
 
 @Component({
@@ -75,6 +76,7 @@ export class DesignerComponent implements OnInit, OnDestroy {
     filesData: any = [];
     folder: FolderNodeElement = new FolderNodeElement();
     zipFile: JSZip = new JSZip();
+    private cbaPackage: CBAPackage;
 
     constructor(
         private designerStore: DesignerStore,
@@ -85,7 +87,8 @@ export class DesignerComponent implements OnInit, OnDestroy {
         private graphGenerator: GraphGenerator,
         private route: ActivatedRoute,
         private designerService: DesignerService,
-        private packageCreationService: PackageCreationService) {
+        private packageCreationService: PackageCreationService,
+        private packageCreationExtractionService: PackageCreationExtractionService) {
         this.controllerSideBar = true;
         this.attributesSideBar = false;
         this.showAction = false;
@@ -137,8 +140,19 @@ export class DesignerComponent implements OnInit, OnDestroy {
             (bluePrintDetailModels) => {
                 if (bluePrintDetailModels) {
                     this.viewedPackage = bluePrintDetailModels[0];
+                    this.packageCreationService.downloadPackage(this.viewedPackage.artifactName + '/'
+                        + this.viewedPackage.artifactVersion)
+                        .subscribe(response => {
+                            const blob = new Blob([response], {type: 'application/octet-stream'});
+                            this.packageCreationExtractionService.extractBlobToStore(blob);
+                        });
                 }
             });
+        this.packageCreationStore.state$.subscribe(cba => {
+            this.cbaPackage = cba;
+            console.log(cba.templateTopology.content);
+            this.designerStore.saveSourceContent(cba.templateTopology.content);
+        });
         /**
          * the code to retrieve from server is commented
          */
@@ -386,17 +400,16 @@ export class DesignerComponent implements OnInit, OnDestroy {
     }
 
     saveBluePrint() {
-        let cbaPackage: CBAPackage = JSON.parse(sessionStorage.getItem('cba'));
-        console.log(cbaPackage);
+
         FilesContent.clear();
         let packageCreationModes: PackageCreationModes;
-        cbaPackage = PackageCreationModes.mapModeType(cbaPackage);
-        cbaPackage.metaData = PackageCreationModes.setEntryPoint(cbaPackage.metaData);
-        packageCreationModes = PackageCreationBuilder.getCreationMode(cbaPackage);
+        this.cbaPackage = PackageCreationModes.mapModeType(this.cbaPackage);
+        this.cbaPackage.metaData = PackageCreationModes.setEntryPoint(this.cbaPackage.metaData);
+        packageCreationModes = PackageCreationBuilder.getCreationMode(this.cbaPackage);
         this.designerStore.state$.subscribe(state => {
-            cbaPackage.templateTopology.content = this.packageCreationUtils.transformToJson(state.template);
+            this.cbaPackage.templateTopology.content = this.packageCreationUtils.transformToJson(state.template);
         });
-        packageCreationModes.execute(cbaPackage, this.packageCreationUtils);
+        packageCreationModes.execute(this.cbaPackage, this.packageCreationUtils);
         this.filesData.push(this.folder.TREE_DATA);
         this.saveBluePrintToDataBase();
 
index ba8b2f0..0d20f96 100644 (file)
@@ -23,8 +23,8 @@ import {Injectable} from '@angular/core';
 import {Store} from '../../../../common/core/stores/Store';
 import {DesignerService} from './designer.service';
 import {DesignerDashboardState} from './model/designer.dashboard.state';
-import { DeclarativeWorkflow } from './model/designer.workflow';
-import { NodeTemplate } from './model/desinger.nodeTemplate.model';
+import {DeclarativeWorkflow} from './model/designer.workflow';
+import {NodeTemplate} from './model/desinger.nodeTemplate.model';
 
 
 @Injectable({
@@ -54,7 +54,7 @@ export class DesignerStore extends Store<DesignerDashboardState> {
         });
     }
 
-    addStepToDeclarativeWorkFlow(workflowName: string, stepName: string,  stepType: string) {
+    addStepToDeclarativeWorkFlow(workflowName: string, stepName: string, stepType: string) {
         this.setState({
             ...this.state,
             template: {
@@ -76,12 +76,15 @@ export class DesignerStore extends Store<DesignerDashboardState> {
     }
 
     saveSourceContent(code: string) {
-        const topologyTemplate = JSON.parse(code);
-        this.setState({
-            ...this.state,
-            sourceContent: code,
-            template: topologyTemplate
-        });
+        console.log(code);
+        if (code) {
+            const topologyTemplate = JSON.parse(code);
+            this.setState({
+                ...this.state,
+                sourceContent: code,
+                template: topologyTemplate
+            });
+        }
     }
 
 
index b893804..e9dd667 100644 (file)
@@ -87,6 +87,7 @@ export class DesignerCreationMode extends PackageCreationModes {
         if (cbaPackage.definitions.dslDefinition.content) {
             vlbDefinition.dsl_definitions = JSON.parse(cbaPackage.definitions.dslDefinition.content);
         }
+
         if (cbaPackage.templateTopology.content) {
             vlbDefinition.topology_template = JSON.parse(cbaPackage.templateTopology.content);
         }
index 8f2b554..641caf2 100644 (file)
@@ -74,7 +74,7 @@
                 <div [id]="'id-'+mapIndex" class="collapse" [attr.aria-labelledby]="'head-'+mapIndex"
                     data-parent="#accordion">
                     <div class="card-body">
-                        <ace-editor [(text)]="file.value" (textChange)="textChanges($event,file.key)" [mode]="'json'"
+                        <ace-editor [(text)]="file.value" readOnly="true" (textChange)="textChanges($event,file.key)" [mode]="'json'"
                             [autoUpdateContent]="true" [durationBeforeCallback]="1000" [theme]="'eclipse'"
                             #editor style="height:300px;">
                         </ace-editor>
index f823108..7a029fb 100644 (file)
@@ -1,8 +1,11 @@
-import { Any, JsonObject, JsonProperty } from 'json2typescript';
+import {JsonObject, JsonProperty} from 'json2typescript';
 
 @JsonObject('topology_template')
 export class TemplateTopology {
-    public content: string;
+    // tslint:disable-next-line:variable-name
+    public node_templates: object;
+    public workflows: object;
+    public content: string ;
 }
 
 @JsonObject
@@ -22,26 +25,27 @@ export class VlbDefinition {
 export class DslContent {
 
 }
+
 // Refactor varaibles name and use JsonConverteri
 @JsonObject('metadata')
 export class Metadata {
     @JsonProperty('template_author')
-    // tslint:disable-next-line:variable-name
+        // tslint:disable-next-line:variable-name
     template_author: string;
     'author-email': string;
     'user-groups': string;
     @JsonProperty('template_name')
-    // tslint:disable-next-line:variable-name
+        // tslint:disable-next-line:variable-name
     template_name: string;
     @JsonProperty('template_version')
-    // tslint:disable-next-line:variable-name
+        // tslint:disable-next-line:variable-name
     template_version: string;
     @JsonProperty('template_tag')
-    // tslint:disable-next-line:variable-name
+        // tslint:disable-next-line:variable-name
     template_tags: string;
 
     @JsonProperty('dictionary_group')
-    // tslint:disable-next-line:variable-name
+        // tslint:disable-next-line:variable-name
     dictionary_group: string;
     @JsonProperty('template_tags')
     templateTags: string;
index 20cee73..a46d2a3 100644 (file)
@@ -55,9 +55,9 @@ export class MetadataTabComponent implements OnInit {
 
                 this.customKeysMap = element.metaData.mapOfCustomKey;
                 this.metaDataTab.mapOfCustomKey = this.customKeysMap;
-                if (this.isNameEditable) {
-                    this.validatePackageNameAndVersion();
-                }
+                /* if (this.isNameEditable) {
+                     this.validatePackageNameAndVersion();
+                 }*/
                 // this.tags = element.metaData.templateTags;
 
 
index 31a5c3c..b1dcded 100644 (file)
@@ -13,18 +13,23 @@ import {DesignerStore} from '../designer/designer.store';
 })
 export class PackageCreationExtractionService {
 
-    zipFile: JSZip = new JSZip();
-    entryDefinitionKeys: string[] = ['template_tags', 'user-groups',
+    private zipFile: JSZip = new JSZip();
+    private entryDefinitionKeys: string[] = ['template_tags', 'user-groups',
         'author-email', 'template_version', 'template_name', 'template_author', 'template_description'];
+
+    private toscaMetaDataKeys: string[] = ['TOSCA-Meta-File-Version', 'CSAR-Version',
+        'Created-By', 'Entry-Definitions', 'Template-Name', 'Template-Version', 'Template-Type', 'Template-Tags'];
     @ViewChild(MetadataTabComponent, {static: false})
-    metadataTabComponent: MetadataTabComponent;
+    private metadataTabComponent: MetadataTabComponent;
 
     constructor(private packageCreationStore: PackageCreationStore,
                 private packageCreationUtils: PackageCreationUtils,
                 private designerStore: DesignerStore) {
+
     }
 
     public extractBlobToStore(blob) {
+
         let packageName = null;
         this.zipFile.loadAsync(blob).then((zip) => {
             Object.keys(zip.files).filter(fileName => fileName.includes('TOSCA-Metadata/'))
@@ -32,6 +37,7 @@ export class PackageCreationExtractionService {
                     zip.files[filename].async('string').then((fileData) => {
                         if (fileData) {
                             if (filename.includes('TOSCA-Metadata/')) {
+
                                 const metaDataTabInfo: MetaDataTabModel = this.getMetaDataTabInfo(fileData);
                                 packageName = metaDataTabInfo.name;
                                 this.setMetaData(metaDataTabInfo);
@@ -65,11 +71,11 @@ export class PackageCreationExtractionService {
         });
     }
 
-    setScripts(filename: string, fileData: any) {
+    private setScripts(filename: string, fileData: any) {
         this.packageCreationStore.addScripts(filename, fileData);
     }
 
-    setImports(filename: string, fileData: any, packageName: string) {
+    private setImports(filename: string, fileData: any, packageName: string) {
         console.log(filename);
         if (filename.includes(packageName)) {
             let definition = new VlbDefinition();
@@ -86,37 +92,48 @@ export class PackageCreationExtractionService {
             this.packageCreationStore.changeDslDefinition(dslDefinition);
             this.packageCreationStore.setCustomKeys(mapOfCustomKeys);
             this.setPackageDescription(definition.metadata.template_description);
-            if (definition.topology_template && definition.topology_template.content) {
-                this.designerStore.saveSourceContent(definition.topology_template.content);
-            }
+            console.log(definition);
+            console.log(definition.topology_template);
+            const content = {};
+            const workflow = 'workflows';
+            content[workflow] = definition.topology_template.workflows;
+            const nodeTemplates = 'node_templates';
+            content[nodeTemplates] = definition.topology_template.node_templates;
+            this.designerStore.saveSourceContent(JSON.stringify(content));
 
         }
         this.packageCreationStore.addDefinition(filename, fileData);
 
     }
 
-    setTemplates(filename: string, fileData: any) {
+    private setTemplates(filename: string, fileData: any) {
         this.packageCreationStore.addTemplate(filename, fileData);
     }
 
-    setMapping(fileName: string, fileData: string) {
+    private setMapping(fileName: string, fileData: string) {
         this.packageCreationStore.addMapping(fileName, fileData);
     }
 
-    setMetaData(metaDataObject: MetaDataTabModel) {
+    private setMetaData(metaDataObject: MetaDataTabModel) {
         this.packageCreationStore.changeMetaData(metaDataObject);
     }
 
-    getMetaDataTabInfo(fileData: string) {
+    private getMetaDataTabInfo(fileData: string) {
         const metaDataTabModel = new MetaDataTabModel();
+
         const arrayOfLines = fileData.split('\n');
-        metaDataTabModel.entryFileName = arrayOfLines[3].split(':')[1];
-        metaDataTabModel.name = arrayOfLines[4].split(':')[1];
-        metaDataTabModel.version = arrayOfLines[5].split(':')[1];
-        metaDataTabModel.mode = arrayOfLines[6].split(':')[1];
-        console.log(arrayOfLines[7]);
-        if (arrayOfLines[7].split(':')) {
-            metaDataTabModel.templateTags = new Set<string>(arrayOfLines[7].split(':')[1].split(','));
+        const map = new Map<string, string>();
+        for (const currentLine of arrayOfLines) {
+            const currentKey = currentLine.split(':')[0];
+            const currentValue = currentLine.split(':')[1];
+            map.set(currentKey, currentValue);
+        }
+        metaDataTabModel.entryFileName = map.get(this.toscaMetaDataKeys[3]);
+        metaDataTabModel.name = map.get(this.toscaMetaDataKeys[4]);
+        metaDataTabModel.version = map.get(this.toscaMetaDataKeys[5]).trim();
+        metaDataTabModel.mode = map.get(this.toscaMetaDataKeys[6]);
+        if (map.get(this.toscaMetaDataKeys[7])) {
+            metaDataTabModel.templateTags = new Set<string>(map.get(this.toscaMetaDataKeys[7]).split(','));
         }
         return metaDataTabModel;
     }
index f740159..25f5c59 100644 (file)
@@ -24,7 +24,7 @@ import {FilesContent, FolderNodeElement, MetaDataTabModel} from './mapping-model
 
 import * as JSZip from 'jszip';
 import {PackageCreationStore} from './package-creation.store';
-import {Definition} from './mapping-models/CBAPacakge.model';
+import {CBAPackage, Definition} from './mapping-models/CBAPacakge.model';
 import {PackageCreationModes} from './creationModes/PackageCreationModes';
 import {PackageCreationBuilder} from './creationModes/PackageCreationBuilder';
 import {PackageCreationUtils} from './package-creation.utils';
@@ -78,11 +78,13 @@ export class PackageCreationComponent extends ComponentCanDeactivate implements
     elementRef: ElementRef;
     versionPattern = '^(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$';
     metadataClasses = 'nav-item nav-link active complete';
+    private cbaPackage: CBAPackage;
 
     ngOnInit() {
         this.elementRef.nativeElement.focus();
         const regexp = RegExp(this.versionPattern);
         this.packageCreationStore.state$.subscribe(cbaPackage => {
+            this.cbaPackage = cbaPackage;
             if (cbaPackage && cbaPackage.metaData && cbaPackage.metaData.description
                 && cbaPackage.metaData.name && cbaPackage.metaData.version &&
                 regexp.test(cbaPackage.metaData.version)) {
@@ -104,19 +106,17 @@ export class PackageCreationComponent extends ComponentCanDeactivate implements
     }
 
     saveBluePrint() {
-        this.packageCreationStore.state$.subscribe(
-            cbaPackage => {
-                console.log(cbaPackage);
-                FilesContent.clear();
-                let packageCreationModes: PackageCreationModes;
-                cbaPackage = PackageCreationModes.mapModeType(cbaPackage);
-                cbaPackage.metaData = PackageCreationModes.setEntryPoint(cbaPackage.metaData);
-                packageCreationModes = PackageCreationBuilder.getCreationMode(cbaPackage);
-                cbaPackage.templateTopology.content = this.designerStore.state.sourceContent;
-                packageCreationModes.execute(cbaPackage, this.packageCreationUtils);
-                this.filesData.push(this.folder.TREE_DATA);
-                this.saveBluePrintToDataBase();
-            });
+        console.log(this.cbaPackage);
+        FilesContent.clear();
+        let packageCreationModes: PackageCreationModes;
+        this.cbaPackage = PackageCreationModes.mapModeType(this.cbaPackage);
+        this.cbaPackage.metaData = PackageCreationModes.setEntryPoint(this.cbaPackage.metaData);
+        packageCreationModes = PackageCreationBuilder.getCreationMode(this.cbaPackage);
+
+        // this.cbaPackage.templateTopology.content = this.designerStore.state.sourceContent;
+        packageCreationModes.execute(this.cbaPackage, this.packageCreationUtils);
+        this.filesData.push(this.folder.TREE_DATA);
+        this.saveBluePrintToDataBase();
 
 
     }
index bd09441..94ab9ed 100644 (file)
@@ -42,7 +42,7 @@ export class PackageCreationService {
     }
 
     private enrichBlueprint(body: any | null, options?: any): Observable<any> {
-        return this.api.post(BlueprintURLs.enrich, body, { responseType: 'blob' });
+        return this.api.post(BlueprintURLs.enrich, body, {responseType: 'blob'});
     }
 
     private deployBluePrint(body: any | null, options?: any): Observable<any> {
@@ -83,7 +83,9 @@ export class PackageCreationService {
         return this.api.post(ResourceDictionaryURLs.searchResourceDictionaryByNames, variables);
     }
 
-
+    downloadPackage(id) {
+        return this.api.getCustomized(BlueprintURLs.download + id, {responseType: 'blob'});
+    }
 
 
 }
index bca6903..77867e5 100644 (file)
@@ -110,7 +110,9 @@ export class PackageCreationStore extends Store<CBAPackage> {
     }
 
     clear() {
+        console.log('clearing the store');
         this.setState(new CBAPackage());
+        console.log('it should be empty');
     }
 
     setEntryDefinition(data: string) {
index c370436..2653d73 100644 (file)
@@ -24,6 +24,7 @@ export class ScriptsTabComponent implements OnInit {
 
 
     ngOnInit() {
+
         this.packageCreationStore.state$.subscribe(cbaPackage => {
             if (cbaPackage.scripts && cbaPackage.scripts.files && cbaPackage.scripts.files.size > 0) {
                 this.scriptsFiles = cbaPackage.scripts.files;
index 0f582d7..50799a5 100644 (file)
@@ -2,6 +2,7 @@ import {Component, OnInit} from '@angular/core';
 import {FileSystemFileEntry, NgxFileDropEntry} from 'ngx-file-drop';
 import {PackageCreationExtractionService} from '../../package-creation/package-creation-extraction.service';
 import {Router} from '@angular/router';
+import {PackageCreationStore} from '../../package-creation/package-creation.store';
 
 @Component({
     selector: 'app-import-package',
@@ -16,10 +17,13 @@ export class ImportPackageComponent implements OnInit {
     public files: NgxFileDropEntry[] = [];
 
     constructor(private packageCreationExtractionService: PackageCreationExtractionService,
+                private packageCreationStore: PackageCreationStore,
                 private router: Router) {
+        this.packageCreationStore.clear();
     }
 
     ngOnInit() {
+        this.packageCreationStore.clear();
     }
 
     removeInitFile(index) {
@@ -70,10 +74,10 @@ export class ImportPackageComponent implements OnInit {
     }
 
     saveFileToStore() {
-        for (const droppedFile of this.uploadedFiles) {
-            const file = this.getFile(droppedFile);
-            this.packageCreationExtractionService.extractBlobToStore(file);
-        }
+        console.log(this.uploadedFiles.length);
+        const file = this.getFile(this.uploadedFiles[this.uploadedFiles.length - 1]);
+        this.packageCreationStore.clear();
+        this.packageCreationExtractionService.extractBlobToStore(file);
     }
 
     openFilesInCreationPackage() {