summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/role-functions/role-functions.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/role-functions/role-functions.component.ts')
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/role-functions/role-functions.component.ts126
1 files changed, 126 insertions, 0 deletions
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/role-functions/role-functions.component.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/role-functions/role-functions.component.ts
new file mode 100644
index 00000000..3b97be51
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/role-functions/role-functions.component.ts
@@ -0,0 +1,126 @@
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP Portal SDK
+ * ===================================================================
+ * Copyright (C) 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 { Component, OnInit, Directive, Input, Output, EventEmitter, ViewChildren, QueryList, PipeTransform, ViewChild } from '@angular/core';
+import { AdminService } from '../admin.service';
+import {UserService} from '../../shared/services/user/user.service'
+import { User } from 'src/app/shared/services/user/user';
+import { of, Observable } from 'rxjs';
+import { RoleFunction } from './role-function';
+import { MatTableDataSource } from '@angular/material/table';
+import { MatPaginator } from '@angular/material/paginator';
+import { MatSort } from '@angular/material/sort';
+import { InformationModalComponent } from 'src/app/modals/information-modal/information-modal.component';
+import { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';
+import { NewRoleFunctionComponent } from './new-role-function/new-role-function.component';
+import { Column, DataTableSettings, ColumnTypes } from 'portalsdk-tag-lib';
+import { RoleFunctionsService } from './role-functions.service';
+
+@Component({
+ selector: 'app-role-functions',
+ templateUrl: './role-functions.component.html',
+ styleUrls: ['./role-functions.component.scss']
+})
+export class RoleFunctionsComponent implements OnInit {
+
+ tableData: Array<RoleFunction> = [];
+ response: any;
+ result: any;
+ function: RoleFunction;
+ isEditMode: boolean = false;
+ availableRoleFunctions: any;
+ showSpinner: boolean;
+
+ isAppCentralized: any;
+ user: User;
+ closeResult: string;
+
+ roleFunctionHeaders = ["name", "code", "type", "action", "edit", "delete"];
+ dataSource: MatTableDataSource<RoleFunction>;
+
+ constructor(public adminService: AdminService,
+ public userService: UserService,
+ private ngModal: NgbModal,
+ private roleFunctionService: RoleFunctionsService) { }
+
+ @ViewChild(MatPaginator, {}) paginator: MatPaginator;
+ @ViewChild(MatSort, {}) sort: MatSort;
+
+ public settings;
+ public columns: any = [];
+ typeOptions: string[] = ['menu', 'url', 'other'];
+
+ ngOnInit() {
+ this.showSpinner = false;
+ this.availableRoleFunctions = [];
+ this.getRoleFunctions();
+ let result = this.userService.getFunctionalMenuStaticDetailSession();
+ result.subscribe(user => {
+ this.user = user;
+ this.isAppCentralized = this.user.isAppCentralized;
+ });
+ }
+
+ getRoleFunctions() {
+ this.showSpinner = true;
+ let response;
+ this.response = this.adminService.getRoleFunctionList();
+ this.response.subscribe(data => {
+ response = data;
+ this.result = JSON.parse(response.data);
+ this.availableRoleFunctions = this.result.availableRoleFunctions;
+ this.tableData = JSON.parse(this.result.availableRoleFunctions);
+ //console.log("Table data : ", this.tableData);
+ this.columns.push(new Column("name", "Name", ColumnTypes.TEXT, true, null));
+ this.columns.push(new Column("code", "Code", ColumnTypes.TEXT, true, null));
+ this.columns.push(new Column("type", "Type", ColumnTypes.RADIO, true, this.typeOptions));
+ this.columns.push(new Column("action", "Action", ColumnTypes.TEXT, true, null));
+
+ this.settings = new DataTableSettings()
+ this.settings.columns = this.columns;
+ this.settings.isPaginationEnabled = true;
+ this.settings.paginationsSize = "5";
+ this.settings.isReadOnly = false;
+ this.settings.isTableSearchEnabled = true;
+ this.settings.applicationService = this.roleFunctionService;
+ this.showSpinner = false;
+
+ });
+
+ }
+}