UNPKG

ngx-modialog-7

Version:
176 lines 14.6 kB
/** * @fileoverview added by tsickle * Generated from: lib/models/overlay-context.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __extends } from "tslib"; import { FluentAssign } from './../framework/fluent-assign'; import { extend, arrayUnion } from './../framework/utils'; var ɵ0 = /** * @param {?} keyCode * @return {?} */ function supportsKey(keyCode) { return ((/** @type {?} */ (this.keyboard))).indexOf(keyCode) > -1; }; /** @type {?} */ export var DEFAULT_VALUES = { inElement: false, isBlocking: true, keyboard: [27], supportsKey: (ɵ0) }; /** @type {?} */ var DEFAULT_SETTERS = [ 'inElement', 'isBlocking', 'keyboard' ]; var OverlayContext = /** @class */ (function () { function OverlayContext() { } /** * @return {?} */ OverlayContext.prototype.normalize = /** * @return {?} */ function () { if (this.isBlocking !== false) { this.isBlocking = true; } if (this.keyboard === null) { this.keyboard = []; } else if (typeof this.keyboard === 'number') { this.keyboard = [(/** @type {?} */ (this.keyboard))]; } else if (!Array.isArray((/** @type {?} */ (this.keyboard)))) { this.keyboard = DEFAULT_VALUES.keyboard; } }; return OverlayContext; }()); export { OverlayContext }; if (false) { /** * Describes if the modal is rendered within the container element. * The container element is the ViewContainerRef supplied. * Defaults to false. * @type {?} */ OverlayContext.prototype.inElement; /** * Describes if the modal is blocking modal. * A Blocking modal is not closable by clicking outside of the modal window. * Defaults to false. * @type {?} */ OverlayContext.prototype.isBlocking; /** * Keyboard value/s that close the modal. * Accepts either a single numeric value or an array of numeric values. * A modal closed by a keyboard stroke will result in a 'reject' notification from the promise. * Defaults to 27, set `null` implicitly to disable. * @type {?} */ OverlayContext.prototype.keyboard; } /** * A core context builder for a modal window instance, used to define the context upon * a modal choose it's behaviour. * @template T */ var /** * A core context builder for a modal window instance, used to define the context upon * a modal choose it's behaviour. * @template T */ OverlayContextBuilder = /** @class */ (function (_super) { __extends(OverlayContextBuilder, _super); function OverlayContextBuilder(defaultValues, initialSetters, baseType) { return _super.call(this, extend(DEFAULT_VALUES, defaultValues || {}), arrayUnion(DEFAULT_SETTERS, initialSetters || []), baseType || (/** @type {?} */ (OverlayContext)) // https://github.com/Microsoft/TypeScript/issues/7234 ) || this; } /** * Returns an new OverlayConfig with a context property representing the data in this builder. * @param base A base configuration that the result will extend */ /** * Returns an new OverlayConfig with a context property representing the data in this builder. * @param {?=} base A base configuration that the result will extend * @return {?} */ OverlayContextBuilder.prototype.toOverlayConfig = /** * Returns an new OverlayConfig with a context property representing the data in this builder. * @param {?=} base A base configuration that the result will extend * @return {?} */ function (base) { return extend(base || {}, { context: this.toJSON() }); }; return OverlayContextBuilder; }(FluentAssign)); /** * A core context builder for a modal window instance, used to define the context upon * a modal choose it's behaviour. * @template T */ export { OverlayContextBuilder }; if (false) { /** * Describes if the modal is rendered within the container element. * The container element is the ViewContainerRef supplied. * Defaults to false. * @type {?} */ OverlayContextBuilder.prototype.inElement; /** * Describes if the modal is blocking modal. * A Blocking modal is not closable by clicking outside of the modal window. * Defaults to false. * @type {?} */ OverlayContextBuilder.prototype.isBlocking; /** * Keyboard value/s that close the modal. * Accepts either a single numeric value or an array of numeric values. * A modal closed by a keyboard stroke will result in a 'reject' notification from the promise. * Defaults to 27, set `null` implicitly to disable. * @type {?} */ OverlayContextBuilder.prototype.keyboard; } /** * @record * @template T */ export function ModalControllingContextBuilder() { } if (false) { /** * @param {?=} viewContainer * @return {?} */ ModalControllingContextBuilder.prototype.open = function (viewContainer) { }; } /** * A helper to create an `OverlayConfig` on the fly. * Since `OverlayConfig` requires context it means a builder is needed, this process had some boilerplate. * When a quick, on the fly overlay config is needed use this helper to avoid that boilerplate. * * A builder is used as an API to allow setting the context and providing some operations around the modal. * When a developers knows the context before hand we can skip this step, this is what this factory is for. * * @template T * @param {?} context The context for the modal * @param {?=} baseContextType Optional. The type/class of the context. This is the class used to init a new instance of the context * @param {?=} baseConfig A base configuration that the result will extend * @return {?} */ export function overlayConfigFactory(context, baseContextType, baseConfig) { return new OverlayContextBuilder((/** @type {?} */ (context)), undefined, baseContextType).toOverlayConfig(baseConfig); } export { ɵ0 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1vZGlhbG9nLTcvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL292ZXJsYXktY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFzQixNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBUTNDLFNBQVMsV0FBVyxDQUFDLE9BQWU7SUFDL0MsT0FBTyxDQUFDLG1CQUFlLElBQUksQ0FBQyxRQUFRLEVBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDOztBQU5ILE1BQU0sS0FBTyxjQUFjLEdBQUc7SUFDNUIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2QsV0FBVyxNQUVWO0NBQ0Y7O0lBRUssZUFBZSxHQUFHO0lBQ3RCLFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtDQUNYO0FBRUQ7SUFBQTtJQW9DQSxDQUFDOzs7O0lBYkMsa0NBQVM7OztJQUFUO1FBQ0UsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEtBQUssRUFBRTtZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN4QjtRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7U0FDcEI7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLG1CQUFRLElBQUksQ0FBQyxRQUFRLEVBQUEsQ0FBQyxDQUFDO1NBQ3pDO2FBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQWUsSUFBSSxDQUFDLFFBQVEsRUFBQSxDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUNILHFCQUFDO0FBQUQsQ0FBQyxBQXBDRCxJQW9DQzs7Ozs7Ozs7O0lBOUJDLG1DQUFtQjs7Ozs7OztJQU9uQixvQ0FBb0I7Ozs7Ozs7O0lBUXBCLGtDQUFpQzs7Ozs7OztBQXFCbkM7Ozs7OztJQUFxRSx5Q0FBZTtJQXdCbEYsK0JBQVksYUFBdUIsRUFDdkIsY0FBeUIsRUFDekIsUUFBc0I7ZUFDaEMsa0JBQ0UsTUFBTSxDQUFNLGNBQWMsRUFBRSxhQUFhLElBQUksRUFBRSxDQUFDLEVBQ2hELFVBQVUsQ0FBUyxlQUFlLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQyxFQUN6RCxRQUFRLElBQUksbUJBQUssY0FBYyxFQUFBLENBQUMsc0RBQXNEO1NBQ3ZGO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0gsK0NBQWU7Ozs7O0lBQWYsVUFBZ0IsSUFBb0I7UUFDbEMsT0FBTyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRTtZQUN4QixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0gsNEJBQUM7QUFBRCxDQUFDLEFBM0NELENBQXFFLFlBQVksR0EyQ2hGOzs7Ozs7Ozs7Ozs7OztJQXJDQywwQ0FBNkM7Ozs7Ozs7SUFPN0MsMkNBQThDOzs7Ozs7OztJQVE5Qyx5Q0FBMkQ7Ozs7OztBQXdCN0Qsb0RBRUM7Ozs7OztJQURDLDZFQUE4Qzs7Ozs7Ozs7Ozs7Ozs7OztBQWVoRCxNQUFNLFVBQVUsb0JBQW9CLENBQUksT0FBVSxFQUFFLGVBQXFCLEVBQUUsVUFBMEI7SUFDbkcsT0FBTyxJQUFJLHFCQUFxQixDQUFxQixtQkFBSyxPQUFPLEVBQUEsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzdILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbHVlbnRBc3NpZ24sIEZsdWVudEFzc2lnbk1ldGhvZCB9IGZyb20gJy4vLi4vZnJhbWV3b3JrL2ZsdWVudC1hc3NpZ24nO1xuaW1wb3J0IHsgZXh0ZW5kLCBhcnJheVVuaW9uIH0gZnJvbSAnLi8uLi9mcmFtZXdvcmsvdXRpbHMnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi9kaWFsb2ctcmVmJztcbmltcG9ydCB7IFdpZGVWQ1JlZiwgT3ZlcmxheUNvbmZpZyB9IGZyb20gJy4vdG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVkFMVUVTID0ge1xuICBpbkVsZW1lbnQ6IGZhbHNlLFxuICBpc0Jsb2NraW5nOiB0cnVlLFxuICBrZXlib2FyZDogWzI3XSxcbiAgc3VwcG9ydHNLZXk6IGZ1bmN0aW9uIHN1cHBvcnRzS2V5KGtleUNvZGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoPEFycmF5PG51bWJlcj4+dGhpcy5rZXlib2FyZCkuaW5kZXhPZihrZXlDb2RlKSA+IC0xO1xuICB9XG59O1xuXG5jb25zdCBERUZBVUxUX1NFVFRFUlMgPSBbXG4gICdpbkVsZW1lbnQnLFxuICAnaXNCbG9ja2luZycsXG4gICdrZXlib2FyZCdcbl07XG5cbmV4cG9ydCBjbGFzcyBPdmVybGF5Q29udGV4dCB7XG4gIC8qKlxuICAgKiBEZXNjcmliZXMgaWYgdGhlIG1vZGFsIGlzIHJlbmRlcmVkIHdpdGhpbiB0aGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqIFRoZSBjb250YWluZXIgZWxlbWVudCBpcyB0aGUgVmlld0NvbnRhaW5lclJlZiBzdXBwbGllZC5cbiAgICogRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBpbkVsZW1lbnQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlc2NyaWJlcyBpZiB0aGUgbW9kYWwgaXMgYmxvY2tpbmcgbW9kYWwuXG4gICAqIEEgQmxvY2tpbmcgbW9kYWwgaXMgbm90IGNsb3NhYmxlIGJ5IGNsaWNraW5nIG91dHNpZGUgb2YgdGhlIG1vZGFsIHdpbmRvdy5cbiAgICogRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBpc0Jsb2NraW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBLZXlib2FyZCB2YWx1ZS9zIHRoYXQgY2xvc2UgdGhlIG1vZGFsLlxuICAgKiBBY2NlcHRzIGVpdGhlciBhIHNpbmdsZSBudW1lcmljIHZhbHVlIG9yIGFuIGFycmF5IG9mIG51bWVyaWMgdmFsdWVzLlxuICAgKiBBIG1vZGFsIGNsb3NlZCBieSBhIGtleWJvYXJkIHN0cm9rZSB3aWxsIHJlc3VsdCBpbiBhICdyZWplY3QnIG5vdGlmaWNhdGlvbiBmcm9tIHRoZSBwcm9taXNlLlxuICAgKiBEZWZhdWx0cyB0byAyNywgc2V0IGBudWxsYCBpbXBsaWNpdGx5IHRvIGRpc2FibGUuXG4gICAqL1xuICBrZXlib2FyZDogQXJyYXk8bnVtYmVyPiB8IG51bWJlcjtcblxuICBub3JtYWxpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNCbG9ja2luZyAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuaXNCbG9ja2luZyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMua2V5Ym9hcmQgPT09IG51bGwpIHtcbiAgICAgIHRoaXMua2V5Ym9hcmQgPSBbXTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmtleWJvYXJkID09PSAnbnVtYmVyJykge1xuICAgICAgdGhpcy5rZXlib2FyZCA9IFs8bnVtYmVyPnRoaXMua2V5Ym9hcmRdO1xuICAgIH0gZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkoPEFycmF5PG51bWJlcj4+dGhpcy5rZXlib2FyZCkpIHtcbiAgICAgIHRoaXMua2V5Ym9hcmQgPSBERUZBVUxUX1ZBTFVFUy5rZXlib2FyZDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBIGNvcmUgY29udGV4dCBidWlsZGVyIGZvciBhIG1vZGFsIHdpbmRvdyBpbnN0YW5jZSwgdXNlZCB0byBkZWZpbmUgdGhlIGNvbnRleHQgdXBvblxuICogYSBtb2RhbCBjaG9vc2UgaXQncyBiZWhhdmlvdXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBPdmVybGF5Q29udGV4dEJ1aWxkZXI8VCBleHRlbmRzIE92ZXJsYXlDb250ZXh0PiBleHRlbmRzIEZsdWVudEFzc2lnbjxUPiB7XG4gIC8qKlxuICAgKiBEZXNjcmliZXMgaWYgdGhlIG1vZGFsIGlzIHJlbmRlcmVkIHdpdGhpbiB0aGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqIFRoZSBjb250YWluZXIgZWxlbWVudCBpcyB0aGUgVmlld0NvbnRhaW5lclJlZiBzdXBwbGllZC5cbiAgICogRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBpbkVsZW1lbnQ6IEZsdWVudEFzc2lnbk1ldGhvZDxib29sZWFuLCB0aGlzPjtcblxuICAvKipcbiAgICogRGVzY3JpYmVzIGlmIHRoZSBtb2RhbCBpcyBibG9ja2luZyBtb2RhbC5cbiAgICogQSBCbG9ja2luZyBtb2RhbCBpcyBub3QgY2xvc2FibGUgYnkgY2xpY2tpbmcgb3V0c2lkZSBvZiB0aGUgbW9kYWwgd2luZG93LlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICovXG4gIGlzQmxvY2tpbmc6IEZsdWVudEFzc2lnbk1ldGhvZDxib29sZWFuLCB0aGlzPjtcblxuICAvKipcbiAgICogS2V5Ym9hcmQgdmFsdWUvcyB0aGF0IGNsb3NlIHRoZSBtb2RhbC5cbiAgICogQWNjZXB0cyBlaXRoZXIgYSBzaW5nbGUgbnVtZXJpYyB2YWx1ZSBvciBhbiBhcnJheSBvZiBudW1lcmljIHZhbHVlcy5cbiAgICogQSBtb2RhbCBjbG9zZWQgYnkgYSBrZXlib2FyZCBzdHJva2Ugd2lsbCByZXN1bHQgaW4gYSAncmVqZWN0JyBub3RpZmljYXRpb24gZnJvbSB0aGUgcHJvbWlzZS5cbiAgICogRGVmYXVsdHMgdG8gMjcsIHNldCBgbnVsbGAgaW1wbGljaXRseSB0byBkaXNhYmxlLlxuICAgKi9cbiAga2V5Ym9hcmQ6IEZsdWVudEFzc2lnbk1ldGhvZDxBcnJheTxudW1iZXI+IHwgbnVtYmVyLCB0aGlzPjtcblxuXG4gIGNvbnN0cnVjdG9yKGRlZmF1bHRWYWx1ZXM/OiBUIHwgVFtdLFxuICAgICAgICAgICAgICBpbml0aWFsU2V0dGVycz86IHN0cmluZ1tdLFxuICAgICAgICAgICAgICBiYXNlVHlwZT86IG5ldyAoKSA9PiBUKSB7XG4gICAgc3VwZXIoXG4gICAgICBleHRlbmQ8YW55PihERUZBVUxUX1ZBTFVFUywgZGVmYXVsdFZhbHVlcyB8fCB7fSksXG4gICAgICBhcnJheVVuaW9uPHN0cmluZz4oREVGQVVMVF9TRVRURVJTLCBpbml0aWFsU2V0dGVycyB8fCBbXSksXG4gICAgICBiYXNlVHlwZSB8fCA8YW55Pk92ZXJsYXlDb250ZXh0IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvNzIzNFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBuZXcgT3ZlcmxheUNvbmZpZyB3aXRoIGEgY29udGV4dCBwcm9wZXJ0eSByZXByZXNlbnRpbmcgdGhlIGRhdGEgaW4gdGhpcyBidWlsZGVyLlxuICAgKiBAcGFyYW0gYmFzZSBBIGJhc2UgY29uZmlndXJhdGlvbiB0aGF0IHRoZSByZXN1bHQgd2lsbCBleHRlbmRcbiAgICovXG4gIHRvT3ZlcmxheUNvbmZpZyhiYXNlPzogT3ZlcmxheUNvbmZpZyk6IE92ZXJsYXlDb25maWcge1xuICAgIHJldHVybiBleHRlbmQoYmFzZSB8fCB7fSwge1xuICAgICAgY29udGV4dDogdGhpcy50b0pTT04oKVxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxDb250cm9sbGluZ0NvbnRleHRCdWlsZGVyPFQ+IHtcbiAgb3Blbih2aWV3Q29udGFpbmVyPzogV2lkZVZDUmVmKTogRGlhbG9nUmVmPFQ+O1xufVxuXG4vKipcbiAqIEEgaGVscGVyIHRvIGNyZWF0ZSBhbiBgT3ZlcmxheUNvbmZpZ2Agb24gdGhlIGZseS5cbiAqIFNpbmNlIGBPdmVybGF5Q29uZmlnYCByZXF1aXJlcyBjb250ZXh0IGl0IG1lYW5zIGEgYnVpbGRlciBpcyBuZWVkZWQsIHRoaXMgcHJvY2VzcyBoYWQgc29tZSBib2lsZXJwbGF0ZS5cbiAqIFdoZW4gYSBxdWljaywgb24gdGhlIGZseSBvdmVybGF5IGNvbmZpZyBpcyBuZWVkZWQgdXNlIHRoaXMgaGVscGVyIHRvIGF2b2lkIHRoYXQgYm9pbGVycGxhdGUuXG4gKlxuICogQSBidWlsZGVyIGlzIHVzZWQgYXMgYW4gQVBJIHRvIGFsbG93IHNldHRpbmcgdGhlIGNvbnRleHQgYW5kIHByb3ZpZGluZyBzb21lIG9wZXJhdGlvbnMgYXJvdW5kIHRoZSBtb2RhbC5cbiAqIFdoZW4gYSBkZXZlbG9wZXJzIGtub3dzIHRoZSBjb250ZXh0IGJlZm9yZSBoYW5kIHdlIGNhbiBza2lwIHRoaXMgc3RlcCwgdGhpcyBpcyB3aGF0IHRoaXMgZmFjdG9yeSBpcyBmb3IuXG4gKlxuICogQHBhcmFtIGNvbnRleHQgVGhlIGNvbnRleHQgZm9yIHRoZSBtb2RhbFxuICogQHBhcmFtIGJhc2VDb250ZXh0VHlwZSBPcHRpb25hbC4gVGhlIHR5cGUvY2xhc3Mgb2YgdGhlIGNvbnRleHQuIFRoaXMgaXMgdGhlIGNsYXNzIHVzZWQgdG8gaW5pdCBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgY29udGV4dFxuICogQHBhcmFtIGJhc2VDb25maWcgQSBiYXNlIGNvbmZpZ3VyYXRpb24gdGhhdCB0aGUgcmVzdWx0IHdpbGwgZXh0ZW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdmVybGF5Q29uZmlnRmFjdG9yeTxUPihjb250ZXh0OiBULCBiYXNlQ29udGV4dFR5cGU/OiBhbnksIGJhc2VDb25maWc/OiBPdmVybGF5Q29uZmlnKTogT3ZlcmxheUNvbmZpZyB7XG4gIHJldHVybiBuZXcgT3ZlcmxheUNvbnRleHRCdWlsZGVyPFQgJiBPdmVybGF5Q29udGV4dD4oPGFueT5jb250ZXh0LCB1bmRlZmluZWQsIGJhc2VDb250ZXh0VHlwZSkudG9PdmVybGF5Q29uZmlnKGJhc2VDb25maWcpO1xufVxuIl19