ngx-modialog-10
Version:
Modal / Dialog for Angular
72 lines • 6.8 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3Blbi1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1vZGlhbG9nLTEwLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9tb2RhbC1vcGVuLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7TUFFMUMsZUFBZSxHQUFHO0lBQ3RCLFdBQVc7Q0FDWjtBQUVELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0NBR2pEOzs7SUFGQyxxQ0FBZTs7SUFDZixpQ0FBYTs7Ozs7Ozs7O0FBUWYsTUFBTSxPQUFnQix1QkFDSixTQUFRLG1CQUFzQjs7Ozs7O0lBUTlDLFlBQVksYUFBaUIsRUFDakIsY0FBeUIsRUFDekIsUUFBc0I7UUFDaEMsS0FBSyxDQUNILGFBQWEsSUFBSSxtQkFBSyxFQUFFLEVBQUEsRUFDeEIsVUFBVSxDQUFTLGVBQWUsRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDLEVBQ3pELFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQzs7Ozs7OztJQU1TLFlBQVksQ0FBQyxNQUFTLElBQVUsQ0FBQzs7Ozs7O0lBTTNDLElBQUksQ0FBQyxhQUF5Qjs7Y0FDdEIsT0FBTyxHQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFFaEMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssWUFBWSxLQUFLLENBQUMsRUFBRTtZQUNyQyxPQUFPLG1CQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQyxFQUFBLENBQUM7U0FDdEY7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztjQUVyQixhQUFhLEdBQWtCO1lBQ25DLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGFBQWEsRUFBRSxhQUFhO1NBQzdCO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRjs7Ozs7OztJQXRDQyw0Q0FBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvbHZlZFJlZmxlY3RpdmVQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGbHVlbnRBc3NpZ25NZXRob2QgfSBmcm9tICcuLi9mcmFtZXdvcmsvZmx1ZW50LWFzc2lnbic7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCwgT3ZlcmxheUNvbmZpZywgV2lkZVZDUmVmIH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICcuLi9wcm92aWRlcnMvaW5kZXgnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi9kaWFsb2ctcmVmJztcbmltcG9ydCB7IE1vZGFsQ29udGV4dCwgTW9kYWxDb250ZXh0QnVpbGRlciB9IGZyb20gJy4vbW9kYWwtY29udGV4dCc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsaW5nQ29udGV4dEJ1aWxkZXIgfSBmcm9tICcuL292ZXJsYXktY29udGV4dCc7XG5cbmltcG9ydCB7IGFycmF5VW5pb24gfSBmcm9tICcuLi9mcmFtZXdvcmsvdXRpbHMnO1xuXG5jb25zdCBERUZBVUxUX1NFVFRFUlMgPSBbXG4gICdjb21wb25lbnQnXG5dO1xuXG5leHBvcnQgY2xhc3MgTW9kYWxPcGVuQ29udGV4dCBleHRlbmRzIE1vZGFsQ29udGV4dCB7XG4gIGNvbXBvbmVudDogYW55O1xuICBtb2RhbDogTW9kYWw7XG59XG5cbi8qKlxuICogQSBNb2RhbCBDb250ZXh0IHRoYXQga25vd3MgYWJvdXQgdGhlIG1vZGFsIHNlcnZpY2UsIGFuZCBzbyBjYW4gb3BlbiBhIG1vZGFsIHdpbmRvdyBvbiBkZW1hbmQuXG4gKiBVc2UgdGhlIGZsdWVudCBBUEkgdG8gY29uZmlndXJlIHRoZSBwcmVzZXQgYW5kIHRoZW4gaW52b2tlIHRoZSAnb3BlbicgbWV0aG9kIHRvIG9wZW4gYSBtb2RhbFxuICogYmFzZWQgb24gdGhlIGNvbnRleHQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNb2RhbE9wZW5Db250ZXh0QnVpbGRlcjxUIGV4dGVuZHMgTW9kYWxPcGVuQ29udGV4dD5cbiAgICAgICAgICAgICAgICAgIGV4dGVuZHMgTW9kYWxDb250ZXh0QnVpbGRlcjxUPiBpbXBsZW1lbnRzIE1vZGFsQ29udHJvbGxpbmdDb250ZXh0QnVpbGRlcjxUPiB7XG5cbiAgLyoqXG4gICAqIEEgQ2xhc3MgZm9yIHRoZSBmb290ZXIgY29udGFpbmVyLlxuICAgKiBEZWZhdWx0OiBtb2RhbC1mb290ZXJcbiAgICovXG4gIGNvbXBvbmVudDogRmx1ZW50QXNzaWduTWV0aG9kPE1vZGFsQ29tcG9uZW50PFQ+LCB0aGlzPjtcblxuICBjb25zdHJ1Y3RvcihkZWZhdWx0VmFsdWVzPzogVCxcbiAgICAgICAgICAgICAgaW5pdGlhbFNldHRlcnM/OiBzdHJpbmdbXSxcbiAgICAgICAgICAgICAgYmFzZVR5cGU/OiBuZXcgKCkgPT4gVCkge1xuICAgIHN1cGVyKFxuICAgICAgZGVmYXVsdFZhbHVlcyB8fCA8YW55Pnt9LFxuICAgICAgYXJyYXlVbmlvbjxzdHJpbmc+KERFRkFVTFRfU0VUVEVSUywgaW5pdGlhbFNldHRlcnMgfHwgW10pLFxuICAgICAgYmFzZVR5cGVcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvb2sgdG8gYWx0ZXIgY29uZmlnIGFuZCByZXR1cm4gYmluZGluZ3MuXG4gICAqIEBwYXJhbSBjb25maWdcbiAgICovXG4gIHByb3RlY3RlZCAkJGJlZm9yZU9wZW4oY29uZmlnOiBUKTogdm9pZCB7IH1cblxuICAvKipcbiAgICogT3BlbiBhIG1vZGFsIHdpbmRvdyBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGlzIGNvbmZpZyBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHZpZXdDb250YWluZXIgSWYgc2V0IG9wZW5zIHRoZSBtb2RhbCBpbnNpZGUgdGhlIHN1cHBsaWVkIHZpZXdDb250YWluZXJcbiAgICovXG4gIG9wZW4odmlld0NvbnRhaW5lcj86IFdpZGVWQ1JlZik6IERpYWxvZ1JlZjxUPiB7XG4gICAgY29uc3QgY29udGV4dDogVCA9IHRoaXMudG9KU09OKCk7XG5cbiAgICBpZiAoIShjb250ZXh0Lm1vZGFsIGluc3RhbmNlb2YgTW9kYWwpKSB7XG4gICAgICByZXR1cm4gPGFueT5Qcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0NvbmZpZ3VyYXRpb24gRXJyb3I6IG1vZGFsIHNlcnZpY2Ugbm90IHNldC4nKSk7XG4gICAgfVxuXG4gICAgdGhpcy4kJGJlZm9yZU9wZW4oY29udGV4dCk7XG5cbiAgICBjb25zdCBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xuICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgIHZpZXdDb250YWluZXI6IHZpZXdDb250YWluZXJcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbnRleHQubW9kYWwub3Blbihjb250ZXh0LmNvbXBvbmVudCwgb3ZlcmxheUNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==