diff --git a/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html b/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html index 56fe2058e1d8096aabebb7673d9dc477a35247a4..7d52cd49fb84d6381df4d2bfc7a6f656176e91a7 100644 --- a/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html +++ b/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html @@ -27,14 +27,14 @@ </div> </div> <table *ngIf="mode === 'DOMAIN'" class="table table-hover table-condensed" style="margin-top: 3rem" - aria-describedby="Bulk deployment table"> + aria-describedby="Bulk deployment table" sortable-table (sorted)="onSort($event)"> <thead> <tr> - <th scope="col">{{'BULK.LIST.ID' | translate}}</th> - <th scope="col">{{'BULK.LIST.CREATOR' | translate}}</th> - <th scope="col">{{'BULK.LIST.CREATION_DATE' | translate}}</th> - <th scope="col">{{'BULK.LIST.STATE' | translate}}</th> - <th scope="col"></th> + <th scope="col" class="column-sortable" sortable-column="id">{{'BULK.LIST.ID' | translate}}</th> + <th scope="col" class="column-sortable" sortable-column="creator">{{'BULK.LIST.CREATOR' | translate}}</th> + <th scope="col" class="column-sortable" sortable-column="date">{{'BULK.LIST.CREATION_DATE' | translate}}</th> + <th scope="col" class="column-sortable" sortable-column="state">{{'BULK.LIST.STATE' | translate}}</th> + <th scope="col" ></th> </tr> </thead> diff --git a/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.ts b/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.ts index fe2a2ded5b0b4e4dce970454137cea132144b6a4..eaf7318d7432c50b6f607bf4246217872ec5d03b 100644 --- a/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.ts +++ b/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.ts @@ -78,7 +78,29 @@ export class BulkListComponent { this.bulks.sort((a, b) => new Date(a.creationDate).getTime() - new Date(b.creationDate).getTime()) } - } else { + } else if (sortColumn === "app_name" || sortColumn === 'instance_no') { + this.bulks.sort((a, b) => { + if (direction === 'asc') { + if (this.getProperty(a, sortColumn) > this.getProperty(b, sortColumn) ) { + return 1; + } + + if (this.getProperty(a, sortColumn) < this.getProperty(b, sortColumn)) { + return -1; + } + return 0; + } else { + if (this.getProperty(a, sortColumn) > this.getProperty(b, sortColumn)) { + return -1; + } + + if (this.getProperty(a, sortColumn) < this.getProperty(b, sortColumn)) { + return 1; + } + return 0; + } + }) + }else { this.bulks.sort((a, b) => { if (direction === 'asc') { if (a[sortColumn] > b[sortColumn]) { @@ -105,7 +127,6 @@ export class BulkListComponent { public getAppBulkDetails(id: number) { this.appDeploy.getAppBulkDetails(id).subscribe( (data: Blob) => { - console.warn(data) const blob = new Blob([data], { type: 'text/csv' }); const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); @@ -116,4 +137,14 @@ export class BulkListComponent { window.URL.revokeObjectURL(url); }) } + + private getProperty(bulk: BulkDeployment, key : string) { + if(key === 'app_name') { + return bulk.details['appName'] + + } else if(key === "instance_no") { + return bulk.details['appInstanceNo'] + } + return null + } } diff --git a/src/app/appmarket/bulkDeployment/bulk-view/bulk-view.component.html b/src/app/appmarket/bulkDeployment/bulk-view/bulk-view.component.html index d77979a15d1773e5abb1d5bfc2ab168ae9a84844..215014b66c57dfd28af43cf45473c215bd4ceca1 100644 --- a/src/app/appmarket/bulkDeployment/bulk-view/bulk-view.component.html +++ b/src/app/appmarket/bulkDeployment/bulk-view/bulk-view.component.html @@ -224,7 +224,7 @@ <td>{{getAppInstanceName(response)}}</td> <td>{{getDomainCodeName(response)}}</td> <td style="width: 5%" class="text-right"> - <span *ngif="response.type === 'APPLICATION' && response?.details['appInstanceId'] !== undefined" class="dropdown"> + <span class="dropdown"> <a style="display: inline-block" class="dropdown-toggle " aria-expanded="false" aria-haspopup="true" data-toggle="dropdown" href="#" role="button"> <em class="fas fa-cog icon-black icon-bigger"></em> diff --git a/src/app/appmarket/domains/domain-groups/domain-groups.component.html b/src/app/appmarket/domains/domain-groups/domain-groups.component.html index 266d8fe975db308596ba056a3f3acbe4d3343b00..53ae0e2083a29f2718b9b1cbd78c80e2039d1fe5 100644 --- a/src/app/appmarket/domains/domain-groups/domain-groups.component.html +++ b/src/app/appmarket/domains/domain-groups/domain-groups.component.html @@ -2,7 +2,7 @@ <h3>{{'DOMAINS.LIST.GROUPS' | translate}}</h3> <div class="flex space-between"> <div class="flex"> - <a *roles="['ROLE_SYSTEM_ADMIN']" [routerLink]="['/admin/domains/groups/add']" class="btn btn-primary" + <a *roles="['ROLE_SYSTEM_ADMIN', 'ROLE_VL_MANAGER']" [routerLink]="['/admin/domains/groups/add']" class="btn btn-primary" role="button">{{'DOMAINS.ADD_BUTTON' | translate}}</a> </div> <div class="flex"> diff --git a/src/app/appmarket/domains/domains.routes.ts b/src/app/appmarket/domains/domains.routes.ts index 6f68ce221d721657be48e1c96b8054642a290e42..12fb5a90bfaa0a6e3363b6e89855cebc7bbc4f9f 100644 --- a/src/app/appmarket/domains/domains.routes.ts +++ b/src/app/appmarket/domains/domains.routes.ts @@ -13,7 +13,7 @@ import { DomainAnnotationsComponent } from './domain-annotations/domain-annotati export const DomainsRoutes: Route[] = [ { path: 'admin/domains', component: DomainsListComponent, canActivate: [AuthGuard, RoleGuard], - data: {roles: ['ROLE_SYSTEM_ADMIN', 'ROLE_DOMAIN_ADMIN', 'ROLE_OPERATOR', 'ROLE_VL_DOMAIN_ADMIN']} + data: {roles: ['ROLE_SYSTEM_ADMIN', 'ROLE_DOMAIN_ADMIN', 'ROLE_OPERATOR', 'ROLE_VL_DOMAIN_ADMIN', 'ROLE_VL_MANAGER']} }, { path: 'admin/domains/add', component: DomainComponent, canActivate: [AuthGuard, RoleGuard], diff --git a/src/app/appmarket/users/users.routes.ts b/src/app/appmarket/users/users.routes.ts index 24df650e4f488aa1c2de33c4675699b7bbba9f12..abe74e43673b587888d86cf984e1d54252e1e2fa 100644 --- a/src/app/appmarket/users/users.routes.ts +++ b/src/app/appmarket/users/users.routes.ts @@ -10,5 +10,5 @@ export const UsersRoutes: Route[] = [ { path: 'admin/users/view/:id', component: UserDetailsComponent, canActivate: [AuthGuard, RoleGuard], data: {mode: ComponentMode.VIEW, roles: ['ROLE_SYSTEM_ADMIN']} }, { path: 'domain/users', component: UsersListComponent, canActivate: [AuthGuard, RoleGuard], - data: {roles: ['ROLE_DOMAIN_ADMIN', 'ROLE_VL_MANAGER']}}, + data: {roles: ['ROLE_DOMAIN_ADMIN', 'ROLE_VL_MANAGER', 'ROLE_VL_MANAGER']}}, ];