ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
96 lines • 6.87 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 {?} */
var TAG = 'AMapUILoader';
var AmapUILoaderService = /** @class */ (function () {
function AmapUILoaderService(amap, logger) {
this.amap = amap;
this.logger = logger;
this.state = new Map();
}
/**
* @param {?} name
* @return {?}
*/
AmapUILoaderService.prototype.load = /**
* @param {?} name
* @return {?}
*/
function (name) {
var _this = this;
/** @type {?} */
var 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 {?} */
var loading$ = new ReplaySubject(1);
this.amap.load().subscribe({
next: (/**
* @return {?}
*/
function () {
_this.amap.loadUI().subscribe({
next: (/**
* @return {?}
*/
function () {
AMapUI.loadUI(Array.isArray(name) ? name : [name], (/**
* @param {?} u
* @return {?}
*/
function (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 = function () { return [
{ type: AMapLoaderService },
{ type: LoggerService }
]; };
return AmapUILoaderService;
}());
export { AmapUILoaderService };
if (false) {
/**
* @type {?}
* @private
*/
AmapUILoaderService.prototype.state;
/**
* @type {?}
* @private
*/
AmapUILoaderService.prototype.amap;
/**
* @type {?}
* @private
*/
AmapUILoaderService.prototype.logger;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC11aS1sb2FkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hbWFwLyIsInNvdXJjZXMiOlsic2hhcmVkL2FtYXAtdWktbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztJQUdwRCxHQUFHLEdBQUcsY0FBYztBQUUxQjtJQUlFLDZCQUFvQixJQUF1QixFQUFVLE1BQXFCO1FBQXRELFNBQUksR0FBSixJQUFJLENBQW1CO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUZsRSxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7SUFFdUIsQ0FBQzs7Ozs7SUFFOUUsa0NBQUk7Ozs7SUFBSixVQUFLLElBQXVCO1FBQTVCLGlCQTRCQzs7WUEzQkssSUFBSSxHQUFHLEVBQUU7UUFDYixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdkI7YUFBTTtZQUNMLElBQUksR0FBRyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM1QztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztZQUN6QyxRQUFRLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ3pCLElBQUk7OztZQUFFO2dCQUNKLEtBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUMzQixJQUFJOzs7b0JBQUU7d0JBQ0osTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDOzs7O3dCQUFFLFVBQUEsQ0FBQzs0QkFDbEQsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7NEJBQ3BELFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ2pCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDdEIsQ0FBQyxFQUFDLENBQUM7d0JBQ0gsS0FBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUNqQyxDQUFDLENBQUE7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFBO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQzs7Z0JBbENGLFVBQVU7Ozs7Z0JBTEYsaUJBQWlCO2dCQURqQixhQUFhOztJQXlDdEIsMEJBQUM7Q0FBQSxBQW5DRCxJQW1DQztTQWxDWSxtQkFBbUI7Ozs7OztJQUM5QixvQ0FBc0Q7Ozs7O0lBRTFDLG1DQUErQjs7Ozs7SUFBRSxxQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQU1hcExvYWRlclNlcnZpY2UgfSBmcm9tICcuL2FtYXAtbG9hZGVyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IEFNYXBVSTogYW55O1xuY29uc3QgVEFHID0gJ0FNYXBVSUxvYWRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbWFwVUlMb2FkZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0ZSA9IG5ldyBNYXA8c3RyaW5nLCBSZXBsYXlTdWJqZWN0PGFueT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbWFwOiBBTWFwTG9hZGVyU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UpIHt9XG5cbiAgbG9hZChuYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHBLZXkgPSAnJztcbiAgICBpZiAoQXJyYXkuaXNBcnJheShuYW1lKSkge1xuICAgICAgcEtleSA9IG5hbWUuam9pbignLCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwS2V5ID0gbmFtZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RhdGUuaGFzKHBLZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS5nZXQocEtleSkuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dnZXIuZChUQUcsICdsb2FkaW5nIHVpOicsIHBLZXksICcuLi4nKTtcbiAgICBjb25zdCBsb2FkaW5nJCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHRoaXMuYW1hcC5sb2FkKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5hbWFwLmxvYWRVSSgpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgQU1hcFVJLmxvYWRVSShBcnJheS5pc0FycmF5KG5hbWUpID8gbmFtZSA6IFtuYW1lXSwgdSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnbG9hZGluZyB1aTonLCBwS2V5LCAnQ09NUExFVEUnKTtcbiAgICAgICAgICAgICAgbG9hZGluZyQubmV4dCh1KTtcbiAgICAgICAgICAgICAgbG9hZGluZyQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZS5zZXQocEtleSwgbG9hZGluZyQpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gbG9hZGluZyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==