UNPKG

ngx-amap

Version:

[![npm](https://img.shields.io/npm/v/ngx-amap.svg)][npm-badge-url] [![npm](https://img.shields.io/npm/dm/ngx-amap.svg)][npm-badge-url] [![Build Status](https://travis-ci.org/xieziyu/ngx-amap.svg?branch=master)][ci-url]

94 lines 6.16 kB
/** * @fileoverview added by tsickle * Generated from: shared/event-binder.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, NgZone } from '@angular/core'; import { Observable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { LoggerService } from './logger/logger.service'; /** @type {?} */ var TAG = 'EventBinder'; var EventBinderService = /** @class */ (function () { function EventBinderService(logger, ngZone) { this.logger = logger; this.ngZone = ngZone; } /** * 注册事件 * @param eventName 事件名 */ /** * 注册事件 * @template T * @param {?} target * @param {?} eventName 事件名 * @return {?} */ EventBinderService.prototype.bindEvent = /** * 注册事件 * @template T * @param {?} target * @param {?} eventName 事件名 * @return {?} */ function (target, eventName) { var _this = this; return (/** @type {?} */ (target.pipe(switchMap((/** * @param {?} t * @return {?} */ function (t) { return new Observable((/** * @param {?} observer * @return {?} */ function (observer) { /** @type {?} */ var handler = AMap.event.addListener(t, eventName, (/** * @param {?} e * @return {?} */ function (e) { _this.ngZone.run((/** * @return {?} */ function () { return observer.next(e); })); }), _this); _this.logger.d(TAG, "subscribed event: " + eventName); return (/** * @return {?} */ function () { AMap.event.removeListener(handler); _this.logger.d(TAG, "unsubscribed event: " + eventName); eventName = null; handler = null; }); })); }))))); }; EventBinderService.decorators = [ { type: Injectable } ]; /** @nocollapse */ EventBinderService.ctorParameters = function () { return [ { type: LoggerService }, { type: NgZone } ]; }; return EventBinderService; }()); export { EventBinderService }; if (false) { /** * @type {?} * @private */ EventBinderService.prototype.logger; /** * @type {?} * @private */ EventBinderService.prototype.ngZone; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtYmluZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYW1hcC8iLCJzb3VyY2VzIjpbInNoYXJlZC9ldmVudC1iaW5kZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0lBRWxELEdBQUcsR0FBRyxhQUFhO0FBRXpCO0lBRUUsNEJBQW9CLE1BQXFCLEVBQVUsTUFBYztRQUE3QyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFckU7OztPQUdHOzs7Ozs7OztJQUNILHNDQUFTOzs7Ozs7O0lBQVQsVUFDRSxNQUFxQixFQUNyQixTQUFpQjtRQUZuQixpQkEwQkM7UUF0QkMsT0FBTyxtQkFBQSxNQUFNLENBQUMsSUFBSSxDQUNoQixTQUFTOzs7O1FBQ1AsVUFBQyxDQUFJO1lBQ0gsT0FBQSxJQUFJLFVBQVU7Ozs7WUFBQyxVQUFBLFFBQVE7O29CQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ2xDLENBQUMsRUFDRCxTQUFTOzs7O2dCQUNULFVBQUEsQ0FBQztvQkFDQyxLQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7OztvQkFBQyxjQUFNLE9BQUEsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBaEIsQ0FBZ0IsRUFBQyxDQUFDO2dCQUMxQyxDQUFDLEdBQ0QsS0FBSSxDQUNMO2dCQUNELEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSx1QkFBcUIsU0FBVyxDQUFDLENBQUM7Z0JBQ3JEOzs7Z0JBQU87b0JBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ25DLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSx5QkFBdUIsU0FBVyxDQUFDLENBQUM7b0JBQ3ZELFNBQVMsR0FBRyxJQUFJLENBQUM7b0JBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLENBQUMsRUFBQztZQUNKLENBQUMsRUFBQztRQWhCRixDQWdCRSxFQUNMLENBQ0YsRUFBcUIsQ0FBQztJQUN6QixDQUFDOztnQkFsQ0YsVUFBVTs7OztnQkFKRixhQUFhO2dCQUhELE1BQU07O0lBMEMzQix5QkFBQztDQUFBLEFBbkNELElBbUNDO1NBbENZLGtCQUFrQjs7Ozs7O0lBQ2pCLG9DQUE2Qjs7Ozs7SUFBRSxvQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcblxuY29uc3QgVEFHID0gJ0V2ZW50QmluZGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2ZW50QmluZGVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gIC8qKlxuICAgKiDms6jlhozkuovku7ZcbiAgICogQHBhcmFtIGV2ZW50TmFtZSDkuovku7blkI1cbiAgICovXG4gIGJpbmRFdmVudDxUIGV4dGVuZHMgQU1hcC5FdmVudEVtaXR0ZXI+KFxuICAgIHRhcmdldDogT2JzZXJ2YWJsZTxUPixcbiAgICBldmVudE5hbWU6IHN0cmluZyxcbiAgKTogRXZlbnRFbWl0dGVyPGFueT4ge1xuICAgIHJldHVybiB0YXJnZXQucGlwZShcbiAgICAgIHN3aXRjaE1hcChcbiAgICAgICAgKHQ6IFQpID0+XG4gICAgICAgICAgbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgICAgICAgbGV0IGhhbmRsZXIgPSBBTWFwLmV2ZW50LmFkZExpc3RlbmVyKFxuICAgICAgICAgICAgICB0LFxuICAgICAgICAgICAgICBldmVudE5hbWUsXG4gICAgICAgICAgICAgIGUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiBvYnNlcnZlci5uZXh0KGUpKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgYHN1YnNjcmliZWQgZXZlbnQ6ICR7ZXZlbnROYW1lfWApO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgQU1hcC5ldmVudC5yZW1vdmVMaXN0ZW5lcihoYW5kbGVyKTtcbiAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZChUQUcsIGB1bnN1YnNjcmliZWQgZXZlbnQ6ICR7ZXZlbnROYW1lfWApO1xuICAgICAgICAgICAgICBldmVudE5hbWUgPSBudWxsO1xuICAgICAgICAgICAgICBoYW5kbGVyID0gbnVsbDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSksXG4gICAgICApLFxuICAgICkgYXMgRXZlbnRFbWl0dGVyPGFueT47XG4gIH1cbn1cbiJdfQ==