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