resource-edit changes 30/91730/1
authorArundathi Patil <arundpil@in.ibm.com>
Fri, 19 Jul 2019 09:39:44 +0000 (15:09 +0530)
committerArundathi Patil <arundpil@in.ibm.com>
Fri, 19 Jul 2019 09:39:50 +0000 (15:09 +0530)
made changes to fetch sources

Issue-ID: CCSDK-707
Change-Id: If7d07eb9cd49db61cbb8d8016c7f0dca01d00490
Signed-off-by: Arundathi Patil <arundpil@in.ibm.com>
cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-edit.service.ts
cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.html
cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/sources-template/sources-template.component.ts

index bd06abb..417f6ed 100644 (file)
@@ -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
index b1474d2..b179f01 100644 (file)
       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> 
index 52b19f7..c4ad83d 100644 (file)
@@ -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 ?")) {