From a0eacf519ba3aa24be44d8a159c90a6150ad1541 Mon Sep 17 00:00:00 2001 From: sagIoTPower Date: Wed, 6 Dec 2023 11:13:06 +0100 Subject: [PATCH] added confirmation dialogs --- .../manage/extension-card.component.ts | 4 +- .../editor/repositories-modal.component.ts | 46 ++++++++++++++++--- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/analytics-ui/src/analytics/manage/extension-card.component.ts b/analytics-ui/src/analytics/manage/extension-card.component.ts index 27b6a72..d558906 100644 --- a/analytics-ui/src/analytics/manage/extension-card.component.ts +++ b/analytics-ui/src/analytics/manage/extension-card.component.ts @@ -36,7 +36,7 @@ export class AnalyticsExtensionCardComponent implements OnInit { async delete() { const initialState = { title: "Delete connector", - message: "You are about to delete a connector. Do you want to proceed?", + message: "You are about to delete an extension. Do you want to proceed?", labels: { ok: "Delete", cancel: "Cancel", @@ -48,7 +48,7 @@ export class AnalyticsExtensionCardComponent implements OnInit { ); confirmDeletionModalRef.content.closeSubject.subscribe( async (result: boolean) => { - console.log("Confirmation delete result:", result); + //console.log("Confirmation delete result:", result); if (!!result) { try { await this.analyticsService.deleteExtension(this.app); diff --git a/analytics-ui/src/sample/editor/repositories-modal.component.ts b/analytics-ui/src/sample/editor/repositories-modal.component.ts index 5a61b55..ed7eaa6 100644 --- a/analytics-ui/src/sample/editor/repositories-modal.component.ts +++ b/analytics-ui/src/sample/editor/repositories-modal.component.ts @@ -1,10 +1,13 @@ import { Component, OnInit, Output, ViewEncapsulation } from "@angular/core"; import { FormBuilder, FormGroup, Validators } from "@angular/forms"; -import { ModalLabels } from "@c8y/ngx-components"; +import { AlertService, ModalLabels } from "@c8y/ngx-components"; import { Subject } from "rxjs"; import { Repository } from "../../shared/analytics.model"; import { RepositoryService } from "../../shared/repository.service"; import { uuidCustom } from "../../shared/utils"; +import { BsModalRef, BsModalService } from "ngx-bootstrap/modal"; +import { ConfirmationModalComponent } from "../../component/confirmation-modal.component"; +import { AlarmService } from "@c8y/client"; @Component({ selector: "name-repositories-modal", @@ -48,8 +51,12 @@ import { uuidCustom } from "../../shared/utils"; class="btn btn-icon btn-clean" (click)="toogleActivation(repository)" > - + Toogle activation @@ -118,13 +125,14 @@ export class RepositoriesModalComponent implements OnInit { constructor( private repositoryService: RepositoryService, - private fb: FormBuilder + private fb: FormBuilder, + private bsModalService: BsModalService, + private alertService: AlertService ) { this.repositoryForm = this.fb.group({ id: [null], name: ["", Validators.required], url: ["", Validators.required], - // Add any other form controls based on your repository model }); } @@ -162,7 +170,33 @@ export class RepositoriesModalComponent implements OnInit { } removeRepository(repositoryId: string): void { - this.repositoryService.removeRepository(repositoryId); + const initialState = { + title: "Delete connector", + message: "You are about to delete a repository. Do you want to proceed?", + labels: { + ok: "Delete", + cancel: "Cancel", + }, + }; + const confirmDeletionModalRef: BsModalRef = this.bsModalService.show( + ConfirmationModalComponent, + { initialState } + ); + confirmDeletionModalRef.content.closeSubject.subscribe( + async (result: boolean) => { + //console.log("Confirmation delete result:", result); + if (!!result) { + try { + this.repositoryService.removeRepository(repositoryId); + } catch (ex) { + if (ex) { + this.alertService.addServerFailure(ex); + } + } + } + confirmDeletionModalRef.hide(); + } + ); } onSave(event) {