ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
66 lines (65 loc) • 4.27 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
/** @enum {number} */
const actionSheetEvent = {
onShow: 0,
onShown: 1,
onHide: 2,
onHidden: 3,
onOk: 4,
onCancel: 5,
onDestroy: 6,
};
export class ActionSheetSubject extends Subject {
constructor() {
super();
this._eventsQueue = {};
this.subscribe((value) => {
/** @type {?} */
const eventQueue = this._eventsQueue[value] || [];
eventQueue.forEach(cb => {
if (cb !== null && cb !== undefined) {
cb();
}
});
});
}
/**
* @param {?=} type
* @return {?}
*/
destroy(type = 'onCancel') {
if (!this.isStopped && !this.closed) {
this.next(type);
}
}
/**
* @param {?} eventType
* @param {?} cb
* @return {?}
*/
on(eventType, cb) {
if (this._eventsQueue[eventType]) {
this._eventsQueue[eventType].push(cb);
}
else {
this._eventsQueue[eventType] = [cb];
}
}
}
ActionSheetSubject.decorators = [
{ type: Injectable }
];
/** @nocollapse */
ActionSheetSubject.ctorParameters = () => [];
if (false) {
/** @type {?} */
ActionSheetSubject.prototype.modalId;
/** @type {?} */
ActionSheetSubject.prototype._eventsQueue;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LXN1YmplY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQtbW9iaWxlLyIsInNvdXJjZXMiOlsiYWN0aW9uLXNoZWV0L2FjdGlvbi1zaGVldC1zdWJqZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0lBSTdCLFNBQU07SUFDTixVQUFPO0lBQ1AsU0FBTTtJQUNOLFdBQVE7SUFDUixPQUFJO0lBQ0osV0FBUTtJQUNSLFlBQVM7O0FBSVgsTUFBTSx5QkFBMEIsU0FBUSxPQUFZO0lBSWxEO1FBQ0UsS0FBSyxFQUFFLENBQUM7NEJBSGEsRUFBRTtRQUl2QixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7O1lBQy9CLE1BQU0sVUFBVSxHQUFvQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuRSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUN0QixJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsRUFBRTtvQkFDbkMsRUFBRSxFQUFFLENBQUM7aUJBQ047YUFDRixDQUFDLENBQUM7U0FDSixDQUFDLENBQUM7S0FDSjs7Ozs7SUFFRCxPQUFPLENBQUMsT0FBWSxVQUFVO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO0tBQ0Y7Ozs7OztJQUVELEVBQUUsQ0FBQyxTQUFpQixFQUFFLEVBQVk7UUFDaEMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDckM7S0FDRjs7O1lBN0JGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qIOS6i+S7tuaemuS4viAqL1xuY29uc3QgZW51bSBhY3Rpb25TaGVldEV2ZW50IHtcbiAgb25TaG93LFxuICBvblNob3duLFxuICBvbkhpZGUsXG4gIG9uSGlkZGVuLFxuICBvbk9rLFxuICBvbkNhbmNlbCxcbiAgb25EZXN0cm95XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBY3Rpb25TaGVldFN1YmplY3QgZXh0ZW5kcyBTdWJqZWN0PGFueT4ge1xuICBtb2RhbElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX2V2ZW50c1F1ZXVlID0ge307XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgZXZlbnRRdWV1ZTogQXJyYXk8RnVuY3Rpb24+ID0gdGhpcy5fZXZlbnRzUXVldWVbdmFsdWVdIHx8IFtdO1xuICAgICAgZXZlbnRRdWV1ZS5mb3JFYWNoKGNiID0+IHtcbiAgICAgICAgaWYgKGNiICE9PSBudWxsICYmIGNiICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjYigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlc3Ryb3kodHlwZTogYW55ID0gJ29uQ2FuY2VsJykge1xuICAgIGlmICghdGhpcy5pc1N0b3BwZWQgJiYgIXRoaXMuY2xvc2VkKSB7XG4gICAgICB0aGlzLm5leHQodHlwZSk7XG4gICAgfVxuICB9XG5cbiAgb24oZXZlbnRUeXBlOiBzdHJpbmcsIGNiOiBGdW5jdGlvbikge1xuICAgIGlmICh0aGlzLl9ldmVudHNRdWV1ZVtldmVudFR5cGVdKSB7XG4gICAgICB0aGlzLl9ldmVudHNRdWV1ZVtldmVudFR5cGVdLnB1c2goY2IpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9ldmVudHNRdWV1ZVtldmVudFR5cGVdID0gW2NiXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==