ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
94 lines • 6.16 kB
JavaScript
/**
* @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==