ng2-modal-module
Version:
bootstrap modal component adjusted for angular2+ framework based on rx-pubsub service. NO jQuery!
50 lines • 3.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { PubSubDistinct } from 'pubsub-distinct';
export class Ng2ModalWindow {
/**
* @param {?} modalId
* @param {?=} options
* @return {?}
*/
static showModal(modalId, options = {}) {
options.show = true;
options.hide = null;
PubSubDistinct.publishDistinct(modalId, options);
}
/**
* @param {?} modalId
* @return {?}
*/
static hideModal(modalId) {
/** @type {?} */
let options = { hide: true };
PubSubDistinct.publishDistinct(modalId, options);
}
/**
* @param {?} eventsList
* @return {?}
*/
static resetEventsSubscribers(eventsList) {
eventsList.forEach((/**
* @param {?} eventName
* @return {?}
*/
(eventName) => {
if (eventName && PubSubDistinct.hasSubscribers(eventName)) {
PubSubDistinct.dispose(eventName);
}
}));
}
/**
* @param {?} eventName
* @param {?} callback
* @return {?}
*/
static subscribe(eventName, callback) {
PubSubDistinct.subscribe(eventName, callback);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLW1vZGFsLXdpbmRvdy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1tb2RhbC1tb2R1bGUvIiwic291cmNlcyI6WyJsaWIvbmcyLW1vZGFsLXdpbmRvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE1BQU0sT0FBTyxjQUFjOzs7Ozs7SUFFekIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFlLEVBQUUsVUFBZSxFQUFFO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGNBQWMsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFlOztZQUMxQixPQUFPLEdBQVEsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDO1FBQy9CLGNBQWMsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLFVBQWlCO1FBQzdDLFVBQVUsQ0FBQyxPQUFPOzs7O1FBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7WUFDdkMsSUFBSSxTQUFTLElBQUksY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDekQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNuQztRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFpQixFQUFFLFFBQTZCO1FBQy9ELGNBQWMsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFB1YlN1YkRpc3RpbmN0IH0gZnJvbSAncHVic3ViLWRpc3RpbmN0JztcblxuZXhwb3J0IGNsYXNzIE5nMk1vZGFsV2luZG93IHtcblxuICBzdGF0aWMgc2hvd01vZGFsKG1vZGFsSWQ6IHN0cmluZywgb3B0aW9uczogYW55ID0ge30pOiB2b2lkIHtcbiAgICBvcHRpb25zLnNob3cgPSB0cnVlO1xuICAgIG9wdGlvbnMuaGlkZSA9IG51bGw7XG4gICAgUHViU3ViRGlzdGluY3QucHVibGlzaERpc3RpbmN0KG1vZGFsSWQsIG9wdGlvbnMpO1xuICB9XG5cbiAgc3RhdGljIGhpZGVNb2RhbChtb2RhbElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9uczogYW55ID0ge2hpZGU6IHRydWV9O1xuICAgIFB1YlN1YkRpc3RpbmN0LnB1Ymxpc2hEaXN0aW5jdChtb2RhbElkLCBvcHRpb25zKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNldEV2ZW50c1N1YnNjcmliZXJzKGV2ZW50c0xpc3Q6IGFueVtdKTogdm9pZCB7XG4gICAgZXZlbnRzTGlzdC5mb3JFYWNoKChldmVudE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKGV2ZW50TmFtZSAmJiBQdWJTdWJEaXN0aW5jdC5oYXNTdWJzY3JpYmVycyhldmVudE5hbWUpKSB7XG4gICAgICAgIFB1YlN1YkRpc3RpbmN0LmRpc3Bvc2UoZXZlbnROYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBzdWJzY3JpYmUoZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiAoZGF0YT86IGFueSkgPT4gYW55KTogdm9pZCB7XG4gICAgUHViU3ViRGlzdGluY3Quc3Vic2NyaWJlKGV2ZW50TmFtZSwgY2FsbGJhY2spO1xuICB9XG59XG4iXX0=