@universal-material/angular
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.0.
73 lines • 9.78 kB
JavaScript
import { Component, Inject, Optional, SecurityContext, ViewChild } from '@angular/core';
import { Subject } from 'rxjs';
import { DialogComponent } from '../dialog.component';
import { CONFIRM_DIALOG_DEFAULT_OPTIONS, DefaultConfirmDialogConfig } from './confirm-dialog-config.model';
import { DialogBodyDirective } from '../dialog-body.directive';
import * as i0 from "@angular/core";
import * as i1 from "@angular/platform-browser";
import * as i2 from "./confirm-dialog-config.model";
export class ConfirmDialogComponent extends DialogComponent {
set message(value) {
this.safeMessage = this.sanitizer.sanitize(SecurityContext.HTML, value);
}
constructor(elementRef, sanitizer, confirmDialogConfig, defaultOptions) {
super(elementRef);
this.sanitizer = sanitizer;
this.safeMessage = null;
this._closed = false;
this.onCancel = new Subject();
this.onConfirm = new Subject();
this.confirmed = false;
this._confirmDialogConfig = DefaultConfirmDialogConfig;
this._confirmDialogConfig = this._assignConfig(this._confirmDialogConfig, defaultOptions);
this._confirmDialogConfig = this._assignConfig(this._confirmDialogConfig, confirmDialogConfig);
this._dialogConfig = this._confirmDialogConfig;
}
_assignConfig(baseConfig, partialConfig) {
if (partialConfig) {
baseConfig.confirmButton = { ...baseConfig.confirmButton, ...partialConfig.confirmButton };
baseConfig.cancelButton = { ...baseConfig.cancelButton, ...partialConfig.cancelButton };
delete partialConfig.confirmButton;
delete partialConfig.cancelButton;
}
return { ...baseConfig, ...partialConfig };
}
close() {
super.close();
this._closed = true;
}
_cancelClick() {
if (this._closed) {
return;
}
this.close();
this.onCancel.next();
}
_confirmClick() {
if (this._closed) {
return;
}
this.close();
this.confirmed = true;
this.onConfirm.next();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i2.ConfirmDialogConfig, optional: true }, { token: CONFIRM_DIALOG_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfirmDialogComponent, selector: "ng-component", viewQueries: [{ propertyName: "dialogBody", first: true, predicate: DialogBodyDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
type: Component,
args: [{
template: '',
}]
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.ConfirmDialogConfig, decorators: [{
type: Optional
}] }, { type: i2.ConfirmDialogConfig, decorators: [{
type: Optional
}, {
type: Inject,
args: [CONFIRM_DIALOG_DEFAULT_OPTIONS]
}] }]; }, propDecorators: { dialogBody: [{
type: ViewChild,
args: [DialogBodyDirective]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RpYWxvZy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDTCw4QkFBOEIsRUFFOUIsMEJBQTBCLEVBQzNCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFLL0QsTUFBTSxPQUFnQixzQkFBdUIsU0FBUSxlQUFlO0lBR2xFLElBQUksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFXRCxZQUFZLFVBQXNCLEVBQ0wsU0FBdUIsRUFDNUIsbUJBQXdDLEVBQ0EsY0FBbUM7UUFDakcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBSFMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQWhCcEQsZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBTTFCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHeEIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVNoQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsMEJBQTBCLENBQUM7UUFDdkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRS9GLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ2pELENBQUM7SUFFTyxhQUFhLENBQUMsVUFBK0IsRUFBRSxhQUFrQztRQUV2RixJQUFJLGFBQWEsRUFBRTtZQUNqQixVQUFVLENBQUMsYUFBYSxHQUFHLEVBQUMsR0FBRyxVQUFVLENBQUMsYUFBYSxFQUFFLEdBQUcsYUFBYSxDQUFDLGFBQWEsRUFBQyxDQUFDO1lBQ3pGLFVBQVUsQ0FBQyxZQUFZLEdBQUcsRUFBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxhQUFhLENBQUMsWUFBWSxFQUFDLENBQUM7WUFDdEYsT0FBTyxhQUFhLENBQUMsYUFBYSxDQUFDO1lBQ25DLE9BQU8sYUFBYSxDQUFDLFlBQVksQ0FBQztTQUNuQztRQUVELE9BQU8sRUFBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLGFBQWEsRUFBQyxDQUFDO0lBQzNDLENBQUM7SUFFUSxLQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBOURtQixzQkFBc0IsMkhBbUJWLDhCQUE4QjttR0FuQjFDLHNCQUFzQixnR0FjL0IsbUJBQW1CLHVFQWhCcEIsRUFBRTs7NEZBRVEsc0JBQXNCO2tCQUgzQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzswQkFtQmMsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw4QkFBOEI7NENBTHJCLFVBQVU7c0JBQWxELFNBQVM7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwsIFNlY3VyaXR5Q29udGV4dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ09ORklSTV9ESUFMT0dfREVGQVVMVF9PUFRJT05TLFxuICBDb25maXJtRGlhbG9nQ29uZmlnLFxuICBEZWZhdWx0Q29uZmlybURpYWxvZ0NvbmZpZ1xufSBmcm9tICcuL2NvbmZpcm0tZGlhbG9nLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBEaWFsb2dCb2R5RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlhbG9nLWJvZHkuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29uZmlybURpYWxvZ0NvbXBvbmVudCBleHRlbmRzIERpYWxvZ0NvbXBvbmVudCB7XG4gIHNhZmVNZXNzYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBzZXQgbWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zYWZlTWVzc2FnZSA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCB2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZWQgPSBmYWxzZTtcbiAgcmVhZG9ubHkgX2NvbmZpcm1EaWFsb2dDb25maWc6IENvbmZpcm1EaWFsb2dDb25maWc7XG5cbiAgb25DYW5jZWwgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBvbkNvbmZpcm0gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBjb25maXJtZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKERpYWxvZ0JvZHlEaXJlY3RpdmUpIG92ZXJyaWRlIGRpYWxvZ0JvZHkhOiBEaWFsb2dCb2R5RGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIGNvbmZpcm1EaWFsb2dDb25maWc6IENvbmZpcm1EaWFsb2dDb25maWcsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ09ORklSTV9ESUFMT0dfREVGQVVMVF9PUFRJT05TKSBkZWZhdWx0T3B0aW9uczogQ29uZmlybURpYWxvZ0NvbmZpZykge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuICAgIHRoaXMuX2NvbmZpcm1EaWFsb2dDb25maWcgPSBEZWZhdWx0Q29uZmlybURpYWxvZ0NvbmZpZztcbiAgICB0aGlzLl9jb25maXJtRGlhbG9nQ29uZmlnID0gdGhpcy5fYXNzaWduQ29uZmlnKHRoaXMuX2NvbmZpcm1EaWFsb2dDb25maWcsIGRlZmF1bHRPcHRpb25zKTtcbiAgICB0aGlzLl9jb25maXJtRGlhbG9nQ29uZmlnID0gdGhpcy5fYXNzaWduQ29uZmlnKHRoaXMuX2NvbmZpcm1EaWFsb2dDb25maWcsIGNvbmZpcm1EaWFsb2dDb25maWcpO1xuXG4gICAgdGhpcy5fZGlhbG9nQ29uZmlnID0gdGhpcy5fY29uZmlybURpYWxvZ0NvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnbkNvbmZpZyhiYXNlQ29uZmlnOiBDb25maXJtRGlhbG9nQ29uZmlnLCBwYXJ0aWFsQ29uZmlnOiBDb25maXJtRGlhbG9nQ29uZmlnKTogQ29uZmlybURpYWxvZ0NvbmZpZyB7XG5cbiAgICBpZiAocGFydGlhbENvbmZpZykge1xuICAgICAgYmFzZUNvbmZpZy5jb25maXJtQnV0dG9uID0gey4uLmJhc2VDb25maWcuY29uZmlybUJ1dHRvbiwgLi4ucGFydGlhbENvbmZpZy5jb25maXJtQnV0dG9ufTtcbiAgICAgIGJhc2VDb25maWcuY2FuY2VsQnV0dG9uID0gey4uLmJhc2VDb25maWcuY2FuY2VsQnV0dG9uLCAuLi5wYXJ0aWFsQ29uZmlnLmNhbmNlbEJ1dHRvbn07XG4gICAgICBkZWxldGUgcGFydGlhbENvbmZpZy5jb25maXJtQnV0dG9uO1xuICAgICAgZGVsZXRlIHBhcnRpYWxDb25maWcuY2FuY2VsQnV0dG9uO1xuICAgIH1cblxuICAgIHJldHVybiB7Li4uYmFzZUNvbmZpZywgLi4ucGFydGlhbENvbmZpZ307XG4gIH1cblxuICBvdmVycmlkZSBjbG9zZSgpIHtcbiAgICBzdXBlci5jbG9zZSgpO1xuICAgIHRoaXMuX2Nsb3NlZCA9IHRydWU7XG4gIH1cblxuICBfY2FuY2VsQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLm9uQ2FuY2VsLm5leHQoKTtcbiAgfVxuXG4gIF9jb25maXJtQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLmNvbmZpcm1lZCA9IHRydWU7XG4gICAgdGhpcy5vbkNvbmZpcm0ubmV4dCgpO1xuICB9XG59XG4iXX0=