UNPKG

ngx-modialog-10

Version:
72 lines 6.8 kB
/** * @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3Blbi1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1vZGlhbG9nLTEwLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9tb2RhbC1vcGVuLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7TUFFMUMsZUFBZSxHQUFHO0lBQ3RCLFdBQVc7Q0FDWjtBQUVELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0NBR2pEOzs7SUFGQyxxQ0FBZTs7SUFDZixpQ0FBYTs7Ozs7Ozs7O0FBUWYsTUFBTSxPQUFnQix1QkFDSixTQUFRLG1CQUFzQjs7Ozs7O0lBUTlDLFlBQVksYUFBaUIsRUFDakIsY0FBeUIsRUFDekIsUUFBc0I7UUFDaEMsS0FBSyxDQUNILGFBQWEsSUFBSSxtQkFBSyxFQUFFLEVBQUEsRUFDeEIsVUFBVSxDQUFTLGVBQWUsRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDLEVBQ3pELFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQzs7Ozs7OztJQU1TLFlBQVksQ0FBQyxNQUFTLElBQVUsQ0FBQzs7Ozs7O0lBTTNDLElBQUksQ0FBQyxhQUF5Qjs7Y0FDdEIsT0FBTyxHQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFFaEMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssWUFBWSxLQUFLLENBQUMsRUFBRTtZQUNyQyxPQUFPLG1CQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQyxFQUFBLENBQUM7U0FDdEY7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztjQUVyQixhQUFhLEdBQWtCO1lBQ25DLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGFBQWEsRUFBRSxhQUFhO1NBQzdCO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRjs7Ozs7OztJQXRDQyw0Q0FBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvbHZlZFJlZmxlY3RpdmVQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGbHVlbnRBc3NpZ25NZXRob2QgfSBmcm9tICcuLi9mcmFtZXdvcmsvZmx1ZW50LWFzc2lnbic7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCwgT3ZlcmxheUNvbmZpZywgV2lkZVZDUmVmIH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICcuLi9wcm92aWRlcnMvaW5kZXgnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi9kaWFsb2ctcmVmJztcbmltcG9ydCB7IE1vZGFsQ29udGV4dCwgTW9kYWxDb250ZXh0QnVpbGRlciB9IGZyb20gJy4vbW9kYWwtY29udGV4dCc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsaW5nQ29udGV4dEJ1aWxkZXIgfSBmcm9tICcuL292ZXJsYXktY29udGV4dCc7XG5cbmltcG9ydCB7IGFycmF5VW5pb24gfSBmcm9tICcuLi9mcmFtZXdvcmsvdXRpbHMnO1xuXG5jb25zdCBERUZBVUxUX1NFVFRFUlMgPSBbXG4gICdjb21wb25lbnQnXG5dO1xuXG5leHBvcnQgY2xhc3MgTW9kYWxPcGVuQ29udGV4dCBleHRlbmRzIE1vZGFsQ29udGV4dCB7XG4gIGNvbXBvbmVudDogYW55O1xuICBtb2RhbDogTW9kYWw7XG59XG5cbi8qKlxuICogQSBNb2RhbCBDb250ZXh0IHRoYXQga25vd3MgYWJvdXQgdGhlIG1vZGFsIHNlcnZpY2UsIGFuZCBzbyBjYW4gb3BlbiBhIG1vZGFsIHdpbmRvdyBvbiBkZW1hbmQuXG4gKiBVc2UgdGhlIGZsdWVudCBBUEkgdG8gY29uZmlndXJlIHRoZSBwcmVzZXQgYW5kIHRoZW4gaW52b2tlIHRoZSAnb3BlbicgbWV0aG9kIHRvIG9wZW4gYSBtb2RhbFxuICogYmFzZWQgb24gdGhlIGNvbnRleHQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb2RhbE9wZW5Db250ZXh0QnVpbGRlcjxUIGV4dGVuZHMgTW9kYWxPcGVuQ29udGV4dD5cbiAgICAgICAgICAgICAgICAgIGV4dGVuZHMgTW9kYWxDb250ZXh0QnVpbGRlcjxUPiBpbXBsZW1lbnRzIE1vZGFsQ29udHJvbGxpbmdDb250ZXh0QnVpbGRlcjxUPiB7XG5cbiAgLyoqXG4gICAqIEEgQ2xhc3MgZm9yIHRoZSBmb290ZXIgY29udGFpbmVyLlxuICAgKiBEZWZhdWx0OiBtb2RhbC1mb290ZXJcbiAgICovXG4gIGNvbXBvbmVudDogRmx1ZW50QXNzaWduTWV0aG9kPE1vZGFsQ29tcG9uZW50PFQ+LCB0aGlzPjtcblxuICBjb25zdHJ1Y3RvcihkZWZhdWx0VmFsdWVzPzogVCxcbiAgICAgICAgICAgICAgaW5pdGlhbFNldHRlcnM/OiBzdHJpbmdbXSxcbiAgICAgICAgICAgICAgYmFzZVR5cGU/OiBuZXcgKCkgPT4gVCkge1xuICAgIHN1cGVyKFxuICAgICAgZGVmYXVsdFZhbHVlcyB8fCA8YW55Pnt9LFxuICAgICAgYXJyYXlVbmlvbjxzdHJpbmc+KERFRkFVTFRfU0VUVEVSUywgaW5pdGlhbFNldHRlcnMgfHwgW10pLFxuICAgICAgYmFzZVR5cGVcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvb2sgdG8gYWx0ZXIgY29uZmlnIGFuZCByZXR1cm4gYmluZGluZ3MuXG4gICAqIEBwYXJhbSBjb25maWdcbiAgICovXG4gIHByb3RlY3RlZCAkJGJlZm9yZU9wZW4oY29uZmlnOiBUKTogdm9pZCB7IH1cblxuICAvKipcbiAgICogT3BlbiBhIG1vZGFsIHdpbmRvdyBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGlzIGNvbmZpZyBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHZpZXdDb250YWluZXIgSWYgc2V0IG9wZW5zIHRoZSBtb2RhbCBpbnNpZGUgdGhlIHN1cHBsaWVkIHZpZXdDb250YWluZXJcbiAgICovXG4gIG9wZW4odmlld0NvbnRhaW5lcj86IFdpZGVWQ1JlZik6IERpYWxvZ1JlZjxUPiB7XG4gICAgY29uc3QgY29udGV4dDogVCA9IHRoaXMudG9KU09OKCk7XG5cbiAgICBpZiAoIShjb250ZXh0Lm1vZGFsIGluc3RhbmNlb2YgTW9kYWwpKSB7XG4gICAgICByZXR1cm4gPGFueT5Qcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0NvbmZpZ3VyYXRpb24gRXJyb3I6IG1vZGFsIHNlcnZpY2Ugbm90IHNldC4nKSk7XG4gICAgfVxuXG4gICAgdGhpcy4kJGJlZm9yZU9wZW4oY29udGV4dCk7XG5cbiAgICBjb25zdCBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xuICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgIHZpZXdDb250YWluZXI6IHZpZXdDb250YWluZXJcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbnRleHQubW9kYWwub3Blbihjb250ZXh0LmNvbXBvbmVudCwgb3ZlcmxheUNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==