You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dg...@apache.org on 2020/11/10 11:57:12 UTC

[incubator-datalab] branch develop updated: [DATALAB-2149]: Fixed role values change their position during update (#976)

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

dgnatyshyn pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git


The following commit(s) were added to refs/heads/develop by this push:
     new ed14732  [DATALAB-2149]: Fixed role values change their position during update (#976)
ed14732 is described below

commit ed1473201c90abbfd5fb035e5df585ce9b33a6c7
Author: Dmytro Gnatyshyn <42...@users.noreply.github.com>
AuthorDate: Tue Nov 10 13:52:51 2020 +0200

    [DATALAB-2149]: Fixed role values change their position during update (#976)
    
    [DATALAB-2149]: Fixed role values change their position during update
---
 .../webapp/src/app/administration/roles/roles.component.ts         | 3 ++-
 .../multi-level-select-dropdown.component.html                     | 2 +-
 .../multi-level-select-dropdown.component.ts                       | 7 +++++--
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
index ebb5e8e..b194851 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
@@ -222,7 +222,8 @@ export class RolesComponent implements OnInit {
       return v;
     }).sort((a, b) => (a.group > b.group) ? 1 : ((b.group > a.group) ? -1 : 0));
     this.groupsData.forEach(item => {
-        item.selected_roles = item.roles.map(role => ({role: role.description, type: role.type, cloud: role.cloud}));
+      const selectedRoles = item.roles.map(role => ({role: role.description, type: role.type, cloud: role.cloud}));
+      item.selected_roles = SortUtils.sortByKeys(selectedRoles, ['type']);
     });
     this.getGroupsListCopy();
   }
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.html b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.html
index 420aa09..4b7b908 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.html
@@ -21,7 +21,7 @@
   <button type="button" #list (click)="multiactions.toggle($event, list)">
     <span class="ellipsis" *ngIf="model.length === 0">Select roles</span>
     <span class="selected-items ellipsis" *ngIf="model.length !== 0">
-      {{selectedRolesList()}}
+      {{selectedList?.length ? selectedList : getSelectedRolesList()}}
     </span>
     <span class="caret-btn"><i class="material-icons">keyboard_arrow_down</i></span>
   </button>
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.ts
index 3033acc..ed19a6e 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.ts
@@ -18,6 +18,7 @@
  */
 
 import { Input, Output, Component, EventEmitter } from '@angular/core';
+import {SortUtils} from '../../../core/util';
 
 @Component({
   selector: 'multi-level-select-dropdown',
@@ -46,6 +47,7 @@ export class MultiLevelSelectDropdownComponent {
     COMPUTATIONAL: 'Compute',
     BUCKET_BROWSER: 'Bucket browser actions'
   };
+  public selectedList: any;
 
   constructor() {
   }
@@ -94,6 +96,7 @@ export class MultiLevelSelectDropdownComponent {
   }
 
   onUpdate($event): void {
+    this.selectedList = SortUtils.sortByKeys(this.getSelectedRolesList(), ['type']);
     this.selectionChange.emit({ model: this.model, type: this.type, $event });
   }
 
@@ -138,7 +141,7 @@ export class MultiLevelSelectDropdownComponent {
     return this.model.filter(v => v.role === item).length;
   }
 
-  public selectedRolesList() {
-    return this.model.map(role => role.role).join(',');
+  public getSelectedRolesList() {
+    return this.model.map(role => role.role);
   }
 }


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