@angay/delete-modal
Version:
A reusable Angular delete confirmation modal component library.
1 lines • 5.15 kB
Source Map (JSON)
{"version":3,"file":"angay-delete-modal.mjs","sources":["../../../../projects/angay/delete-modal/src/lib/delete-modal.service.ts","../../../../projects/angay/delete-modal/src/lib/delete-modal.component.ts","../../../../projects/angay/delete-modal/src/lib/delete-modal.component.html","../../../../projects/angay/delete-modal/src/public-api.ts","../../../../projects/angay/delete-modal/src/angay-delete-modal.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DeleteModalService {\r\n\r\n private visibleSubject = new BehaviorSubject<boolean>(false);\r\n visible$ = this.visibleSubject.asObservable();\r\n\r\n private confirmCallback: (() => void) | null = null;\r\n\r\n open(onConfirm?: () => void) {\r\n this.confirmCallback = onConfirm || null;\r\n this.visibleSubject.next(true);\r\n }\r\n\r\n close() {\r\n this.visibleSubject.next(false);\r\n }\r\n\r\n confirm() {\r\n if (this.confirmCallback) this.confirmCallback();\r\n this.close();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { DeleteModalService } from '../public-api';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'angay-delete-modal',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './delete-modal.component.html',\r\n styleUrls: ['./delete-modal.component.scss']\r\n})\r\nexport class DeleteModalComponent {\r\n @Input() heading = 'Delete?';\r\n @Input() message = 'Are you sure you want to delete this item?';\r\n @Input() confirmButtonText = 'Yes, Delete';\r\n @Input() cancelButtonText = 'Cancel';\r\n isVisible = false;\r\n\r\n constructor(public modalService: DeleteModalService) { }\r\n\r\n ngOnInit(): void {\r\n this.modalService.visible$.subscribe((visible) => {\r\n this.isVisible = visible;\r\n });\r\n }\r\n\r\n close() {\r\n this.modalService.close();\r\n }\r\n\r\n confirm() {\r\n this.modalService.confirm();\r\n }\r\n}\r\n","<div class=\"modal-backdrop\" *ngIf=\"isVisible\">\r\n <div class=\"modal-box\">\r\n <h5 class=\"modal-title\">{{ heading }}</h5>\r\n <p class=\"modal-text\">{{ message }}</p>\r\n <div class=\"modal-actions\">\r\n <button class=\"btn btn-danger\" (click)=\"confirm()\">{{ confirmButtonText }}</button>\r\n <button class=\"btn btn-outline-light\" (click)=\"close()\">{{ cancelButtonText }}</button>\r\n </div>\r\n </div>\r\n</div>","/*\r\n * Public API Surface of delete-modal\r\n */\r\n\r\nexport * from './lib/delete-modal.service';\r\nexport * from './lib/delete-modal.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DeleteModalService"],"mappings":"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"}