/* * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== * Copyright © 2019 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed * under the Apache License, Version 2.0 (the "License"); * you may not use this software except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Unless otherwise specified, all documentation contained herein is licensed * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); * you may not use this documentation except in compliance with the License. * You may obtain a copy of the License at * * https://creativecommons.org/licenses/by/4.0/ * * Unless required by applicable law or agreed to in writing, documentation * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * ============LICENSE_END============================================ * * */ import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { RdpCrudInterface } from 'portalsdk-tag-lib'; import { environment } from 'src/environments/environment'; import { AdminService } from '../admin.service'; import { BehaviorSubject } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class MenusService implements RdpCrudInterface { public statusResponse = new BehaviorSubject(""); public updatedData = new BehaviorSubject({}); loadTableData(filter: any, sortActive: any, sortDirection: any, pageIndex: any, pageSize: any): import("rxjs").Observable { throw new Error("Method not implemented."); } getTotalRowCount() { throw new Error("Method not implemented."); } parentDataList: any; constructor(private http: HttpClient, private adminService: AdminService) { } menu = { action: null, active: false, activeAsString: "false", auditTrail: null, auditUserId: null, childMenus: [], created: null, createdId: null, externalUrl: null, functionCd: null, id: null, imageSrc: null, label: null, menuLevel: null, menuSetCode: null, modified: null, modifiedId: null, parentId: null, parentIdAsString: null, parentMenu: null, queryString: null, rowNum: null, separator: false, separatorAsString: false, servlet: null, sortOrder: null, target: null }; add(data: any) { console.log("Add method is getting called from AppServie data:: ", data); } update(data: any) { data.active = this.updateStatus(data.active); data.separator = this.updateStatus(data.separator); let keys = Object.keys(data); keys.forEach(element => { if (data[element] != null || data[element] != undefined) { if (element == 'parentId') { this.menu[element] = 1; } else { this.menu[element] = data[element]; } } }); let result = { availableFnMenuItem: this.menu }; let postData = JSON.stringify(result); console.log("postData >>>>>>", postData); this.adminService.updateFnMenuItem(postData) .subscribe(_data => { this.statusResponse.next("200"); }, error => { console.log("Error : ", error); }); } delete(data: any) { console.log("Delete method is getting called from AppServie data::>> " + JSON.stringify(data)); 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 => { console.log("Response ", response); this.statusResponse.next("200"); }, error =>{ console.log("Error : ", error); }) } private updateStatus(data) { if (data == 'N') { return false; } else { return true; } } get() { console.log("get method is getting called from AppServie 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); }) } }