You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by an...@apache.org on 2019/09/25 14:48:55 UTC

[incubator-dlab] 04/08: [DLAB-472]: added filtering configuration to management grid

This is an automated email from the ASF dual-hosted git repository.

ankovalyshyn pushed a commit to branch DLAB-1056
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit cb317e90c6f5d700e4deca0db4fbcd7842af47c6
Author: Andriana Kovalyshyn <An...@epam.com>
AuthorDate: Wed Sep 25 15:43:55 2019 +0300

    [DLAB-472]: added filtering configuration to management grid
---
 .../management-grid/management-grid.component.html |  2 +-
 .../management-grid/management-grid.component.scss | 38 +++++++++++++---------
 .../management-grid/management-grid.component.ts   | 36 +++++++++++++++++++-
 3 files changed, 59 insertions(+), 17 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.html b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.html
index 61350b8..95832b5 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.html
@@ -18,7 +18,7 @@
   -->
 
 <div class="ani">
-  <table mat-table [dataSource]="allEnvironmentData" class="data-grid mat-elevation-z6">
+  <table mat-table [dataSource]="allEnvironmentData" class="data-grid management mat-elevation-z6">
     <ng-container matColumnDef="user">
       <th mat-header-cell *matHeaderCellDef class="user"> User </th>
       <td mat-cell *matCellDef="let element">{{ element.user }}</td>
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.scss b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.scss
index c52342f..6e6da98 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.scss
@@ -17,25 +17,32 @@
  * under the License.
  */
 
-.dashboard_table {
+.data-grid {
+  &.management {
 
-  .th_user,
-  .th_name {
-    width: 20%;
-  }
+    .user,
+    .name,
+    .project {
+      width: 15%;
 
-  .th_shape,
-  .th_status {
-    width: 12% !important;
-  }
+      .list-menu li {
+        text-transform: inherit;
+      }
+    }
 
-  .th_resources {
-    width: 33%;
-  }
+    .shape,
+    .status {
+      width: 12% !important;
+    }
+
+    .resources {
+      width: 25%;
+    }
 
-  .dashboard_table_body {
-    td:first-child {
-      cursor: default;
+    .dashboard_table_body {
+      td:first-child {
+        cursor: default;
+      }
     }
   }
 }
@@ -50,4 +57,5 @@ table {
   .actions {
     text-align: right;
   }
+
 }
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.ts
index b0735b6..32e960f 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.ts
@@ -88,8 +88,42 @@ export class ManagementGridComponent implements OnInit {
     this.buildGrid();
   }
 
-  public applyFilter(form) {
+  public applyFilter(config) {
     debugger;
+
+    let filteredData = this.allEnvironmentData;
+
+    const containsStatus = (list, selectedItems) => {
+      return list.filter((item: any) => { if (selectedItems.indexOf(item.status) !== -1) return item; });
+    };
+
+    if (filteredData.length) this.filtering = true;
+    if (config) {
+      filteredData = filteredData.filter(item => {
+
+        // const isName = item.name.toLowerCase().indexOf(config.name.toLowerCase()) !== -1;
+        const isName = 1;
+        const isStatus = config.statuses.length > 0 ? (config.statuses.indexOf(item.status) !== -1) : (config.type !== 'active');
+        const isShape = config.shapes.length > 0 ? (config.shapes.indexOf(item.shape) !== -1) : true;
+
+        const modifiedResources = containsStatus(item.resources, config.resources);
+        let isResources = config.resources.length > 0 ? (modifiedResources.length > 0) : true;
+
+        if (config.resources.length > 0 && modifiedResources.length > 0) { item.resources = modifiedResources; }
+
+        if (config.resources.length === 0 && config.type === 'active' ||
+          modifiedResources.length >= 0 && config.resources.length > 0 && config.type === 'active') {
+          item.resources = modifiedResources;
+          isResources = true;
+        }
+
+        return isName && isStatus && isShape && isResources;
+
+      });
+
+    }
+
+    this.allEnvironmentData = filteredData;
   }
 
   toggleResourceAction(environment: any, action: string, resource?): void {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org