diff --git a/src/app/executions/execution/execution-detail/execution-detail.component.ts b/src/app/executions/execution/execution-detail/execution-detail.component.ts index aa03d66917a654898c461455a33c018fd571b114..b67061add32ac2a8a01b3070ad9b068fa03dcb84 100644 --- a/src/app/executions/execution/execution-detail/execution-detail.component.ts +++ b/src/app/executions/execution/execution-detail/execution-detail.component.ts @@ -89,12 +89,13 @@ export class ExecutionDetailComponent implements OnInit, OnDestroy, OnChanges { } refreshTiles(newTiles: Tile[]) { - // Sort newTiles by name before they're stored on this component - this.tiles = new Map<string, Tile>( - newTiles - .sort((a, b) => a.name.localeCompare(b.name, undefined, { numeric: true })) - .map(tile => [tile.name, tile]) - ); + if (this.job.jobspec_name.includes('_')) { + // Sort newTiles by their order in the jobspec name before they're stored on this component + const tileOrder: string[] = this.job.jobspec_name.split('_')[1].split('.'); + newTiles = newTiles.sort((a, b) => tileOrder.indexOf(a.name) - tileOrder.indexOf(b.name)); + } + + this.tiles = new Map<string, Tile>(newTiles.map(tile => [tile.name, tile])); for (const controlName in this.tilesFormGroup.controls) { this.tilesFormGroup.removeControl(controlName); } diff --git a/src/app/jobspecs/jobspec/jobspec.component.html b/src/app/jobspecs/jobspec/jobspec.component.html index defa9a37bfec5011c214a724e6c35c760ec0f949..698f275aea5d9398e3954d599c0923172241eeb3 100644 --- a/src/app/jobspecs/jobspec/jobspec.component.html +++ b/src/app/jobspecs/jobspec/jobspec.component.html @@ -12,7 +12,7 @@ <button class="btn btn-link p-0" (click)="toggleDetails()">{{ job.jobspec_name }}</button> </ng-container> <ng-template #notHomeTabName> - <a [routerLink]="['/jobs']" [queryParams]="{pattern: job.jobspec_id, queue: jobspec.queueName}">{{job.jobspec_name}}</a> + <a [routerLink]="['/jobs']" [queryParams]="{pattern: job.jobspec_id, queue: jobspec?.queueName}">{{job.jobspec_name}}</a> <button class="btn btn-xs btn-outline-primary border-0 ml-2" (click)="toggleDetails()"> <fa-icon [icon]="faCaretDown" *ngIf="!detailsExposed"></fa-icon> <fa-icon [icon]="faCaretUp" *ngIf="detailsExposed"></fa-icon>