added svcapi ui and camunda code
[it/otf.git] / otf-frontend / client / src / app / layout / user-management / user-management.component.pug
diff --git a/otf-frontend/client/src/app/layout/user-management/user-management.component.pug b/otf-frontend/client/src/app/layout/user-management/user-management.component.pug
new file mode 100644 (file)
index 0000000..5e75101
--- /dev/null
@@ -0,0 +1,86 @@
+//-  Copyright (c) 2019 AT&T Intellectual Property.                             #\r
+//-                                                                             #\r
+//-  Licensed under the Apache License, Version 2.0 (the "License");            #\r
+//-  you may not use this file except in compliance with the License.           #\r
+//-  You may obtain a copy of the License at                                    #\r
+//-                                                                             #\r
+//-      http://www.apache.org/licenses/LICENSE-2.0                             #\r
+//-                                                                             #\r
+//-  Unless required by applicable law or agreed to in writing, software        #\r
+//-  distributed under the License is distributed on an "AS IS" BASIS,          #\r
+//-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #\r
+//-  See the License for the specific language governing permissions and        #\r
+//-  limitations under the License.                                             #\r
+//- #############################################################################\r
+\r
+\r
+div([@routerTransition])\r
+  app-page-header([heading]="'User Management'", [icon]="'fa-edit'")\r
+\r
+  .card-mb-12\r
+    .pull-left\r
+      mat-form-field\r
+        input(matInput, name="filter", value="{{filterString}}", (keyup)="applyFilter($event.target.value)", placeholder="Filter")\r
+\r
+    div(style="width: 100%", [hidden]="!loading")\r
+      mat-spinner(style="margin: auto", color="primary")\r
+\r
+    table.mat-elevation-z8(mat-table, *ngIf="dataSource.data && dataSource.data.length > 0", [dataSource]="dataSource", style="width: 100%", [hidden]="loading")\r
+\r
+      ng-container(matColumnDef="lastName")\r
+        th(mat-header-cell, *matHeaderCellDef) lastName\r
+        td(mat-cell, *matCellDef="let element") {{ element.lastName }}\r
+\r
+      ng-container(matColumnDef="firstName")\r
+        th(mat-header-cell, *matHeaderCellDef) First Name\r
+        td(mat-cell, *matCellDef="let element") {{ element.firstName }}\r
+\r
+      ng-container(matColumnDef="email")\r
+        th(mat-header-cell, *matHeaderCellDef) Email\r
+        td(mat-cell, *matCellDef="let element") {{ element.email}}\r
+      \r
+      ng-container(matColumnDef="addGroups")\r
+        th(mat-header-cell, *matHeaderCellDef) Add to Group\r
+        td(mat-cell, *matCellDef="let element")\r
+          .dropdown(ngbDropdown, autoClose="outside", (openChange)="dropdownChange()", placement="left-top")\r
+            button(mat-mini-fab, color="primary", ngbDropdownToggle, (click)="null")\r
+              i.fa.fa-caret-down\r
+            .dropdown-menu(ngbDropdownMenu)\r
+              h4.mb-2.ml-1(style="font-weight: bold;") Change Groups\r
+              input.ml-1(matInput, type='search', placeholder='Search...', color='blue', [(ngModel)]='search.groupName')\r
+              div(style="max-height: 300px; overflow-y: scroll")\r
+                .px-4.py-3\r
+                  .mr-2.ml-2(*ngFor="let group of groups | filterBy:search")\r
+                    mat-checkbox((change)="addRemoveGroupList(element, group._id, $event)", [(ngModel)]="element[group._id]") {{group.groupName}} \r
+              div(style="text-align: center")            \r
+                button.primary.mr-1(mat-raised-button, [disabled]= "!element.groupsToAddRemove || element.groupsToAddRemove.length <= 0", aria-label='Edit', color="primary", (click)='addGroups(element)') Add\r
+                button(mat-raised-button, [disabled]= "!element.groupsToAddRemove || element.groupsToAddRemove.length <= 0", color="warn", (click)='removeGroups(element)')  Remove\r
+\r
+              //- a.dropdown-item(*ngFor="let group of groups", (click)='addGroupsList(element, group._id)')\r
+              //-   span.pl-1 {{group.groupName}}\r
+              //-   i.fa.fa-check(*ngIf='element.groupsToAdd !== undefined && element.groupsToAdd.includes(group._id)')\r
+                \r
+              \r
+                \r
+            //- mat-select.mr-1((selectionChange)="onChange(element)", style="width: 30%; background: #80808066",[(ngModel)]="element['groupToAddRemove']")\r
+            //-   mat-option(*ngFor="let group of groups", value="{{group._id}}") {{ group.groupName }}\r
+            //- button.mr-1(mat-mini-fab, aria-label='Edit', color="primary", (click)='addGroup(element)')\r
+            //-   i.fa.fa-plus\r
+            //- button.text-white(mat-mini-fab, aria-label='Remove', color='warn', (click)='removeGroup(element)')\r
+            //-   i.fa.fa-remove\r
+          \r
+      ng-container(matColumnDef="isVerified")\r
+        th(mat-header-cell, *matHeaderCellDef) Verified\r
+        td(mat-cell, *matCellDef="let element") {{element.isVerified ? "Yes" : "No"}}\r
+\r
+      ng-container(matColumnDef="enabled")\r
+        th(mat-header-cell, *matHeaderCellDef) Enabled\r
+        td(mat-cell, *matCellDef="let element")\r
+            mat-slide-toggle([(ngModel)]="element.enabled", "color"="primary", (input)="enableUser($event, element)")\r
+      //mat-slide-toggle([checked]="element.enabled? true : false", "color"="primary", (input)="enableUser($event, element)")\r
+\r
+      tr(mat-header-row, *matHeaderRowDef="displayedColumns")\r
+      tr(mat-row, *matRowDef="let row; columns: displayedColumns")\r
+\r
+    mat-paginator([length]="resultsLength", [pageSizeOptions]="[10, 25, 100]", [hidden]="loading")\r
+\r