Menu page edit and delete issue fix 85/105685/1
authorRachitha Ramappa <rachitha.ramappa@att.com>
Thu, 9 Apr 2020 15:04:21 +0000 (20:34 +0530)
committerRachitha Ramappa <rachitha.ramappa@att.com>
Thu, 9 Apr 2020 15:04:31 +0000 (20:34 +0530)
Change-Id: Ibfb4533375e32a7eb4a0d7ae0aff9dbe13054e41
Issue-ID: PORTAL-867
Signed-off-by: rachitha.ramappa@att.com
ecomp-sdk/epsdk-app-os/ngappsrc/portalsdk-tag-lib-0.0.1.tgz
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.ts
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.service.ts
ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts
ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table.component.ts

index d0576c6..ae63bfb 100644 (file)
Binary files a/ecomp-sdk/epsdk-app-os/ngappsrc/portalsdk-tag-lib-0.0.1.tgz and b/ecomp-sdk/epsdk-app-os/ngappsrc/portalsdk-tag-lib-0.0.1.tgz differ
index 5d99696..c6fbc8c 100644 (file)
@@ -72,12 +72,12 @@ export class MenusComponent implements OnInit {
   public columns: any = [];
 
   activeStatusOptions = [        
-    {index: 0, value: 'true', name: 'Y'},
-    {index: 1, value: 'false', name: 'N'}
+    {id: '0', name: 'Y'},
+    {id: '1', name: 'N'}
   ];
   separatorStatusOptions = [        
-    {index: 0, value: 'true', name: 'Y'},
-    {index: 1, value: 'false', name: 'N'}
+    {id: '0', name: 'Y'},
+    {id: '1', name: 'N'}
   ];
   functionCDselectData = [];
   parentListSelectData = [];
@@ -192,6 +192,7 @@ export class MenusComponent implements OnInit {
             this.parentList.push({id: _data[i][0], name: _data[i][1]});
           }
           console.log("Actual parent list : ", this.parentList);
+          this.menuService.getParentList(this.parentList);
         }
       }, error => {
         this.showSpinner = false;
index 9df51b5..912b65b 100644 (file)
@@ -104,24 +104,32 @@ export class MenusService implements RdpCrudInterface {
     data.active = this.updateStatus(data.active);
     data.separator = this.updateStatus(data.separator);
     let keys = Object.keys(data);
+    let menuCache = this.menu;
     keys.forEach(element => {
       if (data[element] != null || data[element] != undefined) {
         if (element == 'parentId') {
-          this.menu[element] = 1;
+          if (isNaN(data[element])) {
+            menuCache[element] = this.updateParentNameToID(data[element]);
+          } else{
+            menuCache[element] = data[element];
+          }
+          console.log("Parent Id to update : ", menuCache[element]);
         } else {
-          this.menu[element] = data[element];
+          menuCache[element] = data[element];
         }
       }
     });
-    let result = { availableFnMenuItem: this.menu };
+    let result = { availableFnMenuItem: menuCache };
     let postData = JSON.stringify(result);
     console.log("postData >>>>>>", postData);
     this.adminService.updateFnMenuItem(postData)
       .subscribe(_data => {
         console.log("Response : ", _data);
         this.statusResponse.next("200");
+        menuCache = this.menu;
       }, error => {
         console.log("Error : ", error);
+        menuCache = this.menu;
       });
 
   }
@@ -131,11 +139,10 @@ export class MenusService implements RdpCrudInterface {
     console.log(data.active);
     data.active = this.updateStatus(data.active);
     data.separator = this.updateStatus(data.separator);
-    let result = { availableFnMenuItem: data };
-    this.adminService.deleteMenu(result).subscribe(response => {
+    this.adminService.deleteMenu(data).subscribe(response => {
       console.log("Response ", response);
       this.statusResponse.next("200");
-    }, error =>{
+    }, error => {
       console.log("Error : ", error);
     })
   }
@@ -148,15 +155,44 @@ export class MenusService implements RdpCrudInterface {
     }
   }
 
+  private updateBooleanValue(data) {
+    if (data) {
+      return 'Y';
+    } else {
+      return 'N';
+    }
+  }
+
+  parentList: any;
+
+  getParentList(list) {
+    this.parentList = list;
+  }
+
+  private updateParentNameToID(data) {
+    let val;
+    this.parentList.forEach(ele => {
+      if (ele['name'] == data) {
+        val = ele['id'];
+      }
+    });
+    console.log("ParentId value ", val);
+    return val;
+  }
+
   get() {
-    console.log("get method is getting called from AppServie data:: ");
+    console.log("get method is getting called from MenuServie data:: ");
     let response = this.adminService.getFnMenuItems();
     let resp;
     response.subscribe(res => {
-      console.log("Get Response : ", res);
       resp = res;
-      console.log("edited : ",JSON.parse(resp.data).fnMenuItems);
-      this.updatedData.next(JSON.parse(resp.data).fnMenuItems);
+      let responseData = JSON.parse(resp.data).fnMenuItems;
+      responseData.forEach(element => {
+        element.active = this.updateBooleanValue(element.active);
+        element.separator = this.updateBooleanValue(element.separator);
+      })
+      this.updatedData.next(responseData);
     })
   }
+
 }
index 24cb2e6..5fd507f 100644 (file)
@@ -60,7 +60,6 @@ export class RdpSelectEditorComponent implements OnInit {
   @Input() data: any[];
   @Output() changedColumnValue = new EventEmitter<any>();
   columnValue: any;
-
   constructor() { }
 
   ngOnInit() {
@@ -68,12 +67,20 @@ export class RdpSelectEditorComponent implements OnInit {
       let rowObj = JSON.parse(this.rowdata);
       let column = this.columntitle;
       this.columnValue = rowObj[column];
+      for(let i=0; i<this.data.length; i++){
+        if(this.data[i]['id'] == this.columnValue){
+          this.columnValue = this.data[i].name;
+          break;
+        }
+      }
     } else {
       this.columnValue = null;
     }
+    console.log("Select title: ",this.columntitle+" Select Value: ",this.columnValue);
   }
 
   detectChange(changedValue) {
+    console.log("Changed value : ", changedValue);
     this.changedColumnValue.emit(changedValue);
   }
 
index 954d094..983a272 100644 (file)
@@ -224,6 +224,15 @@ export class RdpDataTableComponent<T> implements OnChanges, AfterViewInit, OnIni
 
   deleteRow(data: any) {
     this.dataTableService.delete(this.applicationService, data);
+    this.applicationService.statusResponse.subscribe(response => {
+      console.log("Response : ",response);
+      if(response == 200){
+        this.applicationService.get();
+        this.applicationService.updatedData.subscribe(updatedResponse =>{
+          this.setData(updatedResponse);
+        })
+      }
+    })
   }
 
   applyFilter(filterValue: string) {