Add status in model.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<div class="application-list" *ngIf="applications?.length; else noAnyApp">
|
||||
<app-application-card *ngFor="let application of applications" [application]="application"></app-application-card>
|
||||
<div class="application-list" *ngIf="applicationsStatus?.length; else noAnyApp">
|
||||
<app-application-card *ngFor="let applicationStatus of applicationsStatus" [applicationStatus]="applicationStatus"></app-application-card>
|
||||
</div>
|
||||
<ng-template #noAnyApp>
|
||||
<div class="no-any-app">
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Application } from 'src/app/core/entities/Application';
|
||||
import { ApplicationStatus } from 'src/app/core/entities/ApplicationStatus';
|
||||
import { ApplicationService } from 'src/app/core/services/application.service';
|
||||
import { ModalService } from 'src/app/core/services/modal.service';
|
||||
|
||||
@@ -9,7 +10,7 @@ import { ModalService } from 'src/app/core/services/modal.service';
|
||||
styleUrls: ['./status.component.scss']
|
||||
})
|
||||
export class StatusComponent implements OnInit {
|
||||
applications: Application[] = [];
|
||||
applicationsStatus: ApplicationStatus[] = [];
|
||||
|
||||
constructor(
|
||||
private _applicationService: ApplicationService,
|
||||
@@ -17,21 +18,7 @@ export class StatusComponent implements OnInit {
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.applications.push({
|
||||
name: 'Codiki',
|
||||
image: 'https://gitea.takiguchi.ovh/avatars/7639cce68867d968ec848e444d726c8b',
|
||||
status: 'started'
|
||||
} as Application, {
|
||||
name: 'Minager',
|
||||
image: 'https://gitea.takiguchi.ovh/avatars/2f5f6bc51f8e16f0467885d7bc0d1f8b',
|
||||
status: 'stoped'
|
||||
} as Application, {
|
||||
name: 'Tamotsu',
|
||||
image: 'https://gitea.takiguchi.ovh/avatars/6c339db7805f158c21b4eed47758dbb1',
|
||||
status: 'started'
|
||||
} as Application);
|
||||
|
||||
this._applicationService.getAll()
|
||||
.then(applications => this.applications = applications);
|
||||
this._applicationService.getAllStatus()
|
||||
.then(applicationsStatus => this.applicationsStatus = applicationsStatus);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="application-card">
|
||||
<div class="logo">
|
||||
<img [src]="application?.image" />
|
||||
<div class="status {{application?.status}}" matTooltip="This application is running"></div>
|
||||
<img [src]="applicationStatus?.application?.image" />
|
||||
<div class="status {{applicationStatus?.status?.toLowerCase()}}" matTooltip="This application is running"></div>
|
||||
</div>
|
||||
<div class="name">{{application?.name}}</div>
|
||||
<div class="name">{{applicationStatus?.application?.name}}</div>
|
||||
</div>
|
||||
@@ -29,7 +29,7 @@
|
||||
background-image: linear-gradient(#5bc13e, #1fa200);
|
||||
border: 2px solid #136900;
|
||||
}
|
||||
&.stoped {
|
||||
&.stopped {
|
||||
background-image: linear-gradient(#c13e3e, #a20000);
|
||||
border: 2px solid #770000;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { Application } from '../../entities/Application';
|
||||
import { ApplicationStatus } from '../../entities/ApplicationStatus';
|
||||
import { ApplicationService } from '../../services/application.service';
|
||||
|
||||
interface AppDisplaying {
|
||||
@@ -13,14 +14,10 @@ interface AppDisplaying {
|
||||
templateUrl: './application-card.component.html',
|
||||
styleUrls: ['./application-card.component.scss']
|
||||
})
|
||||
export class ApplicationCardComponent implements OnInit {
|
||||
@Input() application: Application | undefined;
|
||||
export class ApplicationCardComponent {
|
||||
@Input() applicationStatus: ApplicationStatus | undefined;
|
||||
|
||||
constructor(
|
||||
private _applicationService: ApplicationService
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
6
cerberus/src/app/core/entities/ApplicationStatus.ts
Normal file
6
cerberus/src/app/core/entities/ApplicationStatus.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { Application } from "./Application";
|
||||
|
||||
export interface ApplicationStatus {
|
||||
application: Application;
|
||||
status: string
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Application } from '../entities/Application';
|
||||
import { ApplicationStatus } from '../entities/ApplicationStatus';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -11,8 +12,8 @@ export class ApplicationService {
|
||||
private _httpClient: HttpClient
|
||||
) {}
|
||||
|
||||
getAll(): Promise<Application[]> {
|
||||
return this._httpClient.get<Application[]>('/api/applications').toPromise();
|
||||
getAllStatus(): Promise<ApplicationStatus[]> {
|
||||
return this._httpClient.get<ApplicationStatus[]>('/api/applications/status').toPromise();
|
||||
}
|
||||
|
||||
add(application: Application): Promise<Application> {
|
||||
|
||||
Reference in New Issue
Block a user