diff options
Diffstat (limited to 'portal-FE-common/src/app/pages/users/users.component.html')
-rw-r--r-- | portal-FE-common/src/app/pages/users/users.component.html | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/portal-FE-common/src/app/pages/users/users.component.html b/portal-FE-common/src/app/pages/users/users.component.html new file mode 100644 index 00000000..8f01deab --- /dev/null +++ b/portal-FE-common/src/app/pages/users/users.component.html @@ -0,0 +1,121 @@ +<!-- + ============LICENSE_START========================================== + ONAP Portal + =================================================================== + 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============================================ + + + --> + +<div class="container"> + <div class="onap-main-view-title"> + <h1 class="heading-page">Users</h1> + </div> + <span *ngIf="showSpinner" class="onap-spinner"></span> + <mat-form-field> + <mat-label> Select Application </mat-label> + <mat-select [disabled]='adminApps.length === 0'> + <mat-option [value]="select-application" (click)="applyDropdownFilter('select-application')">Select Application + </mat-option> + <mat-option *ngFor="let app of adminApps" [value]="app.value" (click)="applyDropdownFilter(app)"> + {{app.title}}</mat-option> + </mat-select> + </mat-form-field> + + <mat-form-field> + <input matInput type="text" (keyup)="applyFilter($event.target.value)" placeholder="Search in entire table"> + </mat-form-field> + <button type="button" class="btn btn-primary" (click)="openBulkUserUploadModal()"><i + class="icon ion-md-cloud-upload"></i> + Bulk Upload</button> + <button type="button" class="btn btn-primary" (click)="openAddNewUserModal()"><i class="icon ion-md-person-add"></i> + Add </button> + <div class="error-text" id="div-select-app" [hidden]="!noAppSelected || adminApps.length === 0"> + <p class="error-help">Use the 'Select application' dropdown to see users.</p> + </div> + <div class="error-text" id="div-error-no-users" [hidden]="!noUsersInApp"> + <p> </p> + <p class="error-help"> + No users found. Select "Add User" to add a User to the application. + </p> + </div> + <div class="error-text" id="div-error-app-down" [hidden]="!appsIsDown"> + <p> </p> + <p class="error-help"> + Failed to communicate with the application. + Please try again later or contact a system administrator. + </p> + </div> + <div class="error-text" id="div-error-403" [hidden]="!adminAppsIsNull"> + <h1>Attention:</h1> + <p> </p> + <p class="error-help">It appears that you have not been added as an admin yet to an application.</p> + <p> </p> + <p class="error-help">Click on the Admins link to the left and check and see if you are listed as an admin for an + application. + If not, you can add yourself to the appropriate application.</p> + </div> + <table mat-table [dataSource]="adminsDataSource" matSort> + <!-- First Name Column --> + <ng-container matColumnDef="firstName"> + <th id="col1" mat-header-cell *matHeaderCellDef mat-sort-header> First Name </th> + <td id="rowheader_t1_{{i}}-firstName" mat-cell *matCellDef="let element; let i = index;"> {{element.firstName}} + </td> + </ng-container> + + <!-- Last Name Column --> + <ng-container matColumnDef="lastName"> + <th id="col2" mat-header-cell *matHeaderCellDef mat-sort-header> Last Name </th> + <td id="rowheader_t1_{{i}}-lastName" mat-cell *matCellDef="let element; let i=index;"> {{element.lastName}} + </td> + </ng-container> + + <!-- User ID Column --> + <ng-container matColumnDef="userId"> + <th id="col3" mat-header-cell *matHeaderCellDef mat-sort-header> User ID </th> + <td id="rowheader_t1_{{i}}-userId" mat-cell *matCellDef="let element; let i=index;"> {{element.orgUserId}} + </td> + </ng-container> + + <!-- Roles Column --> + <ng-container matColumnDef="roles"> + <th id="col4" mat-header-cell *matHeaderCellDef> Roles </th> + <td id="rowheader_t1_{{i}}-applications" mat-cell *matCellDef="let element; let i=index;"> + <div *ngFor="let element of element.roles; let i=index;"> {{element.name}} </div> + </td> + </ng-container> + + <tr [hidden]="accountUsers.length === 0" mat-header-row *matHeaderRowDef="displayedColumns"></tr> + <tr mat-row *matRowDef="let row; columns: displayedColumns;" (click)="openExistingUserModal(row)"></tr> + </table> + <mat-paginator [hidden]="accountUsers.length === 0" [pageSizeOptions]="[10, 20]" showFirstLastButtons></mat-paginator> +</div>
\ No newline at end of file |