1 //- Copyright (c) 2019 AT&T Intellectual Property. #
\r
3 //- Licensed under the Apache License, Version 2.0 (the "License"); #
\r
4 //- you may not use this file except in compliance with the License. #
\r
5 //- You may obtain a copy of the License at #
\r
7 //- http://www.apache.org/licenses/LICENSE-2.0 #
\r
9 //- Unless required by applicable law or agreed to in writing, software #
\r
10 //- distributed under the License is distributed on an "AS IS" BASIS, #
\r
11 //- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
\r
12 //- See the License for the specific language governing permissions and #
\r
13 //- limitations under the License. #
\r
14 //- #############################################################################
\r
17 div([@routerTransition])
\r
20 app-page-header([heading]="'Custom Role Management'")
\r
26 button(mat-raised-button color="primary", (click)="update()") Update All Rows
\r
30 div(style="width: 100%", [hidden]="!loading")
\r
31 mat-spinner(style="margin: auto", color="primary")
\r
32 table(mat-table, [dataSource]="dataSource", style="width: 100%", [hidden]="loading")
\r
34 ng-container(matColumnDef="roleName")
\r
35 th(mat-header-cell, *matHeaderCellDef) Role Name
\r
36 td(mat-cell, *matCellDef="let element") {{ element.roleName }}
\r
38 ng-container(matColumnDef="read")
\r
39 th(mat-header-cell, *matHeaderCellDef) Read
\r
40 td(mat-cell, *matCellDef="let element")
\r
41 mat-checkbox([(ngModel)]="element.readPermission", [disabled]="true")
\r
46 ng-container(matColumnDef="write")
\r
47 th(mat-header-cell, *matHeaderCellDef) Write
\r
48 td(mat-cell, *matCellDef="let element")
\r
49 mat-checkbox([(ngModel)]="element.writePermission", [disabled]="(element.roleName == 'admin')")
\r
51 ng-container(matColumnDef="execute")
\r
52 th(mat-header-cell, *matHeaderCellDef) Execute
\r
53 td(mat-cell, *matCellDef="let element")
\r
54 mat-checkbox([(ngModel)]="element.executePermission", [disabled]="(element.roleName == 'admin')")
\r
56 ng-container(matColumnDef="delete")
\r
57 th(mat-header-cell, *matHeaderCellDef) Delete
\r
58 td(mat-cell, *matCellDef="let element")
\r
59 mat-checkbox([(ngModel)]="element.deletePermission", [disabled]="(element.roleName == 'admin')")
\r
61 ng-container(matColumnDef="management")
\r
62 th(mat-header-cell, *matHeaderCellDef) Management
\r
63 td(mat-cell, *matCellDef="let element")
\r
64 mat-checkbox([(ngModel)]="element.managementPermission", [disabled]="true")
\r
66 ng-container(matColumnDef="actions")
\r
67 th(mat-header-cell, *matHeaderCellDef) Actions
\r
68 td(mat-cell, *matCellDef="let element")
\r
69 button(color="warn", matTooltip="Delete Role Permissions", mat-icon-button, (click)="deleteRole(element)", [disabled]="((element.roleName == 'admin') || (element.roleName == 'user') || (element.roleName == 'developer'))")
\r
70 mat-icon delete_forever
\r
71 button(color="primary", matTooltip="Save Role Permissions", mat-icon-button, (click)="update()", [disabled]="(element.roleName == 'admin')")
\r
77 tr(mat-header-row *matHeaderRowDef="displayedColumns")
\r
78 tr(mat-row *matRowDef="let row; columns: displayedColumns;")
\r
84 div(style="width: 100%;height:50px")
\r
93 input(matInput [(ngModel)]="roleName", id="roleName", name="roleName", placeholder="Role Name", required)
\r
94 button(mat-raised-button color="primary", (click)="create()", style="margin-left:20px;", [disabled]="!roleName") Add Role
\r