From 6e94a7fa2c56d127d8dc850dc5a208bce8cd5b00 Mon Sep 17 00:00:00 2001 From: Landris18 Date: Thu, 29 Feb 2024 22:24:42 +0300 Subject: [PATCH] [FEAT] Delete service done --- .../dashboards/project/project.component.html | 2 +- .../dashboards/project/project.component.ts | 46 ++++++++++++++++++- .../dashboards/project/project.module.ts | 4 +- .../dashboards/project/project.service.ts | 4 ++ 4 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/app/modules/admin/dashboards/project/project.component.html b/src/app/modules/admin/dashboards/project/project.component.html index fb6a5b3..10388cc 100644 --- a/src/app/modules/admin/dashboards/project/project.component.html +++ b/src/app/modules/admin/dashboards/project/project.component.html @@ -473,7 +473,7 @@

Aucun service trouvé

- diff --git a/src/app/modules/admin/dashboards/project/project.component.ts b/src/app/modules/admin/dashboards/project/project.component.ts index d7f600d..80143e2 100644 --- a/src/app/modules/admin/dashboards/project/project.component.ts +++ b/src/app/modules/admin/dashboards/project/project.component.ts @@ -9,6 +9,7 @@ import { User } from 'app/core/user/user.types'; import { FinanceService } from '../finance/finance.service'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { FuseAlertType } from '@fuse/components/alert'; +import { FuseConfirmationService } from '@fuse/services/confirmation/confirmation.service'; @Component({ selector: 'project', @@ -41,7 +42,7 @@ export class ProjectComponent implements OnInit, OnDestroy { Manager: "/manager/dashboard" }; configForm: FormGroup; - isEdit: boolean = false; + isEdit: boolean = false; service: any; /** @@ -53,6 +54,7 @@ export class ProjectComponent implements OnInit, OnDestroy { private _financeService: FinanceService, private _router: Router, private _formBuilder: FormBuilder, + private _fuseConfirmationService: FuseConfirmationService ) { } @@ -71,6 +73,29 @@ export class ProjectComponent implements OnInit, OnDestroy { commissionPercentage: ["", [Validators.required]] }); + // Build the config form + this.configForm = this._formBuilder.group({ + title: 'Supprimer un service', + message: 'Voulez-vous vraiment supprimer ce service', + icon: this._formBuilder.group({ + show: true, + name: 'heroicons_outline:exclamation', + color: 'warn' + }), + actions: this._formBuilder.group({ + confirm: this._formBuilder.group({ + show: true, + label: 'Supprimer', + color: 'warn' + }), + cancel: this._formBuilder.group({ + show: true, + label: 'Annuler' + }) + }), + dismissible: true + }); + // Subscribe to the user service this._userService.user$ .pipe((takeUntil(this._unsubscribeAll))) @@ -223,6 +248,25 @@ export class ProjectComponent implements OnInit, OnDestroy { }); } + /** + * Open confirmation dialog + */ + openConfirmationDialog(service: any): void { + // Open the dialog and save the reference of it + const dialogRef = this._fuseConfirmationService.open(this.configForm.value); + + // Subscribe to afterClosed from the dialog reference + dialogRef.afterClosed().subscribe((result) => { + console.log(result); + if (result === "confirmed") { + this._projectService.deleteService(service._id).subscribe((res: any) => { + }, () => { + }); + this.getAllServices(); + } + }); + } + // ----------------------------------------------------------------------------------------------------- // @ Public methods // ----------------------------------------------------------------------------------------------------- diff --git a/src/app/modules/admin/dashboards/project/project.module.ts b/src/app/modules/admin/dashboards/project/project.module.ts index 3d316c7..bcf49e1 100644 --- a/src/app/modules/admin/dashboards/project/project.module.ts +++ b/src/app/modules/admin/dashboards/project/project.module.ts @@ -24,6 +24,7 @@ import { MatRadioModule } from '@angular/material/radio'; import { MatSelectModule } from '@angular/material/select'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { FuseAlertModule } from '@fuse/components/alert'; +import { FuseHighlightModule } from '@fuse/components/highlight'; @NgModule({ declarations: [ @@ -52,7 +53,8 @@ import { FuseAlertModule } from '@fuse/components/alert'; MatRadioModule, MatSelectModule, MatDatepickerModule, - FuseAlertModule + FuseAlertModule, + FuseHighlightModule ] }) export class ProjectModule diff --git a/src/app/modules/admin/dashboards/project/project.service.ts b/src/app/modules/admin/dashboards/project/project.service.ts index 5edc757..5e5af5d 100644 --- a/src/app/modules/admin/dashboards/project/project.service.ts +++ b/src/app/modules/admin/dashboards/project/project.service.ts @@ -50,4 +50,8 @@ export class ProjectService { updateService(id: string, data: any): Observable { return this._httpClient.put(`${this._baseUrl}/service/${id}`, data); } + + deleteService(id: string): Observable { + return this._httpClient.delete(`${this._baseUrl}/service/${id}`); + } }