gentics-ui-core
Version:
This is the common core framework for the Gentics CMS and Mesh UI, and other Angular applications.
43 lines • 7.05 kB
JavaScript
import { Component } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import * as i0 from "@angular/core";
import * as i1 from "@angular/platform-browser";
import * as i2 from "../button/button.component";
import * as i3 from "@angular/common";
/**
* Internal. The default modal dialog component. Should not be directly used as a component in a view. It
* should only every be instantiated by the ModalService.dialog() method.
*/
export class ModalDialog {
constructor(sanitizer) {
this.sanitizer = sanitizer;
this.config = {};
}
setConfig(config) {
this.config = config;
if (this.config.body) {
this.safeBody = this.sanitizer.bypassSecurityTrustHtml(this.config.body);
}
}
onClick(button) {
if (button.shouldReject) {
this.cancelFn(button.returnValue);
}
else {
this.closeFn(button.returnValue);
}
}
registerCloseFn(close) {
this.closeFn = close;
}
registerCancelFn(cancel) {
this.cancelFn = cancel;
}
}
/** @nocollapse */ ModalDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ModalDialog, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ ModalDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ModalDialog, selector: "gtx-modal-dialog", ngImport: i0, template: "<div class=\"modal-title\">\n <h4>{{ config.title }}</h4>\n</div>\n<div class=\"modal-content\">\n <div class=\"modal-body\" *ngIf=\"safeBody\" [innerHTML]=\"safeBody\"></div>\n</div>\n<div class=\"modal-footer\">\n <ng-template ngFor let-button [ngForOf]=\"config.buttons\">\n <gtx-button [type]=\"button.type\"\n [flat]=\"button.flat\"\n (click)=\"onClick(button)\">{{ button.label }}</gtx-button>\n </ng-template>\n</div>\n", components: [{ type: i2.Button, selector: "gtx-button", inputs: ["autofocus", "size", "type", "flat", "icon", "disabled", "submit"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ModalDialog, decorators: [{
type: Component,
args: [{ selector: 'gtx-modal-dialog', template: "<div class=\"modal-title\">\n <h4>{{ config.title }}</h4>\n</div>\n<div class=\"modal-content\">\n <div class=\"modal-body\" *ngIf=\"safeBody\" [innerHTML]=\"safeBody\"></div>\n</div>\n<div class=\"modal-footer\">\n <ng-template ngFor let-button [ngForOf]=\"config.buttons\">\n <gtx-button [type]=\"button.type\"\n [flat]=\"button.flat\"\n (click)=\"onClick(button)\">{{ button.label }}</gtx-button>\n </ng-template>\n</div>\n" }]
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vZGFsL21vZGFsLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1kaWFsb2cudHBsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBR2pFOzs7R0FHRztBQUtILE1BQU0sT0FBTyxXQUFXO0lBT3BCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFGM0MsV0FBTSxHQUFrQyxFQUFFLENBQUM7SUFHM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFxQjtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVFO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFtRDtRQUN2RCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNILElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUF5QjtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBMkI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDM0IsQ0FBQzs7MkhBL0JRLFdBQVc7K0dBQVgsV0FBVyx3RENaeEIscWVBYUE7MkZERGEsV0FBVztrQkFKdkIsU0FBUzsrQkFDSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtJTW9kYWxEaWFsb2csIElEaWFsb2dDb25maWd9IGZyb20gJy4vbW9kYWwtaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSW50ZXJuYWwuIFRoZSBkZWZhdWx0IG1vZGFsIGRpYWxvZyBjb21wb25lbnQuIFNob3VsZCBub3QgYmUgZGlyZWN0bHkgdXNlZCBhcyBhIGNvbXBvbmVudCBpbiBhIHZpZXcuIEl0XG4gKiBzaG91bGQgb25seSBldmVyeSBiZSBpbnN0YW50aWF0ZWQgYnkgdGhlIE1vZGFsU2VydmljZS5kaWFsb2coKSBtZXRob2QuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZ3R4LW1vZGFsLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWRpYWxvZy50cGwuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxEaWFsb2cgaW1wbGVtZW50cyBJTW9kYWxEaWFsb2cge1xuICAgIGNsb3NlRm46ICh2YWw6IGFueSkgPT4gdm9pZDtcbiAgICBjYW5jZWxGbjogKHZhbD86IGFueSkgPT4gdm9pZDtcblxuICAgIHNhZmVCb2R5OiBTYWZlSHRtbDtcbiAgICBjb25maWc6IElEaWFsb2dDb25maWcgPSA8SURpYWxvZ0NvbmZpZz4ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgfVxuXG4gICAgc2V0Q29uZmlnKGNvbmZpZzogSURpYWxvZ0NvbmZpZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmJvZHkpIHtcbiAgICAgICAgICAgIHRoaXMuc2FmZUJvZHkgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLmNvbmZpZy5ib2R5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2xpY2soYnV0dG9uOiB7IHJldHVyblZhbHVlOiBhbnksIHNob3VsZFJlamVjdDogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgICAgIGlmIChidXR0b24uc2hvdWxkUmVqZWN0KSB7XG4gICAgICAgICAgICB0aGlzLmNhbmNlbEZuKGJ1dHRvbi5yZXR1cm5WYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRm4oYnV0dG9uLnJldHVyblZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyQ2xvc2VGbihjbG9zZTogKHZhbDogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VGbiA9IGNsb3NlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyQ2FuY2VsRm4oY2FuY2VsOiAodmFsPzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2FuY2VsRm4gPSBjYW5jZWw7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+XG4gICAgPGg0Pnt7IGNvbmZpZy50aXRsZSB9fTwvaDQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIiAqbmdJZj1cInNhZmVCb2R5XCIgW2lubmVySFRNTF09XCJzYWZlQm9keVwiPjwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1idXR0b24gW25nRm9yT2ZdPVwiY29uZmlnLmJ1dHRvbnNcIj5cbiAgICAgICAgPGd0eC1idXR0b24gW3R5cGVdPVwiYnV0dG9uLnR5cGVcIlxuICAgICAgICAgICAgICAgICAgICBbZmxhdF09XCJidXR0b24uZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGJ1dHRvbilcIj57eyBidXR0b24ubGFiZWwgfX08L2d0eC1idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19