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]

93 lines 6.6 kB
/** * @fileoverview added by tsickle * Generated from: shared/amap-ui-loader.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { ReplaySubject } from 'rxjs'; import { LoggerService } from './logger/logger.service'; import { AMapLoaderService } from './amap-loader.service'; /** @type {?} */ const TAG = 'AMapUILoader'; export class AmapUILoaderService { /** * @param {?} amap * @param {?} logger */ constructor(amap, logger) { this.amap = amap; this.logger = logger; this.state = new Map(); } /** * @param {?} name * @return {?} */ load(name) { /** @type {?} */ let pKey = ''; if (Array.isArray(name)) { pKey = name.join(','); } else { pKey = name; } if (this.state.has(pKey)) { return this.state.get(pKey).asObservable(); } this.logger.d(TAG, 'loading ui:', pKey, '...'); /** @type {?} */ const loading$ = new ReplaySubject(1); this.amap.load().subscribe({ next: (/** * @return {?} */ () => { this.amap.loadUI().subscribe({ next: (/** * @return {?} */ () => { AMapUI.loadUI(Array.isArray(name) ? name : [name], (/** * @param {?} u * @return {?} */ u => { this.logger.d(TAG, 'loading ui:', pKey, 'COMPLETE'); loading$.next(u); loading$.complete(); })); this.state.set(pKey, loading$); }), }); }), }); return loading$.asObservable(); } } AmapUILoaderService.decorators = [ { type: Injectable } ]; /** @nocollapse */ AmapUILoaderService.ctorParameters = () => [ { type: AMapLoaderService }, { type: LoggerService } ]; if (false) { /** * @type {?} * @private */ AmapUILoaderService.prototype.state; /** * @type {?} * @private */ AmapUILoaderService.prototype.amap; /** * @type {?} * @private */ AmapUILoaderService.prototype.logger; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC11aS1sb2FkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hbWFwLyIsInNvdXJjZXMiOlsic2hhcmVkL2FtYXAtdWktbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztNQUdwRCxHQUFHLEdBQUcsY0FBYztBQUcxQixNQUFNLE9BQU8sbUJBQW1COzs7OztJQUc5QixZQUFvQixJQUF1QixFQUFVLE1BQXFCO1FBQXRELFNBQUksR0FBSixJQUFJLENBQW1CO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUZsRSxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7SUFFdUIsQ0FBQzs7Ozs7SUFFOUUsSUFBSSxDQUFDLElBQXVCOztZQUN0QixJQUFJLEdBQUcsRUFBRTtRQUNiLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN2QixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7O2NBQ3pDLFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDekIsSUFBSTs7O1lBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUMzQixJQUFJOzs7b0JBQUUsR0FBRyxFQUFFO3dCQUNULE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs7Ozt3QkFBRSxDQUFDLENBQUMsRUFBRTs0QkFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7NEJBQ3BELFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ2pCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDdEIsQ0FBQyxFQUFDLENBQUM7d0JBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUNqQyxDQUFDLENBQUE7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFBO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQzs7O1lBbENGLFVBQVU7Ozs7WUFMRixpQkFBaUI7WUFEakIsYUFBYTs7Ozs7OztJQVFwQixvQ0FBc0Q7Ozs7O0lBRTFDLG1DQUErQjs7Ozs7SUFBRSxxQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQU1hcExvYWRlclNlcnZpY2UgfSBmcm9tICcuL2FtYXAtbG9hZGVyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IEFNYXBVSTogYW55O1xuY29uc3QgVEFHID0gJ0FNYXBVSUxvYWRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbWFwVUlMb2FkZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0ZSA9IG5ldyBNYXA8c3RyaW5nLCBSZXBsYXlTdWJqZWN0PGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbWFwOiBBTWFwTG9hZGVyU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UpIHt9XG5cbiAgbG9hZChuYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHBLZXkgPSAnJztcbiAgICBpZiAoQXJyYXkuaXNBcnJheShuYW1lKSkge1xuICAgICAgcEtleSA9IG5hbWUuam9pbignLCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwS2V5ID0gbmFtZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RhdGUuaGFzKHBLZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS5nZXQocEtleSkuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dnZXIuZChUQUcsICdsb2FkaW5nIHVpOicsIHBLZXksICcuLi4nKTtcbiAgICBjb25zdCBsb2FkaW5nJCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHRoaXMuYW1hcC5sb2FkKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5hbWFwLmxvYWRVSSgpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgQU1hcFVJLmxvYWRVSShBcnJheS5pc0FycmF5KG5hbWUpID8gbmFtZSA6IFtuYW1lXSwgdSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnbG9hZGluZyB1aTonLCBwS2V5LCAnQ09NUExFVEUnKTtcbiAgICAgICAgICAgICAgbG9hZGluZyQubmV4dCh1KTtcbiAgICAgICAgICAgICAgbG9hZGluZyQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZS5zZXQocEtleSwgbG9hZGluZyQpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gbG9hZGluZyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==