ngx-alert-modal 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, HostListener, Component, Inject, Injectable, NgModule } from '@angular/core';
|
|
2
|
+
import { InjectionToken, HostListener, Component, createComponent, Inject, Injectable, NgModule } from '@angular/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
@@ -193,10 +193,10 @@ function applyDefaultConfig(config, defaultConfig) {
|
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
class NgxAlertModalService {
|
|
196
|
-
constructor(
|
|
197
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
196
|
+
constructor(appRef, injector, envInjector, _doc) {
|
|
198
197
|
this.appRef = appRef;
|
|
199
198
|
this.injector = injector;
|
|
199
|
+
this.envInjector = envInjector;
|
|
200
200
|
this._doc = _doc;
|
|
201
201
|
this.currentAdIndex = -1;
|
|
202
202
|
this.alerts = [];
|
|
@@ -206,8 +206,9 @@ class NgxAlertModalService {
|
|
|
206
206
|
let d = applyDefaultConfig(this.injector.get(NGX_ALERT_CONFIG, defaultOptions), defaultOptions);
|
|
207
207
|
config = applyDefaultConfig(config, d);
|
|
208
208
|
return new Promise((resolve, reject) => {
|
|
209
|
-
const
|
|
210
|
-
|
|
209
|
+
const componentRef = createComponent(NgxAlertModalComponent, {
|
|
210
|
+
environmentInjector: this.envInjector,
|
|
211
|
+
});
|
|
211
212
|
this.appRef.attachView(componentRef.hostView);
|
|
212
213
|
this.appendDialogComponentToBody(componentRef, config);
|
|
213
214
|
componentRef.instance.options = config;
|
|
@@ -255,7 +256,7 @@ class NgxAlertModalService {
|
|
|
255
256
|
this.removeDialogComponentFromBody(i);
|
|
256
257
|
}
|
|
257
258
|
}
|
|
258
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalService, deps: [{ token: i0.
|
|
259
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
259
260
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalService, providedIn: 'root' }); }
|
|
260
261
|
}
|
|
261
262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalService, decorators: [{
|
|
@@ -263,7 +264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
263
264
|
args: [{
|
|
264
265
|
providedIn: 'root',
|
|
265
266
|
}]
|
|
266
|
-
}], ctorParameters: () => [{ type: i0.
|
|
267
|
+
}], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.EnvironmentInjector }, { type: Document, decorators: [{
|
|
267
268
|
type: Inject,
|
|
268
269
|
args: [DOCUMENT]
|
|
269
270
|
}] }] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-alert-modal.mjs","sources":["../../../projects/ngx-alert-modal/src/models/AlertOptions.ts","../../../projects/ngx-alert-modal/src/models/alert-result.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.component.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.component.html","../../../projects/ngx-alert-modal/src/helper/apply-default.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.service.ts","../../../projects/ngx-alert-modal/src/ngx-alert-modal.module.ts","../../../projects/ngx-alert-modal/src/public-api.ts","../../../projects/ngx-alert-modal/src/ngx-alert-modal.ts"],"sourcesContent":["import { Inject, InjectionToken } from '@angular/core';\r\nimport { IAlertOptions } from './IAlertOptions';\r\n\r\nexport type AlertIcon =\r\n | 'None'\r\n | 'success'\r\n | 'error'\r\n | 'warning'\r\n | 'info'\r\n | 'question';\r\n\r\nexport const NGX_ALERT_CONFIG = new InjectionToken<IAlertOptions>(\r\n 'IAlertOptions',\r\n);\r\n\r\nexport const defaultOptions: AlertOptions = {\r\n useOverlay: true,\r\n title: '',\r\n text: '',\r\n html: '',\r\n backdrop: true,\r\n icon: 'None',\r\n width: undefined,\r\n allowOutsideClick: true,\r\n allowEscapeKey: true,\r\n allowEnterKey: true,\r\n showConfirmButton: true,\r\n showDenyButton: false,\r\n showCancelButton: false,\r\n confirmButtonText: 'Ok',\r\n denyButtonText: 'No',\r\n cancelButtonText: 'Cancel',\r\n confirmButtonColor: '',\r\n denyButtonColor: '',\r\n cancelButtonColor: '',\r\n confirmButtonAriaLabel: '',\r\n denyButtonAriaLabel: '',\r\n cancelButtonAriaLabel: '',\r\n reverseButtons: false,\r\n showCloseButton: false,\r\n containerClass: '',\r\n};\r\n\r\nexport class AlertOptions implements IAlertOptions {\r\n public constructor(private config?: IAlertOptions) {\r\n //config = { ...(new AlertOptions()), ...config };\r\n }\r\n /**\r\n * add popover manual to set alert dialog container to top layer\r\n * - usefull when using alert modal in angular material dialog\r\n *\r\n */\r\n useOverlay?: boolean = this.config?.useOverlay;\r\n title?: string = this.config?.title;\r\n text?: string = this.config?.text;\r\n html?: string | HTMLElement = '';\r\n backdrop?: boolean = true;\r\n icon?: AlertIcon;\r\n width?: number | string;\r\n allowOutsideClick?: boolean = true;\r\n allowEscapeKey?: boolean = true;\r\n allowEnterKey?: boolean = true;\r\n showConfirmButton?: boolean = true;\r\n showDenyButton?: boolean = false;\r\n showCancelButton?: boolean = false;\r\n confirmButtonText: string = this.config?.confirmButtonText ?? 'Ok';\r\n denyButtonText?: string = 'No';\r\n cancelButtonText?: string = 'Cancel';\r\n confirmButtonColor?: string;\r\n denyButtonColor?: string;\r\n cancelButtonColor?: string;\r\n confirmButtonAriaLabel?: string = '';\r\n denyButtonAriaLabel?: string = '';\r\n cancelButtonAriaLabel?: string = '';\r\n reverseButtons?: boolean = false;\r\n showCloseButton?: boolean = false;\r\n containerClass?: string = '';\r\n}\r\n","export interface AlertResult<T = any> {\r\n readonly isConfirmed: boolean\r\n readonly isDenied: boolean\r\n readonly isDismissed: boolean\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n readonly value?: T\r\n readonly dismiss?: DismissReason\r\n}\r\n\r\n\r\n/**\r\n * An enum of possible reasons that can explain an alert dismissal.\r\n */\r\nexport enum DismissReason {\r\n cancel,\r\n backdrop,\r\n close,\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n esc,\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n timer,\r\n}\r\n","import { Component, HostListener } from '@angular/core';\r\nimport { IAlertOptions } from \"../models/IAlertOptions\";\r\nimport { Subject } from 'rxjs';\r\nimport { AlertResult, DismissReason } from '../models/alert-result';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NGX_ALERT_CONFIG, defaultOptions } from '../public-api';\r\n\r\n@Component({\r\n selector: 'lib-ngx-alert-modal',\r\n templateUrl: 'ngx-alert-modal.component.html',\r\n styleUrls: ['./ngx-alert-modal.component.scss', './ngx-alert-icons.scss'],\r\n standalone: true,\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n {\r\n provide: NGX_ALERT_CONFIG,\r\n useValue: defaultOptions\r\n }\r\n ]\r\n})\r\nexport class NgxAlertModalComponent {\r\n options!: IAlertOptions;\r\n index = 0;\r\n\r\n private readonly _onClose = new Subject<{ index: number, result: AlertResult<any> }>();\r\n public onClose = this._onClose.asObservable();\r\n\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onScapeKey(event: Event) {\r\n if (this.options.allowEscapeKey) {\r\n this.onCancel();\r\n }\r\n }\r\n\r\n @HostListener('document:keydown.enter', ['$event'])\r\n onEnterKey(event: Event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n if (this.options.allowEnterKey) {\r\n if (this.options.showConfirmButton) {\r\n this.onConfirm();\r\n } else if (this.options.showDenyButton) {\r\n this.onDeny();\r\n } else {\r\n this.onCancel()\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n onConfirm() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: true,\r\n isDismissed: false,\r\n isDenied: false,\r\n dismiss: DismissReason.close,\r\n }\r\n }\r\n );\r\n }\r\n onCancel() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: false,\r\n isDismissed: true,\r\n isDenied: false,\r\n dismiss: DismissReason.cancel,\r\n }\r\n }\r\n );\r\n }\r\n onDeny() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: false,\r\n isDismissed: false,\r\n isDenied: true,\r\n dismiss: DismissReason.close,\r\n }\r\n }\r\n );\r\n }\r\n close() {\r\n this.onCancel();\r\n }\r\n\r\n\r\n onOutSideClick() {\r\n if (this.options.allowOutsideClick) {\r\n this.onCancel();\r\n }\r\n }\r\n innerOnClick(ev: Event) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n}\r\n","<div class=\"ngx-alert-container\" (click)=\"onOutSideClick()\" [ngClass]=\"options.containerClass\"\r\n [class.has-backdrop]=\"options.backdrop\">\r\n <div class=\"ngx-alert-inner\" (click)=\"innerOnClick($event)\">\r\n <div class=\"ngx-alert-header\" *ngIf=\"options.showCloseButton\">\r\n <button class=\"ngx-alert-close\" (click)=\"close()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256L7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256L312.1 375z\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <!-- --------- icon -------- -->\r\n <ng-container [ngSwitch]=\"options.icon\">\r\n\r\n\r\n <div *ngSwitchCase=\"'success'\" class=\"alert-icon alert-success alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-success-circular-line-left\"></div>\r\n <span class=\"alert-success-line-tip\"></span> <span class=\"alert-success-line-long\"></span>\r\n <div class=\"alert-success-ring\"></div>\r\n <div class=\"alert-success-fix\"></div>\r\n <div class=\"alert-success-circular-line-right\"></div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'error'\" class=\"alert-icon alert-error alert-icon-show\" style=\"display: flex;\">\r\n <span class=\"alert-x-mark\">\r\n <span class=\"alert-x-mark-line-left\"></span>\r\n <span class=\"alert-x-mark-line-right\"></span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'info'\" class=\"alert-icon alert-info alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">i</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'question'\" class=\"alert-icon alert-question alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">?</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'warning'\" class=\"alert-icon alert-warning alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">!</div>\r\n </div>\r\n\r\n\r\n </ng-container>\r\n <!-- --------- /icon -------- -->\r\n\r\n <div class=\"ngx-alert-title\">\r\n {{options.title}}\r\n </div>\r\n <div class=\"ngx-alert-body\">\r\n {{options.text}}\r\n <span [innerHTML]=\"options.html\"></span>\r\n </div>\r\n <div class=\"ngx-alert-footer\">\r\n <button *ngIf=\"options.showCancelButton\" class=\"btn-cancel\" (click)=\"onCancel()\"\r\n [attr.aria-label]=\"options.cancelButtonAriaLabel\">\r\n {{options.cancelButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showDenyButton\" class=\"btn-deny\" (click)=\"onDeny()\"\r\n [attr.aria-label]=\"options.denyButtonAriaLabel\">\r\n {{options.denyButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showConfirmButton\" class=\"btn-confirm\" (click)=\"onConfirm()\"\r\n [attr.aria-label]=\"options.confirmButtonAriaLabel\">\r\n {{options.confirmButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>","\r\nexport function applyDefaultConfig(config: any, defaultConfig: any): any {\r\n var config = JSON.parse(JSON.stringify(config));\r\n for (let key in defaultConfig) {\r\n if (config[key] === undefined || config[key] === null || config[key] === '') {\r\n config[key] = defaultConfig[key];\r\n } else if (typeof config[key] === 'object') {\r\n config[key] = applyDefaultConfig(config[key], defaultConfig[key]);\r\n }\r\n }\r\n return config;\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n} from '@angular/core';\r\nimport { NGX_ALERT_CONFIG, defaultOptions } from '../models/AlertOptions';\r\nimport { IAlertOptions } from '../models/IAlertOptions';\r\nimport { NgxAlertModalComponent } from './ngx-alert-modal.component';\r\nimport { AlertResult } from '../models/alert-result';\r\nimport { applyDefaultConfig } from '../helper/apply-default';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NgxAlertModalService {\r\n currentAdIndex = -1;\r\n alerts: ComponentRef<NgxAlertModalComponent>[] = [];\r\n insertedId = 0;\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n @Inject(DOCUMENT) private _doc: Document,\r\n ) {}\r\n\r\n public show(config: IAlertOptions): Promise<AlertResult<any>> {\r\n let d = applyDefaultConfig(\r\n this.injector.get(NGX_ALERT_CONFIG, defaultOptions),\r\n defaultOptions,\r\n );\r\n config = applyDefaultConfig(config, d);\r\n return new Promise((resolve, reject) => {\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(\r\n NgxAlertModalComponent,\r\n );\r\n const componentRef = componentFactory.create(this.injector);\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n this.appendDialogComponentToBody(componentRef, config);\r\n componentRef.instance.options = config;\r\n componentRef.instance.index = this.insertedId;\r\n componentRef.instance.onClose.subscribe((result) => {\r\n this.removeDialogComponentFromBody(result.index);\r\n resolve(result.result);\r\n });\r\n this.alerts.push(componentRef);\r\n this.insertedId++;\r\n });\r\n }\r\n\r\n private removeDialogComponentFromBody(index: number): void {\r\n if (this.alerts[index]) {\r\n const domElem = (this.alerts[index].hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n // قبل از destroy باید hidePopover صدا بزنیم\r\n if (domElem.popover === 'manual') {\r\n try {\r\n domElem.hidePopover();\r\n } catch {}\r\n }\r\n\r\n this.appRef.detachView(this.alerts[index].hostView);\r\n this.alerts[index].destroy();\r\n }\r\n }\r\n\r\n private appendDialogComponentToBody(\r\n componentRef: ComponentRef<NgxAlertModalComponent>,\r\n config: IAlertOptions,\r\n ) {\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n if (config.containerClass) {\r\n for (let c of config.containerClass.split(' ')) {\r\n if (c.trim()) domElem.classList.add(c);\r\n }\r\n }\r\n this._doc.body.appendChild(domElem);\r\n if (config.useOverlay) {\r\n domElem.popover = 'manual';\r\n domElem.showPopover();\r\n }\r\n }\r\n\r\n closeAll() {\r\n for (let i = 0; i < this.alerts.length; i++) {\r\n this.removeDialogComponentFromBody(i);\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { IAlertOptions, NGX_ALERT_CONFIG } from \"./public-api\";\r\nimport { NgxAlertModalService } from \"./lib/ngx-alert-modal.service\";\r\n\r\n@NgModule({\r\n providers: [\r\n NgxAlertModalService\r\n ]\r\n})\r\nexport class NgxAlertModalModule {\r\n static forRoot(config: IAlertOptions): ModuleWithProviders<NgxAlertModalModule> {\r\n return {\r\n ngModule: NgxAlertModalModule,\r\n providers: [\r\n {\r\n provide: NGX_ALERT_CONFIG,\r\n useValue: config\r\n }\r\n ]\r\n }\r\n }\r\n}","/*\r\n * Public API Surface of ngx-alert-modal\r\n */\r\n\r\nexport * from './lib/ngx-alert-modal.service';\r\nexport * from './lib/ngx-alert-modal.component';\r\n\r\nexport * from './models/alert-result';\r\n\r\nexport * from './models/AlertOptions';\r\nexport * from './models/IAlertOptions';\r\n\r\nexport * from './ngx-alert-modal.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-alert-modal.mjs","sources":["../../../projects/ngx-alert-modal/src/models/AlertOptions.ts","../../../projects/ngx-alert-modal/src/models/alert-result.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.component.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.component.html","../../../projects/ngx-alert-modal/src/helper/apply-default.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.service.ts","../../../projects/ngx-alert-modal/src/ngx-alert-modal.module.ts","../../../projects/ngx-alert-modal/src/public-api.ts","../../../projects/ngx-alert-modal/src/ngx-alert-modal.ts"],"sourcesContent":["import { Inject, InjectionToken } from '@angular/core';\r\nimport { IAlertOptions } from './IAlertOptions';\r\n\r\nexport type AlertIcon =\r\n | 'None'\r\n | 'success'\r\n | 'error'\r\n | 'warning'\r\n | 'info'\r\n | 'question';\r\n\r\nexport const NGX_ALERT_CONFIG = new InjectionToken<IAlertOptions>(\r\n 'IAlertOptions',\r\n);\r\n\r\nexport const defaultOptions: AlertOptions = {\r\n useOverlay: true,\r\n title: '',\r\n text: '',\r\n html: '',\r\n backdrop: true,\r\n icon: 'None',\r\n width: undefined,\r\n allowOutsideClick: true,\r\n allowEscapeKey: true,\r\n allowEnterKey: true,\r\n showConfirmButton: true,\r\n showDenyButton: false,\r\n showCancelButton: false,\r\n confirmButtonText: 'Ok',\r\n denyButtonText: 'No',\r\n cancelButtonText: 'Cancel',\r\n confirmButtonColor: '',\r\n denyButtonColor: '',\r\n cancelButtonColor: '',\r\n confirmButtonAriaLabel: '',\r\n denyButtonAriaLabel: '',\r\n cancelButtonAriaLabel: '',\r\n reverseButtons: false,\r\n showCloseButton: false,\r\n containerClass: '',\r\n};\r\n\r\nexport class AlertOptions implements IAlertOptions {\r\n public constructor(private config?: IAlertOptions) {\r\n //config = { ...(new AlertOptions()), ...config };\r\n }\r\n /**\r\n * add popover manual to set alert dialog container to top layer\r\n * - usefull when using alert modal in angular material dialog\r\n *\r\n */\r\n useOverlay?: boolean = this.config?.useOverlay;\r\n title?: string = this.config?.title;\r\n text?: string = this.config?.text;\r\n html?: string | HTMLElement = '';\r\n backdrop?: boolean = true;\r\n icon?: AlertIcon;\r\n width?: number | string;\r\n allowOutsideClick?: boolean = true;\r\n allowEscapeKey?: boolean = true;\r\n allowEnterKey?: boolean = true;\r\n showConfirmButton?: boolean = true;\r\n showDenyButton?: boolean = false;\r\n showCancelButton?: boolean = false;\r\n confirmButtonText: string = this.config?.confirmButtonText ?? 'Ok';\r\n denyButtonText?: string = 'No';\r\n cancelButtonText?: string = 'Cancel';\r\n confirmButtonColor?: string;\r\n denyButtonColor?: string;\r\n cancelButtonColor?: string;\r\n confirmButtonAriaLabel?: string = '';\r\n denyButtonAriaLabel?: string = '';\r\n cancelButtonAriaLabel?: string = '';\r\n reverseButtons?: boolean = false;\r\n showCloseButton?: boolean = false;\r\n containerClass?: string = '';\r\n}\r\n","export interface AlertResult<T = any> {\r\n readonly isConfirmed: boolean\r\n readonly isDenied: boolean\r\n readonly isDismissed: boolean\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n readonly value?: T\r\n readonly dismiss?: DismissReason\r\n}\r\n\r\n\r\n/**\r\n * An enum of possible reasons that can explain an alert dismissal.\r\n */\r\nexport enum DismissReason {\r\n cancel,\r\n backdrop,\r\n close,\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n esc,\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n timer,\r\n}\r\n","import { Component, HostListener } from '@angular/core';\r\nimport { IAlertOptions } from \"../models/IAlertOptions\";\r\nimport { Subject } from 'rxjs';\r\nimport { AlertResult, DismissReason } from '../models/alert-result';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NGX_ALERT_CONFIG, defaultOptions } from '../public-api';\r\n\r\n@Component({\r\n selector: 'lib-ngx-alert-modal',\r\n templateUrl: 'ngx-alert-modal.component.html',\r\n styleUrls: ['./ngx-alert-modal.component.scss', './ngx-alert-icons.scss'],\r\n standalone: true,\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n {\r\n provide: NGX_ALERT_CONFIG,\r\n useValue: defaultOptions\r\n }\r\n ]\r\n})\r\nexport class NgxAlertModalComponent {\r\n options!: IAlertOptions;\r\n index = 0;\r\n\r\n private readonly _onClose = new Subject<{ index: number, result: AlertResult<any> }>();\r\n public onClose = this._onClose.asObservable();\r\n\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onScapeKey(event: Event) {\r\n if (this.options.allowEscapeKey) {\r\n this.onCancel();\r\n }\r\n }\r\n\r\n @HostListener('document:keydown.enter', ['$event'])\r\n onEnterKey(event: Event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n if (this.options.allowEnterKey) {\r\n if (this.options.showConfirmButton) {\r\n this.onConfirm();\r\n } else if (this.options.showDenyButton) {\r\n this.onDeny();\r\n } else {\r\n this.onCancel()\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n onConfirm() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: true,\r\n isDismissed: false,\r\n isDenied: false,\r\n dismiss: DismissReason.close,\r\n }\r\n }\r\n );\r\n }\r\n onCancel() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: false,\r\n isDismissed: true,\r\n isDenied: false,\r\n dismiss: DismissReason.cancel,\r\n }\r\n }\r\n );\r\n }\r\n onDeny() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: false,\r\n isDismissed: false,\r\n isDenied: true,\r\n dismiss: DismissReason.close,\r\n }\r\n }\r\n );\r\n }\r\n close() {\r\n this.onCancel();\r\n }\r\n\r\n\r\n onOutSideClick() {\r\n if (this.options.allowOutsideClick) {\r\n this.onCancel();\r\n }\r\n }\r\n innerOnClick(ev: Event) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n}\r\n","<div class=\"ngx-alert-container\" (click)=\"onOutSideClick()\" [ngClass]=\"options.containerClass\"\r\n [class.has-backdrop]=\"options.backdrop\">\r\n <div class=\"ngx-alert-inner\" (click)=\"innerOnClick($event)\">\r\n <div class=\"ngx-alert-header\" *ngIf=\"options.showCloseButton\">\r\n <button class=\"ngx-alert-close\" (click)=\"close()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256L7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256L312.1 375z\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <!-- --------- icon -------- -->\r\n <ng-container [ngSwitch]=\"options.icon\">\r\n\r\n\r\n <div *ngSwitchCase=\"'success'\" class=\"alert-icon alert-success alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-success-circular-line-left\"></div>\r\n <span class=\"alert-success-line-tip\"></span> <span class=\"alert-success-line-long\"></span>\r\n <div class=\"alert-success-ring\"></div>\r\n <div class=\"alert-success-fix\"></div>\r\n <div class=\"alert-success-circular-line-right\"></div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'error'\" class=\"alert-icon alert-error alert-icon-show\" style=\"display: flex;\">\r\n <span class=\"alert-x-mark\">\r\n <span class=\"alert-x-mark-line-left\"></span>\r\n <span class=\"alert-x-mark-line-right\"></span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'info'\" class=\"alert-icon alert-info alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">i</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'question'\" class=\"alert-icon alert-question alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">?</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'warning'\" class=\"alert-icon alert-warning alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">!</div>\r\n </div>\r\n\r\n\r\n </ng-container>\r\n <!-- --------- /icon -------- -->\r\n\r\n <div class=\"ngx-alert-title\">\r\n {{options.title}}\r\n </div>\r\n <div class=\"ngx-alert-body\">\r\n {{options.text}}\r\n <span [innerHTML]=\"options.html\"></span>\r\n </div>\r\n <div class=\"ngx-alert-footer\">\r\n <button *ngIf=\"options.showCancelButton\" class=\"btn-cancel\" (click)=\"onCancel()\"\r\n [attr.aria-label]=\"options.cancelButtonAriaLabel\">\r\n {{options.cancelButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showDenyButton\" class=\"btn-deny\" (click)=\"onDeny()\"\r\n [attr.aria-label]=\"options.denyButtonAriaLabel\">\r\n {{options.denyButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showConfirmButton\" class=\"btn-confirm\" (click)=\"onConfirm()\"\r\n [attr.aria-label]=\"options.confirmButtonAriaLabel\">\r\n {{options.confirmButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>","\r\nexport function applyDefaultConfig(config: any, defaultConfig: any): any {\r\n var config = JSON.parse(JSON.stringify(config));\r\n for (let key in defaultConfig) {\r\n if (config[key] === undefined || config[key] === null || config[key] === '') {\r\n config[key] = defaultConfig[key];\r\n } else if (typeof config[key] === 'object') {\r\n config[key] = applyDefaultConfig(config[key], defaultConfig[key]);\r\n }\r\n }\r\n return config;\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n createComponent,\r\n EmbeddedViewRef,\r\n EnvironmentInjector,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { NGX_ALERT_CONFIG, defaultOptions } from '../models/AlertOptions';\r\nimport { IAlertOptions } from '../models/IAlertOptions';\r\nimport { NgxAlertModalComponent } from './ngx-alert-modal.component';\r\nimport { AlertResult } from '../models/alert-result';\r\nimport { applyDefaultConfig } from '../helper/apply-default';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NgxAlertModalService {\r\n currentAdIndex = -1;\r\n alerts: ComponentRef<NgxAlertModalComponent>[] = [];\r\n insertedId = 0;\r\n constructor(\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n private envInjector: EnvironmentInjector,\r\n @Inject(DOCUMENT) private _doc: Document,\r\n ) {}\r\n\r\n public show(config: IAlertOptions): Promise<AlertResult<any>> {\r\n let d = applyDefaultConfig(\r\n this.injector.get(NGX_ALERT_CONFIG, defaultOptions),\r\n defaultOptions,\r\n );\r\n config = applyDefaultConfig(config, d);\r\n return new Promise((resolve, reject) => {\r\n const componentRef = createComponent(NgxAlertModalComponent, {\r\n environmentInjector: this.envInjector,\r\n });\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n this.appendDialogComponentToBody(componentRef, config);\r\n componentRef.instance.options = config;\r\n componentRef.instance.index = this.insertedId;\r\n componentRef.instance.onClose.subscribe((result) => {\r\n this.removeDialogComponentFromBody(result.index);\r\n resolve(result.result);\r\n });\r\n this.alerts.push(componentRef);\r\n this.insertedId++;\r\n });\r\n }\r\n\r\n private removeDialogComponentFromBody(index: number): void {\r\n if (this.alerts[index]) {\r\n const domElem = (this.alerts[index].hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n // قبل از destroy باید hidePopover صدا بزنیم\r\n if (domElem.popover === 'manual') {\r\n try {\r\n domElem.hidePopover();\r\n } catch {}\r\n }\r\n\r\n this.appRef.detachView(this.alerts[index].hostView);\r\n this.alerts[index].destroy();\r\n }\r\n }\r\n\r\n private appendDialogComponentToBody(\r\n componentRef: ComponentRef<NgxAlertModalComponent>,\r\n config: IAlertOptions,\r\n ) {\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n if (config.containerClass) {\r\n for (let c of config.containerClass.split(' ')) {\r\n if (c.trim()) domElem.classList.add(c);\r\n }\r\n }\r\n this._doc.body.appendChild(domElem);\r\n if (config.useOverlay) {\r\n domElem.popover = 'manual';\r\n domElem.showPopover();\r\n }\r\n }\r\n\r\n closeAll() {\r\n for (let i = 0; i < this.alerts.length; i++) {\r\n this.removeDialogComponentFromBody(i);\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { IAlertOptions, NGX_ALERT_CONFIG } from \"./public-api\";\r\nimport { NgxAlertModalService } from \"./lib/ngx-alert-modal.service\";\r\n\r\n@NgModule({\r\n providers: [\r\n NgxAlertModalService\r\n ]\r\n})\r\nexport class NgxAlertModalModule {\r\n static forRoot(config: IAlertOptions): ModuleWithProviders<NgxAlertModalModule> {\r\n return {\r\n ngModule: NgxAlertModalModule,\r\n providers: [\r\n {\r\n provide: NGX_ALERT_CONFIG,\r\n useValue: config\r\n }\r\n ]\r\n }\r\n }\r\n}","/*\r\n * Public API Surface of ngx-alert-modal\r\n */\r\n\r\nexport * from './lib/ngx-alert-modal.service';\r\nexport * from './lib/ngx-alert-modal.component';\r\n\r\nexport * from './models/alert-result';\r\n\r\nexport * from './models/AlertOptions';\r\nexport * from './models/IAlertOptions';\r\n\r\nexport * from './ngx-alert-modal.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, ComponentRef,
|
|
2
|
+
import { InjectionToken, ComponentRef, ApplicationRef, Injector, EnvironmentInjector, ModuleWithProviders } from '@angular/core';
|
|
3
3
|
import * as rxjs from 'rxjs';
|
|
4
4
|
|
|
5
5
|
type AlertIcon = 'None' | 'success' | 'error' | 'warning' | 'info' | 'question';
|
|
@@ -241,14 +241,14 @@ declare class NgxAlertModalComponent {
|
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
declare class NgxAlertModalService {
|
|
244
|
-
private componentFactoryResolver;
|
|
245
244
|
private appRef;
|
|
246
245
|
private injector;
|
|
246
|
+
private envInjector;
|
|
247
247
|
private _doc;
|
|
248
248
|
currentAdIndex: number;
|
|
249
249
|
alerts: ComponentRef<NgxAlertModalComponent>[];
|
|
250
250
|
insertedId: number;
|
|
251
|
-
constructor(
|
|
251
|
+
constructor(appRef: ApplicationRef, injector: Injector, envInjector: EnvironmentInjector, _doc: Document);
|
|
252
252
|
show(config: IAlertOptions): Promise<AlertResult<any>>;
|
|
253
253
|
private removeDialogComponentFromBody;
|
|
254
254
|
private appendDialogComponentToBody;
|