[WIP] Delete button for devices.
This commit is contained in:
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
<mat-dialog-actions>
|
<mat-dialog-actions>
|
||||||
<button mat-button mat-dialog-close>Cancel</button>
|
<button mat-button mat-dialog-close>Cancel</button>
|
||||||
<!-- The mat-dialog-close directive optionally accepts a value as a result for the dialog. -->
|
<!-- The mat-dialog-close directive optionally accepts a value as a result for the dialog. -->
|
||||||
<button class="red-600" mat-button [mat-dialog-close]="true">
|
<button class="red-600" mat-button (click)="onDeleteClick()">
|
||||||
<mat-icon class="icon-size-20 mr-3"
|
<mat-icon class="icon-size-20 mr-3"
|
||||||
[svgIcon]="'delete_forever'"></mat-icon>
|
[svgIcon]="'delete_forever'"></mat-icon>
|
||||||
Delete</button>
|
Delete</button>
|
||||||
|
|||||||
+18
-2
@@ -1,5 +1,7 @@
|
|||||||
import { Component, OnInit, Inject } from '@angular/core';
|
import { Component, OnInit, Inject } from '@angular/core';
|
||||||
import {MAT_DIALOG_DATA} from '@angular/material/dialog';
|
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
|
||||||
|
import {DashboardDeviceDeleteDialogService} from "./dashboard-device-delete-dialog.service";
|
||||||
|
import {Subject} from "rxjs";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dashboard-device-delete-dialog',
|
selector: 'app-dashboard-device-delete-dialog',
|
||||||
@@ -8,9 +10,23 @@ import {MAT_DIALOG_DATA} from '@angular/material/dialog';
|
|||||||
})
|
})
|
||||||
export class DashboardDeviceDeleteDialogComponent implements OnInit {
|
export class DashboardDeviceDeleteDialogComponent implements OnInit {
|
||||||
|
|
||||||
constructor(@Inject(MAT_DIALOG_DATA) public data: {wwn: string, title: string}) { }
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<DashboardDeviceDeleteDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: {wwn: string, title: string},
|
||||||
|
private _deleteService: DashboardDeviceDeleteDialogService,
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onDeleteClick(): void {
|
||||||
|
this._deleteService.deleteDevice(this.data.wwn)
|
||||||
|
.subscribe((data) => {
|
||||||
|
|
||||||
|
console.log("Delete status:", data)
|
||||||
|
this.dialogRef.close(data);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+34
@@ -0,0 +1,34 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { HttpClient } from '@angular/common/http';
|
||||||
|
import { BehaviorSubject, Observable } from 'rxjs';
|
||||||
|
import { tap } from 'rxjs/operators';
|
||||||
|
import { getBasePath } from 'app/app.routing';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class DashboardDeviceDeleteDialogService
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*
|
||||||
|
* @param {HttpClient} _httpClient
|
||||||
|
*/
|
||||||
|
constructor(
|
||||||
|
private _httpClient: HttpClient
|
||||||
|
)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------------------------------
|
||||||
|
// @ Public methods
|
||||||
|
// -----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
deleteDevice(wwn: string): Observable<any>
|
||||||
|
{
|
||||||
|
return this._httpClient.delete( `${getBasePath()}/api/device/${wwn}`, {});
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user