Skip to content

Commit 2f73ded

Browse files
Fix prep task crash (#931)
1 parent 56c7fb5 commit 2f73ded

File tree

3 files changed

+40
-7
lines changed

3 files changed

+40
-7
lines changed

app/components/job/job-hook-task/job-hook-task-details/job-hook-task-details.component.ts

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,45 @@
1-
import { Component, Input } from "@angular/core";
2-
import { JobHookTask } from "app/models";
1+
import { Component, Input, OnInit } from "@angular/core";
32

43
import { FileExplorerConfig } from "app/components/file/browse/file-explorer";
4+
import { JobHookTask, Node } from "app/models";
5+
import { NodeParams, NodeService } from "app/services";
6+
import { EntityView } from "app/services/core";
57
import "./job-hook-task-details.scss";
68

79
@Component({
810
selector: "bl-job-hook-task-details",
911
templateUrl: "job-hook-task-details.html",
1012
})
11-
export class JobHookTaskDetailsComponent {
13+
export class JobHookTaskDetailsComponent implements OnInit {
1214
@Input() public task: JobHookTask;
13-
1415
@Input() public type: string = "preparationTask";
16+
public node: Node;
17+
public loading = true;
1518

1619
public fileExplorerConfig: FileExplorerConfig = {
1720
showTreeView: false,
1821
};
22+
23+
private _nodeData: EntityView<Node, NodeParams>;
24+
25+
constructor(nodeService: NodeService) {
26+
this._nodeData = nodeService.view();
27+
this._nodeData.item.subscribe((node) => {
28+
this.node = node;
29+
});
30+
}
31+
32+
public ngOnInit() {
33+
this._nodeData.fetch().subscribe({
34+
next: () => {
35+
this.loading = false;
36+
},
37+
error: () => {
38+
this.loading = false;
39+
},
40+
});
41+
}
42+
1943
public get currentFolder() {
2044
const info = this.task[this.type];
2145
return info && info.taskRootDirectory;
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
<div *ngIf="task">
22
<div class="info">
3-
<span>Node: <a [routerLink]="['/pools', task.poolId, 'nodes', task.nodeId]">{{task.nodeId}}</a></span>
3+
<span>Node:
4+
<a [routerLink]="['/pools', task.poolId, 'nodes', task.nodeId]">{{task.nodeId}}</a>
5+
</span>
46
</div>
5-
<bl-node-file-browse [poolId]="task.poolId" [nodeId]="task.nodeId" [fileExplorerConfig]="fileExplorerConfig" [folder]="currentFolder"
6-
*ngIf="currentFolder">
7+
<bl-node-file-browse [poolId]="task.poolId" [nodeId]="task.nodeId" [node]="node" [fileExplorerConfig]="fileExplorerConfig"
8+
[folder]="currentFolder" *ngIf="node && currentFolder">
79
</bl-node-file-browse>
10+
11+
<div *ngIf="!node && !loading" class="info-overlay node-unavailable">
12+
Node where this task ran doesn't exists anymore.
13+
</div>
814
</div>

app/components/job/job-hook-task/job-hook-task-details/job-hook-task-details.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
bl-job-hook-task-details {
2+
display: block;
3+
position: relative;
4+
height: 100%;
25
.info {
36
padding: 0 10px;
47
}

0 commit comments

Comments
 (0)