Skip to content

Commit 99c3c18

Browse files
🔥 implementation of getting containers in real-time, edit image name to id
1 parent a7bf251 commit 99c3c18

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

src/client/src/app/components/modal/run-container-modal/run-container-modal.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export class RunContainerModalComponent implements OnInit {
5454
containerData['ports'] = {};
5555
containerData['environment'] = {};
5656

57-
containerData['image'] = this.data.resource?.name;
57+
containerData['image'] = this.data.resource?.short_id;
5858

5959
if (firstPort && secondPort) {
6060
containerData['ports'][firstPort] = secondPort;

src/client/src/app/core/containers/containers.component.html

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ <h2 class="h2-responsive text-center fw-bold navbar-text">
33
<i class="fas fa-cubes"></i> Containers
44
</h2>
55

6-
<div class="card">
6+
<div class="card" data-aos="zoom-in" data-aos-duration="500">
77
<div class="card-body">
88
<p
99
data-aos="zoom-in"
1010
data-aos-duration="500"
11+
data-aos-once="true"
1112
*ngIf="containers.length == 0"
1213
class="note border note-primary text-center"
1314
>
@@ -27,11 +28,7 @@ <h2 class="h2-responsive text-center fw-bold navbar-text">
2728
<th><i class="fas fa-compact-disc"></i> Actions</th>
2829
</tr>
2930
</thead>
30-
<tbody
31-
*ngFor="for; let container; of: containers; index as i"
32-
data-aos="zoom-in"
33-
data-aos-duration="500"
34-
>
31+
<tbody *ngFor="for; let container; of: containers; index as i">
3532
<tr>
3633
<td>{{ i + 1 }}.</td>
3734
<td>

src/client/src/app/core/containers/containers.component.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,22 @@ import { Component, OnInit } from '@angular/core';
44
import { MdbModalRef, MdbModalService } from 'mdb-angular-ui-kit/modal';
55

66
import { Status } from '@models/status';
7-
import { ModalData } from '@models/modal';
87
import { Container } from '@models/container';
98
import { ContainerService } from '@services/container.service';
109
import { ModalComponent } from '@components/modal/modal.component';
1110

11+
import { Subscription, timer } from 'rxjs';
12+
import { switchMap } from 'rxjs/operators';
13+
1214
@Component({
1315
selector: 'app-containers',
1416
templateUrl: './containers.component.html',
1517
styleUrls: ['./containers.component.scss'],
1618
})
1719
export class ContainersComponent implements OnInit {
1820
containers!: Container[];
21+
timerSubscription!: Subscription;
22+
subscription!: Subscription;
1923
modalRef: MdbModalRef<ModalComponent> | null = null;
2024

2125
status: Status = {
@@ -36,9 +40,15 @@ export class ContainersComponent implements OnInit {
3640
) {}
3741

3842
ngOnInit(): void {
39-
this.containerService.getContainers().subscribe((data: Container[]) => {
40-
this.containers = data.reverse();
41-
});
43+
this.subscription = timer(0, 1000)
44+
.pipe(switchMap(() => this.containerService.getContainers()))
45+
.subscribe((data: Container[]) => {
46+
this.containers = data.reverse();
47+
});
48+
}
49+
50+
ngOnDestroy() {
51+
this.subscription.unsubscribe();
4252
}
4353

4454
startContainer(container_id: string) {

0 commit comments

Comments
 (0)