Fixing some bugs in package creation tabs
Issue-ID: CCSDK-2123
Signed-off-by: Ahmed <ahmed.eldeeb.ext@orange.com>
Change-Id: Id7a457470b14ab3491d4e6b9bdd74ef93990dd2c
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/imports-tab/imports-tab.component.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/imports-tab/imports-tab.component.ts
index bc31e6c..dc0cf7f 100644
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/imports-tab/imports-tab.component.ts
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/imports-tab/imports-tab.component.ts
@@ -1,7 +1,7 @@
-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';
+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({
@@ -18,6 +18,8 @@
public files: NgxFileDropEntry[] = [];
constructor(private packageCreationStore: PackageCreationStore, private packageCreationUtils: PackageCreationUtils) {
+ }
+ ngOnInit(): void {
this.packageCreationStore.state$.subscribe(cbaPackage => {
if (cbaPackage.definitions && cbaPackage.definitions.imports && cbaPackage.definitions.imports.size > 0) {
this.definitionFiles = cbaPackage.definitions.imports;
@@ -25,10 +27,6 @@
});
}
- ngOnInit(): void {
- // TODO
- }
-
public dropped(files: NgxFileDropEntry[]) {
this.files = files;
for (const droppedFile of files) {
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.html b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.html
index 0ae8efb..89724be 100644
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.html
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.html
@@ -2,12 +2,11 @@
<div class="single-line">
<label class="label-name">Mode</label>
<label name="trst" *ngFor="let mode of modes; let i = index">
- <input class="form-check-input" [(ngModel)]="metaDataTab.mode" type="radio" name="exampleRadios"
- id="exampleRadios1" value={{mode.name}}>
+ <input class="form-check-input" [(ngModel)]="modeType" type="radio" name="radioMode" id="radioMode"
+ [value]="mode.name">
<span>
- <i [className]="mode.style" aria-hidden="true"
- [id]="mode.name"></i>
+ <i [className]="mode.style" aria-hidden="true" [id]="mode.name"></i>
{{mode.name}}
</span>
</label>
@@ -31,7 +30,7 @@
<label class="label-name">Name <span>*</span></label>
<div class="label-input">
<input type="input" [readOnly]="!packageNameAndVersionEnables" [(ngModel)]="metaDataTab.name"
- placeholder="Topology name.vLB.CDS">
+ placeholder="Topology name.vLB.CDS">
</div>
<!--<div class="model-note-container error-message">
Package name already exists with this version. Please enter a different name or enter different version
@@ -42,8 +41,8 @@
<div class="single-line-model">
<label class="label-name">Version <span>*</span></label>
<div class="label-input">
- <input type="input" [readOnly]="!packageNameAndVersionEnables" [(ngModel)]="metaDataTab.version" (input)="validatePackageNameAndVersion()"
- placeholder="Example: 1.0.0">
+ <input type="input" [readOnly]="!packageNameAndVersionEnables" [(ngModel)]="metaDataTab.version"
+ (input)="validatePackageNameAndVersion()" placeholder="Example: 1.0.0">
</div>
<div class="model-note-container error-message">{{errorMessage}}</div>
</div>
@@ -58,13 +57,13 @@
<label class="label-name">tags</label>
<div class="label-input">
<input type="input" (keyup.enter)="addTag($event)" [(ngModel)]="metaDataTab.tags"
- placeholder="Ex., vDNS-CDS">
+ placeholder="Ex., vDNS-CDS">
</div>
<div class="model-note-container tag-notes">Seprate tags with comma or space</div>
<div class="model-note-container tages-container">
<span *ngFor="let tag of tags" class="single-tage">{{tag}} <i (click)="removeTag(tag)"
- class="fa fa-times-circle"></i></span>
+ class="fa fa-times-circle"></i></span>
</div>
</div>
</div>
@@ -91,8 +90,8 @@
</div>
</div>
<div class="single-line-custom-key-delete">
- <button (click)="removeKey($event,map.key)"
- class="custom-key-delete"><i aria-hidden="true" class="icon-delete"></i></button>
+ <button (click)="removeKey($event,map.key)" class="custom-key-delete"><i aria-hidden="true"
+ class="icon-delete"></i></button>
</div>
</div>
@@ -101,14 +100,14 @@
<label class="label-name"><span>{{customKeysMap.size + 1}}.</span> Name</label>
<div class="label-input">
<input (keyup.enter)="addCustomKey()" name="key" type="input" class="mapKey"
- placeholder="Enter name">
+ placeholder="Enter name">
</div>
</div>
<div class="single-line-custom-key">
<label class="label-name">Value</label>
<div class="label-input">
<input (keyup.enter)="addCustomKey()" class="mapValue" name="value" type="input"
- placeholder="Enter value">
+ placeholder="Enter value">
</div>
</div>
<!-- <div class="single-line-custom-key-delete"><button (click)="removeKey($event)"
@@ -117,4 +116,4 @@
</div>
</div>
-</div>
+</div>
\ No newline at end of file
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 63c10ad..3a9b7b8 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
@@ -1,8 +1,8 @@
-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 {ActivatedRoute} from '@angular/router';
+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 { ActivatedRoute } from '@angular/router';
@Component({
@@ -15,16 +15,18 @@
counter = 0;
tags = new Set<string>();
customKeysMap = new Map();
- modes: object[] = [
- {name: 'Designer Mode', style: 'mode-icon icon-designer-mode'}];
+ modes: any[] = [
+ { name: 'Designer Mode', style: 'mode-icon icon-designer-mode' }];
/* {name: 'Scripting Mode', style: 'mode-icon icon-scripting-mode'},
{name: 'Generic Script Mode', style: 'mode-icon icon-generic-script-mode'}];*/
+ modeType = this.modes[0].name;
private metaDataTab: MetaDataTabModel = new MetaDataTabModel();
private errorMessage: string;
- constructor(private route: ActivatedRoute,
- private packageCreationService: PackageCreationService,
- private packageCreationStore: PackageCreationStore
+ constructor(
+ private route: ActivatedRoute,
+ private packageCreationService: PackageCreationService,
+ private packageCreationStore: PackageCreationStore
) {
}
@@ -32,6 +34,7 @@
ngOnInit() {
this.metaDataTab.templateTags = this.tags;
this.metaDataTab.mapOfCustomKey = this.customKeysMap;
+ this.metaDataTab.mode = this.modeType;
const id = this.route.snapshot.paramMap.get('id');
id ? this.packageNameAndVersionEnables = false :
@@ -46,8 +49,9 @@
this.tags = element.metaData.templateTags;
this.metaDataTab.templateTags = this.tags;
console.log(element);
- if (element.metaData.mode && element.metaData.mode.includes(' DEFAULT')) {
+ if (element.metaData.mode && element.metaData.mode.includes('DEFAULT')) {
this.metaDataTab.mode = 'Designer Mode';
+ this.modeType = this.metaDataTab.mode;
}
this.customKeysMap = element.metaData.mapOfCustomKey;
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.html b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.html
index 8d1894c..5dd68ed 100644
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.html
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/scripts-tab/scripts-tab.component.html
@@ -24,7 +24,8 @@
aria-expanded="false" class="btn btn-link collapsed" data-toggle="collapse">
<i class="icon-file-code"></i> {{file.key}}
</button>
- <a (click)="removeFile(mapIndex)" class="accordion-delete"><i class="icon-delete"></i></a>
+ <a (click)="removeFile(file.key,mapIndex)" class="accordion-delete"><i
+ class="icon-delete"></i></a>
</h5>
</div>
<div [attr.aria-labelledby]="'head-script-'+mapIndex" [id]="'id-script-'+mapIndex" class="collapse"
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
index 36cccc8..5387489 100644
--- 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
@@ -1,6 +1,6 @@
-import {Component, OnInit} from '@angular/core';
-import {FileSystemFileEntry, NgxFileDropEntry} from 'ngx-file-drop';
-import {PackageCreationStore} from '../package-creation.store';
+import { Component, OnInit } from '@angular/core';
+import { FileSystemFileEntry, NgxFileDropEntry } from 'ngx-file-drop';
+import { PackageCreationStore } from '../package-creation.store';
import 'ace-builds/src-noconflict/ace';
import 'ace-builds/webpack-resolver';
@@ -18,9 +18,7 @@
constructor(
private packageCreationStore: PackageCreationStore,
- ) {
-
- }
+ ) { }
ngOnInit() {
@@ -29,13 +27,6 @@
this.scriptsFiles = cbaPackage.scripts.files;
}
});
-
- /* this.packageStore.state$.subscribe(res => {
- // this.scriptsFiles =
- console.log('from scripts');
- console.log(res.scripts);
- this.scriptsFiles = res.scripts.files;
- });*/
}
public dropped(files: NgxFileDropEntry[]) {
@@ -52,11 +43,18 @@
}
}
- removeFile(fileIndex: number) {
- console.log(this.uploadedFiles[fileIndex]);
- const filename = 'Scripts/' + this.uploadedFiles[fileIndex].name;
- this.packageCreationStore.removeFileFromState(filename);
- this.uploadedFiles.splice(fileIndex, 1);
+ removeFile(filePath: string, FileIndex: number) {
+ const filename = filePath.split('/')[2] || '';
+ // const filename = 'Scripts/' + this.getFileType(this.uploadedFiles[fileIndex].name) + '/' + this.uploadedFiles[fileIndex].name;
+ this.packageCreationStore.removeFileFromState(filePath);
+ // remove from upload files array
+ // tslint:disable-next-line: prefer-for-of
+ for (let i = 0; i < this.uploadedFiles.length; i++) {
+ if (this.uploadedFiles[i].name === filename) {
+ this.uploadedFiles.splice(i, 1);
+ break;
+ }
+ }
}
public fileOver(event) {
@@ -73,7 +71,7 @@
droppedFile.file((file: File) => {
const fileReader = new FileReader();
fileReader.onload = (e) => {
- this.packageCreationStore.addScripts('Scripts/' + droppedFile.name,
+ this.packageCreationStore.addScripts('Scripts/' + this.getFileType(droppedFile.name) + '/' + droppedFile.name,
fileReader.result.toString());
};
fileReader.readAsText(file);
@@ -82,6 +80,17 @@
}
}
+ getFileType(filename: string): string {
+ let fileType = '';
+ const fileExtension = filename.substring(filename.lastIndexOf('.') + 1);
+ if (fileExtension === 'py') {
+ fileType = 'python';
+ } else if (fileExtension === 'kt') {
+ fileType = 'kotlin';
+ }
+ return fileType;
+ }
+
resetTheUploadedFiles() {
this.uploadedFiles = [];
}
diff --git a/cds-ui/designer-client/src/app/modules/shared-modules/header/header.component.html b/cds-ui/designer-client/src/app/modules/shared-modules/header/header.component.html
index f57ab10..502e098 100644
--- a/cds-ui/designer-client/src/app/modules/shared-modules/header/header.component.html
+++ b/cds-ui/designer-client/src/app/modules/shared-modules/header/header.component.html
@@ -5,14 +5,14 @@
<div class="overflow-container">
<ul class="menu-dropdown">
<li class="active">
- <a routerLink="packages/list">Packages</a>
+ <a routerLink="/packages">Packages</a>
<span class="icon">
<!-- <i class="fa fa-dashboard"></i> -->
<i class="icon-package"></i>
</span>
</li>
<li class="menu-hasdropdown">
- <a href="#">Data Dictionary</a>
+ <a >Data Dictionary</a>
<span class="icon">
<i class="icon-dictionary"></i>
</span>