ngx-modialog-7
Version:
Modal / Dialog for Angular
97 lines • 7.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/providers/modal.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @param {?} dropInName
* @return {?}
*/
export function unsupportedDropInError(dropInName) {
return new Error(`Unsupported Drop-In ${dropInName}`);
}
/**
* @abstract
*/
export class Modal {
/**
* @param {?} overlay
*/
constructor(overlay) {
this.overlay = overlay;
}
/**
* @return {?}
*/
alert() {
throw unsupportedDropInError('alert');
}
/**
* @return {?}
*/
prompt() {
throw unsupportedDropInError('prompt');
}
/**
* @return {?}
*/
confirm() {
throw unsupportedDropInError('confirm');
}
/**
* Opens a modal window inside an existing component.
* @param {?} content The content to display, either string, template ref or a component.
* @param {?=} config Additional settings.
* @return {?}
*/
open(content, config) {
config = config || (/** @type {?} */ ({}));
/** @type {?} */
const dialogs = this.overlay.open(config, this.constructor);
if (dialogs.length > 1) {
console.warn(`Attempt to open more then 1 overlay detected.
Multiple modal copies are not supported at the moment,
only the first viewContainer will display.`);
}
// TODO: Currently supporting 1 view container, hence working on dialogs[0].
// upgrade to multiple containers.
return this.create(dialogs[0], content);
}
/**
* @protected
* @template T
* @param {?} dialogRef
* @param {?} BackdropComponent
* @return {?}
*/
createBackdrop(dialogRef, BackdropComponent) {
return dialogRef.overlayRef.instance.addComponent(BackdropComponent);
}
/**
* @protected
* @template T
* @param {?} dialogRef
* @param {?} ContainerComponent
* @param {?} content
* @return {?}
*/
createContainer(dialogRef, ContainerComponent, content) {
/** @type {?} */
const nodes = dialogRef.overlayRef.instance.getProjectables(content);
return dialogRef.overlayRef.instance.addComponent(ContainerComponent, nodes);
}
}
if (false) {
/** @type {?} */
Modal.prototype.overlay;
/**
* A Hook that enables derived classes to add content to the overlay.
* @abstract
* @protected
* @param {?} dialogRef
* @param {?} type
* @return {?}
*/
Modal.prototype.create = function (dialogRef, type) { };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbW9kaWFsb2ctNy8iLCJzb3VyY2VzIjpbImxpYi9wcm92aWRlcnMvbW9kYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBUUEsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFVBQWtCO0lBQ3ZELE9BQU8sSUFBSSxLQUFLLENBQUMsdUJBQXVCLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDeEQsQ0FBQzs7OztBQUVELE1BQU0sT0FBZ0IsS0FBSzs7OztJQUN6QixZQUFtQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQ25DLENBQUM7Ozs7SUFHRCxLQUFLO1FBQ0gsTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7O0lBRUQsTUFBTTtRQUNKLE1BQU0sc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7OztJQUVELE9BQU87UUFDTCxNQUFNLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Ozs7Ozs7SUFPRCxJQUFJLENBQUMsT0FBeUIsRUFBRSxNQUFzQjtRQUNwRCxNQUFNLEdBQUcsTUFBTSxJQUFJLG1CQUFBLEVBQUUsRUFBTyxDQUFDOztjQUN2QixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFM0QsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDOztpREFFOEIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsNkVBQTZFO1FBQzdFLHlDQUF5QztRQUN6QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7Ozs7Ozs7O0lBVVMsY0FBYyxDQUFJLFNBQXlCLEVBQUUsaUJBQTJCO1FBQ2hGLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFJLGlCQUFpQixDQUFDLENBQUM7SUFDMUUsQ0FBQzs7Ozs7Ozs7O0lBRVMsZUFBZSxDQUN2QixTQUF5QixFQUN6QixrQkFBNEIsRUFDNUIsT0FBeUI7O2NBRW5CLEtBQUssR0FBVSxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDO1FBQzNFLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFJLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Q0FFRjs7O0lBeERhLHdCQUF1Qjs7Ozs7Ozs7O0lBd0NuQyx3REFBNkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uL292ZXJsYXkvaW5kZXgnO1xuaW1wb3J0IHsgQ2xhc3MgfSBmcm9tICcuLi9mcmFtZXdvcmsvdXRpbHMnO1xuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZywgQ29udGFpbmVyQ29udGVudCB9IGZyb20gJy4uL21vZGVscy90b2tlbnMnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi4vbW9kZWxzL2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGluZ0NvbnRleHRCdWlsZGVyIH0gZnJvbSAnLi4vbW9kZWxzL292ZXJsYXktY29udGV4dCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnN1cHBvcnRlZERyb3BJbkVycm9yKGRyb3BJbk5hbWU6IHN0cmluZyk6IEVycm9yIHtcbiAgcmV0dXJuIG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgRHJvcC1JbiAke2Ryb3BJbk5hbWV9YCk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb2RhbCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvdmVybGF5OiBPdmVybGF5KSB7XG4gIH1cblxuXG4gIGFsZXJ0KCk6IE1vZGFsQ29udHJvbGxpbmdDb250ZXh0QnVpbGRlcjxhbnk+IHtcbiAgICB0aHJvdyB1bnN1cHBvcnRlZERyb3BJbkVycm9yKCdhbGVydCcpO1xuICB9XG5cbiAgcHJvbXB0KCk6IE1vZGFsQ29udHJvbGxpbmdDb250ZXh0QnVpbGRlcjxhbnk+IHtcbiAgICB0aHJvdyB1bnN1cHBvcnRlZERyb3BJbkVycm9yKCdwcm9tcHQnKTtcbiAgfVxuXG4gIGNvbmZpcm0oKTogTW9kYWxDb250cm9sbGluZ0NvbnRleHRCdWlsZGVyPGFueT4ge1xuICAgIHRocm93IHVuc3VwcG9ydGVkRHJvcEluRXJyb3IoJ2NvbmZpcm0nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIG1vZGFsIHdpbmRvdyBpbnNpZGUgYW4gZXhpc3RpbmcgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gY29udGVudCBUaGUgY29udGVudCB0byBkaXNwbGF5LCBlaXRoZXIgc3RyaW5nLCB0ZW1wbGF0ZSByZWYgb3IgYSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb25maWcgQWRkaXRpb25hbCBzZXR0aW5ncy5cbiAgICovXG4gIG9wZW4oY29udGVudDogQ29udGFpbmVyQ29udGVudCwgY29uZmlnPzogT3ZlcmxheUNvbmZpZyk6IERpYWxvZ1JlZjxhbnk+IHtcbiAgICBjb25maWcgPSBjb25maWcgfHwge30gYXMgYW55O1xuICAgIGNvbnN0IGRpYWxvZ3MgPSB0aGlzLm92ZXJsYXkub3Blbihjb25maWcsIHRoaXMuY29uc3RydWN0b3IpO1xuXG4gICAgaWYgKGRpYWxvZ3MubGVuZ3RoID4gMSkge1xuICAgICAgY29uc29sZS53YXJuKGBBdHRlbXB0IHRvIG9wZW4gbW9yZSB0aGVuIDEgb3ZlcmxheSBkZXRlY3RlZC5cbiAgICAgIE11bHRpcGxlIG1vZGFsIGNvcGllcyBhcmUgbm90IHN1cHBvcnRlZCBhdCB0aGUgbW9tZW50LFxuICAgICAgb25seSB0aGUgZmlyc3Qgdmlld0NvbnRhaW5lciB3aWxsIGRpc3BsYXkuYCk7XG4gICAgfVxuICAgIC8vIFRPRE86ICBDdXJyZW50bHkgc3VwcG9ydGluZyAxIHZpZXcgY29udGFpbmVyLCBoZW5jZSB3b3JraW5nIG9uIGRpYWxvZ3NbMF0uXG4gICAgLy8gICAgICAgIHVwZ3JhZGUgdG8gbXVsdGlwbGUgY29udGFpbmVycy5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoZGlhbG9nc1swXSwgY29udGVudCk7XG4gIH1cblxuICAvKipcbiAgICogQSBIb29rIHRoYXQgZW5hYmxlcyBkZXJpdmVkIGNsYXNzZXMgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIG92ZXJsYXkuXG4gICAqIEBwYXJhbSBkaWFsb2dSZWZcbiAgICogQHBhcmFtIHR5cGVcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGUoZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55PiwgdHlwZTogQ29udGFpbmVyQ29udGVudCk6IERpYWxvZ1JlZjxhbnk+O1xuXG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUJhY2tkcm9wPFQ+KGRpYWxvZ1JlZjogRGlhbG9nUmVmPGFueT4sIEJhY2tkcm9wQ29tcG9uZW50OiBDbGFzczxUPik6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgcmV0dXJuIGRpYWxvZ1JlZi5vdmVybGF5UmVmLmluc3RhbmNlLmFkZENvbXBvbmVudDxUPihCYWNrZHJvcENvbXBvbmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29udGFpbmVyPFQ+KFxuICAgIGRpYWxvZ1JlZjogRGlhbG9nUmVmPGFueT4sXG4gICAgQ29udGFpbmVyQ29tcG9uZW50OiBDbGFzczxUPixcbiAgICBjb250ZW50OiBDb250YWluZXJDb250ZW50KTogQ29tcG9uZW50UmVmPFQ+IHtcblxuICAgIGNvbnN0IG5vZGVzOiBhbnlbXSA9IGRpYWxvZ1JlZi5vdmVybGF5UmVmLmluc3RhbmNlLmdldFByb2plY3RhYmxlcyhjb250ZW50KTtcbiAgICByZXR1cm4gZGlhbG9nUmVmLm92ZXJsYXlSZWYuaW5zdGFuY2UuYWRkQ29tcG9uZW50PFQ+KENvbnRhaW5lckNvbXBvbmVudCwgbm9kZXMpO1xuICB9XG5cbn1cbiJdfQ==