diff options
Diffstat (limited to 'cds-ui/client/src/app')
3 files changed, 48 insertions, 12 deletions
diff --git a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-edit.service.ts b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-edit.service.ts index bd06abbc1..417f6edb3 100644 --- a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-edit.service.ts +++ b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-edit.service.ts @@ -36,4 +36,14 @@ export class ResourceEditService { saveResource(resource) { return this.api.post(ResourceDictionaryURLs.saveResourceDictionary, resource); } + + getSources() { + // to do + return this.api.get('ResourceDictionaryURLs.getSources'); + } + + getModelType(name) { + // to do + return this.api.get("ResourceDictionaryURLs.getModelType + '/' + name"); + } }
\ No newline at end of file diff --git a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.html b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.html index b1474d2a2..b179f011d 100644 --- a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.html +++ b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.html @@ -27,13 +27,13 @@ class="sources-list" (cdkDropListDropped)="drop($event)"> <div class="sources-box" *ngFor="let item of sourcesOptions;let i = index" cdkDrag> - <mat-expansion-panel class="expansion-panel"> + <mat-expansion-panel class="expansion-panel" (opened)="selected(item)"> <mat-expansion-panel-header> <mat-panel-title> - {{item}} + {{item.name}} </mat-panel-title> </mat-expansion-panel-header> - <json-editor [options]="options" [data]="selected(item)" on-change="onChange(item,$event)"></json-editor> + <json-editor [options]="options" [data]="item.data" on-change="onChange(item,$event)"></json-editor> </mat-expansion-panel> <button matSuffix mat-icon-button (click)="delete(item,i)"><mat-icon class="icon">delete</mat-icon></button> </div> @@ -44,7 +44,7 @@ <h3>Source Options</h3> <mat-form-field> <input [(ngModel)]="searchText" type="input" matInput placeholder="search sources"> - <button matSuffix mat-icon-button><mat-icon>search</mat-icon></button> + <button matSuffix mat-icon-button (click)="getResources()"><mat-icon>search</mat-icon></button> <mat-hint>db,mdsal,input,default,..</mat-hint> </mat-form-field> <br><br> @@ -53,7 +53,7 @@ [cdkDropListData]="option" class="options-list" (cdkDropListDropped)="drop($event)"> - <div class="options-box" *ngFor="let item of option | search :searchText" cdkDrag>{{item}}</div> + <div class="options-box" *ngFor="let item of option | search :searchText" cdkDrag>{{item.name}}</div> </div> </div> <div> diff --git a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.ts b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.ts index 52b19f728..c4ad83d67 100644 --- a/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.ts +++ b/cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.ts @@ -31,6 +31,7 @@ import { A11yModule } from '@angular/cdk/a11y'; import { LoadResourcesSuccess } from 'src/app/common/core/store/actions/resources.action'; import { ISourcesData } from 'src/app/common/core/store/models/sourcesData.model'; import { JsonEditorComponent, JsonEditorOptions } from 'ang-jsoneditor'; +import { ResourceEditService } from '../resource-edit.service'; @Component({ selector: 'app-sources-template', @@ -43,13 +44,13 @@ export class SourcesTemplateComponent implements OnInit { options = new JsonEditorOptions(); rdState: Observable<IResourcesState>; resources: IResources; - option = ['mdsal','default']; + option = []; sources:ISourcesData; sourcesOptions = []; - sourcesData = []; + sourcesData = {}; @Output() resourcesData = new EventEmitter(); - constructor(private store: Store<IAppState>) { + constructor(private store: Store<IAppState>, private apiService: ResourceEditService) { this.rdState = this.store.select('resources'); this.options.mode = 'text'; this.options.modes = [ 'text', 'tree', 'view']; @@ -79,10 +80,35 @@ export class SourcesTemplateComponent implements OnInit { this.resources.sources = Object.assign({},originalSources); }; - selected(value){ - this.sourcesData=this.sources[value]; - return this.sourcesData; - } + selected(sourceValue){ + this.sourcesData= [];//this.sources[value]; + this.apiService.getModelType(sourceValue.value) + .subscribe(data=>{ + console.log(data); + data.forEach(item =>{ + if(typeof(item)== "object") { + for (let key1 in item) { + if(key1 == 'properties') { + let newPropOnj = {} + for (let key2 in item[key1]) { + console.log(item[key1][key2]); + let varType = item[key1][key2].type + // let property : varType = + newPropOnj[key2] = item[key1][key2]; + } + } + } + } + }); + this.sourcesData = data; + this.sourcesOptions.forEach(item=>{ + if(item.name == sourceValue.name) { + item.data = data; + } + }) + return this.sourcesData; + }) +} delete(item,i){ if(confirm("Are sure you want to delete this source ?")) { |