ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
166 lines • 11.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: directives/amap-polygon/amap-polygon.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Directive, NgZone } from '@angular/core';
import { zip } from 'rxjs';
import { AMapPolygon, PolygonOptions } from '../../base/amap-polygon';
import { AmapPolygonService } from './amap-polygon.service';
import { LoggerService } from '../../shared/logger/logger.service';
import { EventBinderService } from '../../shared/event-binder.service';
import { getOptions, ChangeFilter } from '../../utils';
/** @type {?} */
var TAG = 'amap-polygon';
var AmapPolygonDirective = /** @class */ (function (_super) {
tslib_1.__extends(AmapPolygonDirective, _super);
function AmapPolygonDirective(os, binder, logger, ngZone) {
var _this = _super.call(this, os, binder) || this;
_this.os = os;
_this.binder = binder;
_this.logger = logger;
_this.ngZone = ngZone;
_this.inited = false;
return _this;
}
/**
* @return {?}
*/
AmapPolygonDirective.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.os.destroy();
};
/**
* @param {?} changes
* @return {?}
*/
AmapPolygonDirective.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
var _this = this;
/** @type {?} */
var filter = ChangeFilter.of(changes);
/** @type {?} */
var polygon = this.get();
if (!this.inited) {
this.logger.d(TAG, 'initializing ...');
/** @type {?} */
var options = this.options || getOptions(this, PolygonOptions);
this.logger.d(TAG, 'options:', options);
this.os.create(options).subscribe((/**
* @param {?} m
* @return {?}
*/
function (m) {
_this.ngZone.run((/**
* @return {?}
*/
function () { return _this.naReady.emit(m); }));
_this.logger.d(TAG, 'polygon is ready.');
}));
this.inited = true;
}
else {
zip(filter.has('path'), polygon).subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), v = _b[0], p = _b[1];
return p.setPath(v);
}));
zip(filter.has('options'), polygon).subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), v = _b[0], p = _b[1];
return p.setOptions(v || {});
}));
zip(filter.has('extData'), polygon).subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), v = _b[0], p = _b[1];
return p.setExtData(v);
}));
}
zip(filter.has('hidden'), polygon).subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), v = _b[0], p = _b[1];
return (v ? p.hide() : p.show());
}));
filter.has('editor').subscribe((/**
* @param {?} v
* @return {?}
*/
function (v) { return _this.os.toggleEditor(v); }));
};
/**
* 获取已创建的 AMap.Polygon 对象
*/
/**
* 获取已创建的 AMap.Polygon 对象
* @return {?}
*/
AmapPolygonDirective.prototype.get = /**
* 获取已创建的 AMap.Polygon 对象
* @return {?}
*/
function () {
return this.os.get();
};
AmapPolygonDirective.decorators = [
{ type: Directive, args: [{
selector: 'amap-polygon',
exportAs: 'polygon',
providers: [AmapPolygonService],
},] }
];
/** @nocollapse */
AmapPolygonDirective.ctorParameters = function () { return [
{ type: AmapPolygonService },
{ type: EventBinderService },
{ type: LoggerService },
{ type: NgZone }
]; };
return AmapPolygonDirective;
}(AMapPolygon));
export { AmapPolygonDirective };
if (false) {
/**
* @type {?}
* @private
*/
AmapPolygonDirective.prototype.inited;
/**
* @type {?}
* @protected
*/
AmapPolygonDirective.prototype.os;
/**
* @type {?}
* @protected
*/
AmapPolygonDirective.prototype.binder;
/**
* @type {?}
* @private
*/
AmapPolygonDirective.prototype.logger;
/**
* @type {?}
* @private
*/
AmapPolygonDirective.prototype.ngZone;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1wb2x5Z29uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hbWFwLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9hbWFwLXBvbHlnb24vYW1hcC1wb2x5Z29uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1QyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7SUFFakQsR0FBRyxHQUFHLGNBQWM7QUFFMUI7SUFLMEMsZ0RBQThCO0lBSXRFLDhCQUNZLEVBQXNCLEVBQ3RCLE1BQTBCLEVBQzVCLE1BQXFCLEVBQ3JCLE1BQWM7UUFKeEIsWUFNRSxrQkFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLFNBQ2xCO1FBTlcsUUFBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsWUFBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDNUIsWUFBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixZQUFNLEdBQU4sTUFBTSxDQUFRO1FBTmhCLFlBQU0sR0FBRyxLQUFLLENBQUM7O0lBU3ZCLENBQUM7Ozs7SUFFRCwwQ0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7O0lBRUQsMENBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQWxDLGlCQXlCQzs7WUF4Qk8sTUFBTSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDOztZQUNqQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsQ0FBQzs7Z0JBQ2pDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBdUIsSUFBSSxFQUFFLGNBQWMsQ0FBQztZQUN0RixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Ozs7WUFBQyxVQUFBLENBQUM7Z0JBQ2pDLEtBQUksQ0FBQyxNQUFNLENBQUMsR0FBRzs7O2dCQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBcEIsQ0FBb0IsRUFBQyxDQUFDO2dCQUM1QyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUMxQyxDQUFDLEVBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO2FBQU07WUFDTCxHQUFHLENBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBZ0QsTUFBTSxDQUFDLEVBQ2pFLE9BQU8sQ0FDUixDQUFDLFNBQVM7Ozs7WUFBQyxVQUFDLEVBQU07b0JBQU4sMEJBQU0sRUFBTCxTQUFDLEVBQUUsU0FBQztnQkFBTSxPQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQVosQ0FBWSxFQUFDLENBQUM7WUFDdEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQXVCLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Ozs7WUFBQyxVQUFDLEVBQU07b0JBQU4sMEJBQU0sRUFBTCxTQUFDLEVBQUUsU0FBQztnQkFDeEUsT0FBQSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFBckIsQ0FBcUIsRUFDdEIsQ0FBQztZQUNGLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFNLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Ozs7WUFBQyxVQUFDLEVBQU07b0JBQU4sMEJBQU0sRUFBTCxTQUFDLEVBQUUsU0FBQztnQkFBTSxPQUFBLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQWYsQ0FBZSxFQUFDLENBQUM7U0FDakY7UUFFRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBVSxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQyxFQUFNO2dCQUFOLDBCQUFNLEVBQUwsU0FBQyxFQUFFLFNBQUM7WUFBTSxPQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUF6QixDQUF5QixFQUFDLENBQUM7UUFDN0YsTUFBTSxDQUFDLEdBQUcsQ0FBVSxRQUFRLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxLQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBdkIsQ0FBdUIsRUFBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7T0FFRzs7Ozs7SUFDSCxrQ0FBRzs7OztJQUFIO1FBQ0UsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O2dCQXRERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDaEM7Ozs7Z0JBWFEsa0JBQWtCO2dCQUVsQixrQkFBa0I7Z0JBRGxCLGFBQWE7Z0JBSm1DLE1BQU07O0lBaUUvRCwyQkFBQztDQUFBLEFBdkRELENBSzBDLFdBQVcsR0FrRHBEO1NBbERZLG9CQUFvQjs7Ozs7O0lBRS9CLHNDQUF1Qjs7Ozs7SUFHckIsa0NBQWdDOzs7OztJQUNoQyxzQ0FBb0M7Ozs7O0lBQ3BDLHNDQUE2Qjs7Ozs7SUFDN0Isc0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFNYXBQb2x5Z29uLCBQb2x5Z29uT3B0aW9ucyB9IGZyb20gJy4uLy4uL2Jhc2UvYW1hcC1wb2x5Z29uJztcbmltcG9ydCB7IEFtYXBQb2x5Z29uU2VydmljZSB9IGZyb20gJy4vYW1hcC1wb2x5Z29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXZlbnRCaW5kZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2V2ZW50LWJpbmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IGdldE9wdGlvbnMsIENoYW5nZUZpbHRlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuY29uc3QgVEFHID0gJ2FtYXAtcG9seWdvbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2FtYXAtcG9seWdvbicsXG4gIGV4cG9ydEFzOiAncG9seWdvbicsXG4gIHByb3ZpZGVyczogW0FtYXBQb2x5Z29uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFtYXBQb2x5Z29uRGlyZWN0aXZlIGV4dGVuZHMgQU1hcFBvbHlnb248QU1hcC5Qb2x5Z29uLCBhbnk+XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGluaXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvczogQW1hcFBvbHlnb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBiaW5kZXI6IEV2ZW50QmluZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBzdXBlcihvcywgYmluZGVyKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub3MuZGVzdHJveSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IGZpbHRlciA9IENoYW5nZUZpbHRlci5vZihjaGFuZ2VzKTtcbiAgICBjb25zdCBwb2x5Z29uID0gdGhpcy5nZXQoKTtcbiAgICBpZiAoIXRoaXMuaW5pdGVkKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ2luaXRpYWxpemluZyAuLi4nKTtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwgZ2V0T3B0aW9uczxBTWFwLlBvbHlnb24uT3B0aW9ucz4odGhpcywgUG9seWdvbk9wdGlvbnMpO1xuICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICdvcHRpb25zOicsIG9wdGlvbnMpO1xuICAgICAgdGhpcy5vcy5jcmVhdGUob3B0aW9ucykuc3Vic2NyaWJlKG0gPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5uYVJlYWR5LmVtaXQobSkpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ3BvbHlnb24gaXMgcmVhZHkuJyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaW5pdGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgemlwKFxuICAgICAgICBmaWx0ZXIuaGFzPEFNYXAuTG9jYXRpb25WYWx1ZVtdIHwgQU1hcC5Mb2NhdGlvblZhbHVlW11bXT4oJ3BhdGgnKSxcbiAgICAgICAgcG9seWdvbixcbiAgICAgICkuc3Vic2NyaWJlKChbdiwgcF0pID0+IHAuc2V0UGF0aCh2KSk7XG4gICAgICB6aXAoZmlsdGVyLmhhczxBTWFwLlBvbHlnb24uT3B0aW9ucz4oJ29wdGlvbnMnKSwgcG9seWdvbikuc3Vic2NyaWJlKChbdiwgcF0pID0+XG4gICAgICAgIHAuc2V0T3B0aW9ucyh2IHx8IHt9KSxcbiAgICAgICk7XG4gICAgICB6aXAoZmlsdGVyLmhhczxhbnk+KCdleHREYXRhJyksIHBvbHlnb24pLnN1YnNjcmliZSgoW3YsIHBdKSA9PiBwLnNldEV4dERhdGEodikpO1xuICAgIH1cblxuICAgIHppcChmaWx0ZXIuaGFzPGJvb2xlYW4+KCdoaWRkZW4nKSwgcG9seWdvbikuc3Vic2NyaWJlKChbdiwgcF0pID0+ICh2ID8gcC5oaWRlKCkgOiBwLnNob3coKSkpO1xuICAgIGZpbHRlci5oYXM8Ym9vbGVhbj4oJ2VkaXRvcicpLnN1YnNjcmliZSh2ID0+IHRoaXMub3MudG9nZ2xlRWRpdG9yKHYpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5blt7LliJvlu7rnmoQgQU1hcC5Qb2x5Z29uIOWvueixoVxuICAgKi9cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLm9zLmdldCgpO1xuICB9XG59XG4iXX0=