ngx-modialog-7
Version:
Modal / Dialog for Angular
72 lines • 6.72 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/models/modal-open-context.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Modal } from '../providers/index';
import { ModalContext, ModalContextBuilder } from './modal-context';
import { arrayUnion } from '../framework/utils';
/** @type {?} */
const DEFAULT_SETTERS = [
'component'
];
export class ModalOpenContext extends ModalContext {
}
if (false) {
/** @type {?} */
ModalOpenContext.prototype.component;
/** @type {?} */
ModalOpenContext.prototype.modal;
}
/**
* A Modal Context that knows about the modal service, and so can open a modal window on demand.
* Use the fluent API to configure the preset and then invoke the 'open' method to open a modal
* based on the context.
* @abstract
* @template T
*/
export class ModalOpenContextBuilder extends ModalContextBuilder {
/**
* @param {?=} defaultValues
* @param {?=} initialSetters
* @param {?=} baseType
*/
constructor(defaultValues, initialSetters, baseType) {
super(defaultValues || (/** @type {?} */ ({})), arrayUnion(DEFAULT_SETTERS, initialSetters || []), baseType);
}
/**
* Hook to alter config and return bindings.
* @protected
* @param {?} config
* @return {?}
*/
$$beforeOpen(config) { }
/**
* Open a modal window based on the configuration of this config instance.
* @param {?=} viewContainer If set opens the modal inside the supplied viewContainer
* @return {?}
*/
open(viewContainer) {
/** @type {?} */
const context = this.toJSON();
if (!(context.modal instanceof Modal)) {
return (/** @type {?} */ (Promise.reject(new Error('Configuration Error: modal service not set.'))));
}
this.$$beforeOpen(context);
/** @type {?} */
const overlayConfig = {
context: context,
viewContainer: viewContainer
};
return context.modal.open(context.component, overlayConfig);
}
}
if (false) {
/**
* A Class for the footer container.
* Default: modal-footer
* @type {?}
*/
ModalOpenContextBuilder.prototype.component;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3Blbi1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1vZGlhbG9nLTcvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL21vZGFsLW9wZW4tY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztNQUUxQyxlQUFlLEdBQUc7SUFDdEIsV0FBVztDQUNaO0FBRUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQVk7Q0FHakQ7OztJQUZDLHFDQUFlOztJQUNmLGlDQUFhOzs7Ozs7Ozs7QUFRZixNQUFNLE9BQWdCLHVCQUNKLFNBQVEsbUJBQXNCOzs7Ozs7SUFROUMsWUFBWSxhQUFpQixFQUNqQixjQUF5QixFQUN6QixRQUFzQjtRQUNoQyxLQUFLLENBQ0gsYUFBYSxJQUFJLG1CQUFLLEVBQUUsRUFBQSxFQUN4QixVQUFVLENBQVMsZUFBZSxFQUFFLGNBQWMsSUFBSSxFQUFFLENBQUMsRUFDekQsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDOzs7Ozs7O0lBTVMsWUFBWSxDQUFDLE1BQVMsSUFBVSxDQUFDOzs7Ozs7SUFNM0MsSUFBSSxDQUFDLGFBQXlCOztjQUN0QixPQUFPLEdBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUVoQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sbUJBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDLEVBQUEsQ0FBQztTQUN0RjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7O2NBRXJCLGFBQWEsR0FBa0I7WUFDbkMsT0FBTyxFQUFFLE9BQU87WUFDaEIsYUFBYSxFQUFFLGFBQWE7U0FDN0I7UUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNGOzs7Ozs7O0lBdENDLDRDQUF1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc29sdmVkUmVmbGVjdGl2ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZsdWVudEFzc2lnbk1ldGhvZCB9IGZyb20gJy4uL2ZyYW1ld29yay9mbHVlbnQtYXNzaWduJztcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50LCBPdmVybGF5Q29uZmlnLCBXaWRlVkNSZWYgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJy4uL3Byb3ZpZGVycy9pbmRleCc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuL2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0LCBNb2RhbENvbnRleHRCdWlsZGVyIH0gZnJvbSAnLi9tb2RhbC1jb250ZXh0JztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxpbmdDb250ZXh0QnVpbGRlciB9IGZyb20gJy4vb3ZlcmxheS1jb250ZXh0JztcblxuaW1wb3J0IHsgYXJyYXlVbmlvbiB9IGZyb20gJy4uL2ZyYW1ld29yay91dGlscyc7XG5cbmNvbnN0IERFRkFVTFRfU0VUVEVSUyA9IFtcbiAgJ2NvbXBvbmVudCdcbl07XG5cbmV4cG9ydCBjbGFzcyBNb2RhbE9wZW5Db250ZXh0IGV4dGVuZHMgTW9kYWxDb250ZXh0IHtcbiAgY29tcG9uZW50OiBhbnk7XG4gIG1vZGFsOiBNb2RhbDtcbn1cblxuLyoqXG4gKiBBIE1vZGFsIENvbnRleHQgdGhhdCBrbm93cyBhYm91dCB0aGUgbW9kYWwgc2VydmljZSwgYW5kIHNvIGNhbiBvcGVuIGEgbW9kYWwgd2luZG93IG9uIGRlbWFuZC5cbiAqIFVzZSB0aGUgZmx1ZW50IEFQSSB0byBjb25maWd1cmUgdGhlIHByZXNldCBhbmQgdGhlbiBpbnZva2UgdGhlICdvcGVuJyBtZXRob2QgdG8gb3BlbiBhIG1vZGFsXG4gKiBiYXNlZCBvbiB0aGUgY29udGV4dC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vZGFsT3BlbkNvbnRleHRCdWlsZGVyPFQgZXh0ZW5kcyBNb2RhbE9wZW5Db250ZXh0PlxuICAgICAgICAgICAgICAgICAgZXh0ZW5kcyBNb2RhbENvbnRleHRCdWlsZGVyPFQ+IGltcGxlbWVudHMgTW9kYWxDb250cm9sbGluZ0NvbnRleHRCdWlsZGVyPFQ+IHtcblxuICAvKipcbiAgICogQSBDbGFzcyBmb3IgdGhlIGZvb3RlciBjb250YWluZXIuXG4gICAqIERlZmF1bHQ6IG1vZGFsLWZvb3RlclxuICAgKi9cbiAgY29tcG9uZW50OiBGbHVlbnRBc3NpZ25NZXRob2Q8TW9kYWxDb21wb25lbnQ8VD4sIHRoaXM+O1xuXG4gIGNvbnN0cnVjdG9yKGRlZmF1bHRWYWx1ZXM/OiBULFxuICAgICAgICAgICAgICBpbml0aWFsU2V0dGVycz86IHN0cmluZ1tdLFxuICAgICAgICAgICAgICBiYXNlVHlwZT86IG5ldyAoKSA9PiBUKSB7XG4gICAgc3VwZXIoXG4gICAgICBkZWZhdWx0VmFsdWVzIHx8IDxhbnk+e30sXG4gICAgICBhcnJheVVuaW9uPHN0cmluZz4oREVGQVVMVF9TRVRURVJTLCBpbml0aWFsU2V0dGVycyB8fCBbXSksXG4gICAgICBiYXNlVHlwZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSG9vayB0byBhbHRlciBjb25maWcgYW5kIHJldHVybiBiaW5kaW5ncy5cbiAgICogQHBhcmFtIGNvbmZpZ1xuICAgKi9cbiAgcHJvdGVjdGVkICQkYmVmb3JlT3Blbihjb25maWc6IFQpOiB2b2lkIHsgfVxuXG4gIC8qKlxuICAgKiBPcGVuIGEgbW9kYWwgd2luZG93IGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoaXMgY29uZmlnIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gdmlld0NvbnRhaW5lciBJZiBzZXQgb3BlbnMgdGhlIG1vZGFsIGluc2lkZSB0aGUgc3VwcGxpZWQgdmlld0NvbnRhaW5lclxuICAgKi9cbiAgb3Blbih2aWV3Q29udGFpbmVyPzogV2lkZVZDUmVmKTogRGlhbG9nUmVmPFQ+IHtcbiAgICBjb25zdCBjb250ZXh0OiBUID0gdGhpcy50b0pTT04oKTtcblxuICAgIGlmICghKGNvbnRleHQubW9kYWwgaW5zdGFuY2VvZiBNb2RhbCkpIHtcbiAgICAgIHJldHVybiA8YW55PlByb21pc2UucmVqZWN0KG5ldyBFcnJvcignQ29uZmlndXJhdGlvbiBFcnJvcjogbW9kYWwgc2VydmljZSBub3Qgc2V0LicpKTtcbiAgICB9XG5cbiAgICB0aGlzLiQkYmVmb3JlT3Blbihjb250ZXh0KTtcblxuICAgIGNvbnN0IG92ZXJsYXlDb25maWc6IE92ZXJsYXlDb25maWcgPSB7XG4gICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgdmlld0NvbnRhaW5lcjogdmlld0NvbnRhaW5lclxuICAgIH07XG5cbiAgICByZXR1cm4gY29udGV4dC5tb2RhbC5vcGVuKGNvbnRleHQuY29tcG9uZW50LCBvdmVybGF5Q29uZmlnKTtcbiAgfVxufVxuIl19