summaryrefslogtreecommitdiffstats
path: root/cds-ui/client/src/app/feature-modules
diff options
context:
space:
mode:
Diffstat (limited to 'cds-ui/client/src/app/feature-modules')
-rw-r--r--cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts1
-rw-r--r--cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts66
-rw-r--r--cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.html16
-rw-r--r--cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.ts22
4 files changed, 80 insertions, 25 deletions
diff --git a/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts b/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts
index 9073d10cf..46dca73dd 100644
--- a/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts
+++ b/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts
@@ -31,6 +31,7 @@ import { IAppState } from '../../../../common/core/store/state/app.state';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { IBlueprintState } from 'src/app/common/core/store/models/blueprintState.model';
+import { LoadBlueprintSuccess } from '../../../../common/core/store/actions/blueprint.action';
interface FoodNode {
diff --git a/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts b/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts
index 5fe28e7f9..c6b6cc78b 100644
--- a/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts
+++ b/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts
@@ -19,13 +19,15 @@ limitations under the License.
============LICENSE_END============================================
*/
-import { Component, OnInit, EventEmitter, Output } from '@angular/core';
+import { Component, OnInit, EventEmitter, Output, ViewChild } from '@angular/core';
import { Store } from '@ngrx/store';
+import * as JSZip from 'jszip';
+import { Observable } from 'rxjs';
+
import { IBlueprint } from '../../../../common/core/store/models/blueprint.model';
import { IBlueprintState } from '../../../../common/core/store/models/blueprintState.model';
import { IAppState } from '../../../../common/core/store/state/app.state';
import { LoadBlueprintSuccess } from '../../../../common/core/store/actions/blueprint.action';
-import { Observable } from 'rxjs';
@Component({
selector: 'app-search-template',
@@ -39,6 +41,14 @@ export class SearchTemplateComponent implements OnInit {
blueprintState: IBlueprintState;
bpState: Observable<IBlueprintState>;
+ @ViewChild('fileInput') fileInput;
+ result: string = '';
+
+ public paths = [];
+ public tree;
+ private zipFile: JSZip = new JSZip();
+ private fileObject: any;
+
constructor(private store: Store<IAppState>) { }
ngOnInit() {
@@ -46,8 +56,15 @@ export class SearchTemplateComponent implements OnInit {
fileChanged(e: any) {
this.file = e.target.files[0];
+
+ // this.zipFile.loadAsync(this.file)
+ // .then((zip) => {
+ // if(zip) {
+ // this.buildFileViewData(zip);
+ // }
+ // });
}
-
+
updateBlueprintState() {
let fileReader = new FileReader();
fileReader.readAsText(this.file);
@@ -57,4 +74,47 @@ export class SearchTemplateComponent implements OnInit {
me.store.dispatch(new LoadBlueprintSuccess(data));
}
}
+
+ async buildFileViewData(zip) {
+ for (var file in zip.files) {
+ this.fileObject = {
+ name: zip.files[file].name,
+ data: ''
+ };
+ const value = <any>await zip.files[file].async('string');
+ this.fileObject.data = value;
+ this.paths.push(this.fileObject);
+ }
+ this.arrangeTreeData(this.paths);
+ }
+
+ arrangeTreeData(paths) {
+ const tree = [];
+
+ paths.forEach((path) => {
+
+ const pathParts = path.name.split('/');
+ pathParts.shift();
+ let currentLevel = tree;
+
+ pathParts.forEach((part) => {
+ const existingPath = currentLevel.filter(level => level.name === part);
+
+ if (existingPath.length > 0) {
+ currentLevel = existingPath[0].children;
+ } else {
+ const newPart = {
+ name: part,
+ children: [],
+ data: path.data
+ };
+
+ currentLevel.push(newPart);
+ currentLevel = newPart.children;
+ }
+ });
+ });
+ console.log('tree: ', tree);
+ return tree;
+ }
}
diff --git a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.html b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.html
index 2ee660fbd..3ad578d36 100644
--- a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.html
+++ b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.html
@@ -25,15 +25,21 @@
<input matInput placeholder="Tags" formControlName="_tags">
</mat-form-field>
<mat-form-field class="form-field">
- <input matInput placeholder="Data Type" formControlName="_type">
+ <mat-select matInput placeholder="Data Type" formControlName="_type">
+ <mat-option value="string">string</mat-option>
+ <mat-option value="string">list</mat-option>
+ </mat-select>
</mat-form-field>
- <mat-form-field class="form-field" >
- <textarea matInput placeholder="Description" formControlName="_description"></textarea>
+ <mat-form-field class="form-field" >
+ <input matInput placeholder="entry_schema" formControlName="entry_schema">
</mat-form-field>
<mat-form-field class="form-field" >
- <input matInput placeholder="required" formControlName="_required">
+ <mat-select placeholder="required" formControlName="_required">
+ <mat-option value="true">true</mat-option>
+ <mat-option value="false">false</mat-option>
+ </mat-select>
</mat-form-field>
<mat-form-field class="form-field" >
- <input matInput placeholder="entry_schema" formControlName="entry_schema">
+ <textarea matInput placeholder="Description" formControlName="_description"></textarea>
</mat-form-field>
</form> \ No newline at end of file
diff --git a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.ts b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.ts
index bc309f4f8..f44c9b0d1 100644
--- a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.ts
+++ b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-metadata/resource-metadata.component.ts
@@ -20,7 +20,6 @@
import { Component, OnInit } from '@angular/core';
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
-import sample_licenses from '../../../../../assets/sample-licenses.json';
@Component({
selector: 'app-resource-metadata',
@@ -30,28 +29,17 @@ import sample_licenses from '../../../../../assets/sample-licenses.json';
export class ResourceMetadataComponent implements OnInit {
ResourceMetadata: FormGroup;
- data=sample_licenses;
constructor(private _formBuilder: FormBuilder) {
this.ResourceMetadata = this._formBuilder.group({
Resource_Name: ['', Validators.required],
_tags: ['', Validators.required],
_description : ['', Validators.required],
- _type: ['', Validators.required],
- _required: ['', Validators.required],
- entry_schema: ['', Validators.required]
- });
+ _type: ['string', Validators.required],
+ _required: ['false', Validators.required],
+ entry_schema: ['']
+ });
}
- ngOnInit() {
- this.ResourceMetadata = this._formBuilder.group({
- Resource_Name: [this.data["name"], Validators.required],
- _tags: [this.data["tags"], Validators.required],
- _required : [this.data["property"]["required"], Validators.required],
- _description : [this.data["property"]["description"], Validators.required],
- _type: [this.data["property"]["type"], Validators.required],
- entry_schema: [this.data["property"]["entry_schema"]["type"], Validators.required]
- });
-
- }
+ ngOnInit() {}
}