@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
53 lines • 9.47 kB
JavaScript
import { Component, Inject } from '@angular/core';
import { AbstractDialogComponent } from '../../models/abstract-dialog.component';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/dialog";
import * as i2 from "@angular/platform-browser";
import * as i3 from "@ngbracket/ngx-layout/flex";
import * as i4 from "@angular/material/button";
/**
* Question modal dialog with its own layout (which asks the user a question with two answers - yes or no)
* based on a material design that injected data and inherits from an [AbstractDialog]{@link AbstractDialogComponent}.
*/
export class ConfirmDialogComponent extends AbstractDialogComponent {
dialogRef;
data;
sanitizer;
choice;
parsedContent;
/**
* Only injecting.
* @param dialogRef Reference to a dialog opened via the MatDialog service.
* @param data Injected data that was passed in to a dialog.
* @param sanitizer sanitize HTML
*/
constructor(dialogRef, data, sanitizer) {
super(dialogRef, data);
this.dialogRef = dialogRef;
this.data = data;
this.sanitizer = sanitizer;
this.choice = false;
if (data && data.content) {
this.parsedContent = sanitizer.bypassSecurityTrustHtml(data.content?.replace('\\n', '<br>'));
}
else {
this.parsedContent = sanitizer.bypassSecurityTrustHtml('');
}
}
onClose(isSubmitted) {
this.dialogRef.close({
confirmed: isSubmitted
});
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfirmDialogComponent, selector: "ncc-question-dialog", usesInheritance: true, ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n\n<div mat-dialog-content class=\"dialog-container dialog-content-margin\" [innerHTML]=\"parsedContent\"></div>\n\n<mat-dialog-actions fxLayoutAlign=\"end\">\n <button mat-button color=\"warn\" (click)=\"onClose(false)\">{{data.negativeLabel}}</button>\n <button mat-flat-button color=\"primary\" (click)=\"onClose(true)\">{{data.positiveLabel}}</button>\n</mat-dialog-actions>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
type: Component,
args: [{ selector: 'ncc-question-dialog', template: "<h1 mat-dialog-title>{{data.title}}</h1>\n\n<div mat-dialog-content class=\"dialog-container dialog-content-margin\" [innerHTML]=\"parsedContent\"></div>\n\n<mat-dialog-actions fxLayoutAlign=\"end\">\n <button mat-button color=\"warn\" (click)=\"onClose(false)\">{{data.negativeLabel}}</button>\n <button mat-flat-button color=\"primary\" (click)=\"onClose(true)\">{{data.positiveLabel}}</button>\n</mat-dialog-actions>\n" }]
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
type: Inject,
args: [MAT_DIALOG_DATA]
}] }, { type: i2.DomSanitizer }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9kaWFsb2cvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2RpYWxvZy9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBRy9FLE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBR3ZFOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBK0M7SUFXcEU7SUFDeUI7SUFBMEI7SUFWL0QsTUFBTSxDQUFVO0lBQ2hCLGFBQWEsQ0FBVztJQUUvQjs7Ozs7T0FLRztJQUNILFlBQW1CLFNBQTZELEVBQ3BDLElBQWdCLEVBQVUsU0FBdUI7UUFDekYsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUZSLGNBQVMsR0FBVCxTQUFTLENBQW9EO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBRXpGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDaEc7YUFBTTtZQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQztJQUVNLE9BQU8sQ0FBQyxXQUFvQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNqQixTQUFTLEVBQUUsV0FBVztTQUN6QixDQUFDLENBQUM7SUFDUCxDQUFDO3dHQTFCUSxzQkFBc0IsOENBWVgsZUFBZTs0RkFaMUIsc0JBQXNCLGtGQ2hCbkMsNmFBUUE7OzRGRFFhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxxQkFBcUI7OzBCQWdCbEIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0RGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi8uLi9tb2RlbHMvYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge0RpYWxvZ1Jlc3VsdH0gZnJvbSAnLi4vLi4vbW9kZWxzL0RpYWxvZ1Jlc3VsdCc7XG5pbXBvcnQge0RpYWxvZ0RhdGF9IGZyb20gJy4uLy4uL21vZGVscy9EaWFsb2dEYXRhJztcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG4vKipcbiAqIFF1ZXN0aW9uIG1vZGFsIGRpYWxvZyB3aXRoIGl0cyBvd24gbGF5b3V0ICh3aGljaCBhc2tzIHRoZSB1c2VyIGEgcXVlc3Rpb24gd2l0aCB0d28gYW5zd2VycyAtIHllcyBvciBubylcbiAqIGJhc2VkIG9uIGEgbWF0ZXJpYWwgZGVzaWduIHRoYXQgaW5qZWN0ZWQgZGF0YSBhbmQgaW5oZXJpdHMgZnJvbSBhbiBbQWJzdHJhY3REaWFsb2dde0BsaW5rIEFic3RyYWN0RGlhbG9nQ29tcG9uZW50fS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtcXVlc3Rpb24tZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybURpYWxvZ0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGlhbG9nQ29tcG9uZW50PENvbmZpcm1EaWFsb2dDb21wb25lbnQ+IHtcblxuICAgIHB1YmxpYyBjaG9pY2U6IGJvb2xlYW47XG4gICAgcHVibGljIHBhcnNlZENvbnRlbnQ6IFNhZmVIdG1sO1xuXG4gICAgLyoqXG4gICAgICogT25seSBpbmplY3RpbmcuXG4gICAgICogQHBhcmFtIGRpYWxvZ1JlZiBSZWZlcmVuY2UgdG8gYSBkaWFsb2cgb3BlbmVkIHZpYSB0aGUgTWF0RGlhbG9nIHNlcnZpY2UuXG4gICAgICogQHBhcmFtIGRhdGEgSW5qZWN0ZWQgZGF0YSB0aGF0IHdhcyBwYXNzZWQgaW4gdG8gYSBkaWFsb2cuXG4gICAgICogQHBhcmFtIHNhbml0aXplciBzYW5pdGl6ZSBIVE1MXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENvbmZpcm1EaWFsb2dDb21wb25lbnQsIERpYWxvZ1Jlc3VsdD4sXG4gICAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBEaWFsb2dEYXRhLCBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgICAgIHN1cGVyKGRpYWxvZ1JlZiwgZGF0YSk7XG4gICAgICAgIHRoaXMuY2hvaWNlID0gZmFsc2U7XG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEuY29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5wYXJzZWRDb250ZW50ID0gc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEuY29udGVudD8ucmVwbGFjZSgnXFxcXG4nLCAnPGJyPicpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFyc2VkQ29udGVudCA9IHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCgnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbG9zZShpc1N1Ym1pdHRlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICAgICAgICBjb25maXJtZWQ6IGlzU3VibWl0dGVkXG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3tkYXRhLnRpdGxlfX08L2gxPlxuXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImRpYWxvZy1jb250YWluZXIgZGlhbG9nLWNvbnRlbnQtbWFyZ2luXCIgW2lubmVySFRNTF09XCJwYXJzZWRDb250ZW50XCI+PC9kaXY+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj1cImVuZFwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIiAoY2xpY2spPVwib25DbG9zZShmYWxzZSlcIj57e2RhdGEubmVnYXRpdmVMYWJlbH19PC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQ2xvc2UodHJ1ZSlcIj57e2RhdGEucG9zaXRpdmVMYWJlbH19PC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==