ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
190 lines • 13.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: directives/amap-rectangle/amap-rectangle.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Input, Directive, NgZone } from '@angular/core';
import { zip } from 'rxjs';
import { AMapPolygon, PolygonOptions } from '../../base/amap-polygon';
import { AmapRectangleService } from './amap-rectangle.service';
import { LoggerService } from '../../shared/logger/logger.service';
import { EventBinderService } from '../../shared/event-binder.service';
import { getOptions, ChangeFilter } from '../../utils';
/** @type {?} */
var TAG = 'amap-rectangle';
/** @type {?} */
var RectangleOptions = tslib_1.__spread(PolygonOptions, ['bounds']);
var AmapRectangleDirective = /** @class */ (function (_super) {
tslib_1.__extends(AmapRectangleDirective, _super);
function AmapRectangleDirective(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 {?}
*/
AmapRectangleDirective.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.os.destroy();
};
/**
* @param {?} changes
* @return {?}
*/
AmapRectangleDirective.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
var _this = this;
/** @type {?} */
var filter = ChangeFilter.of(changes);
/** @type {?} */
var rectangle = this.get();
if (!this.inited) {
this.logger.d(TAG, 'initializing ...');
/** @type {?} */
var options = this.options || getOptions(this, RectangleOptions);
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, 'rectangle is ready.');
}));
this.inited = true;
}
else {
zip(filter.has('path'), rectangle).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'), rectangle).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('bounds'), rectangle).subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), v = _b[0], p = _b[1];
return p.setBounds(v);
}));
zip(filter.has('extData'), rectangle).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'), rectangle).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.Rectangle 对象
*/
/**
* 获取已创建的 AMap.Rectangle 对象
* @return {?}
*/
AmapRectangleDirective.prototype.get = /**
* 获取已创建的 AMap.Rectangle 对象
* @return {?}
*/
function () {
return this.os.get();
};
AmapRectangleDirective.decorators = [
{ type: Directive, args: [{
selector: 'amap-rectangle',
exportAs: 'rectangle',
providers: [AmapRectangleService],
},] }
];
/** @nocollapse */
AmapRectangleDirective.ctorParameters = function () { return [
{ type: AmapRectangleService },
{ type: EventBinderService },
{ type: LoggerService },
{ type: NgZone }
]; };
AmapRectangleDirective.propDecorators = {
bounds: [{ type: Input }],
options: [{ type: Input }]
};
return AmapRectangleDirective;
}(AMapPolygon));
export { AmapRectangleDirective };
if (false) {
/**
* 矩形的范围
* @type {?}
*/
AmapRectangleDirective.prototype.bounds;
/**
* 额外: 会覆盖其他属性的配置方式
* @type {?}
*/
AmapRectangleDirective.prototype.options;
/**
* @type {?}
* @private
*/
AmapRectangleDirective.prototype.inited;
/**
* @type {?}
* @protected
*/
AmapRectangleDirective.prototype.os;
/**
* @type {?}
* @protected
*/
AmapRectangleDirective.prototype.binder;
/**
* @type {?}
* @private
*/
AmapRectangleDirective.prototype.logger;
/**
* @type {?}
* @private
*/
AmapRectangleDirective.prototype.ngZone;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1yZWN0YW5nbGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFtYXAvIiwic291cmNlcyI6WyJkaXJlY3RpdmVzL2FtYXAtcmVjdGFuZ2xlL2FtYXAtcmVjdGFuZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBdUMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7O0lBRWpELEdBQUcsR0FBRyxnQkFBZ0I7O0lBQ3RCLGdCQUFnQixvQkFBTyxjQUFjLEdBQUUsUUFBUSxFQUFDO0FBRXREO0lBSzRDLGtEQUFnQztJQWMxRSxnQ0FDWSxFQUF3QixFQUN4QixNQUEwQixFQUM1QixNQUFxQixFQUNyQixNQUFjO1FBSnhCLFlBTUUsa0JBQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxTQUNsQjtRQU5XLFFBQUUsR0FBRixFQUFFLENBQXNCO1FBQ3hCLFlBQU0sR0FBTixNQUFNLENBQW9CO1FBQzVCLFlBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsWUFBTSxHQUFOLE1BQU0sQ0FBUTtRQU5oQixZQUFNLEdBQUcsS0FBSyxDQUFDOztJQVN2QixDQUFDOzs7O0lBRUQsNENBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJ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QUF2QixDQUF1QixFQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOztPQUVHOzs7OztJQUNILG9DQUFHOzs7O0lBQUg7UUFDRSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7Z0JBakVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsV0FBVztvQkFDckIsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7aUJBQ2xDOzs7O2dCQVpRLG9CQUFvQjtnQkFFcEIsa0JBQWtCO2dCQURsQixhQUFhO2dCQUowQyxNQUFNOzs7eUJBc0JuRSxLQUFLOzBCQUlMLEtBQUs7O0lBbURSLDZCQUFDO0NBQUEsQUFsRUQsQ0FLNEMsV0FBVyxHQTZEdEQ7U0E3RFksc0JBQXNCOzs7Ozs7SUFNakMsd0NBQThCOzs7OztJQUk5Qix5Q0FBeUM7Ozs7O0lBRXpDLHdDQUF1Qjs7Ozs7SUFHckIsb0NBQWtDOzs7OztJQUNsQyx3Q0FBb0M7Ozs7O0lBQ3BDLHdDQUE2Qjs7Ozs7SUFDN0Isd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIERpcmVjdGl2ZSwgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgemlwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBTWFwUG9seWdvbiwgUG9seWdvbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9iYXNlL2FtYXAtcG9seWdvbic7XG5pbXBvcnQgeyBBbWFwUmVjdGFuZ2xlU2VydmljZSB9IGZyb20gJy4vYW1hcC1yZWN0YW5nbGUuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudEJpbmRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvZXZlbnQtYmluZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0T3B0aW9ucywgQ2hhbmdlRmlsdGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5jb25zdCBUQUcgPSAnYW1hcC1yZWN0YW5nbGUnO1xuY29uc3QgUmVjdGFuZ2xlT3B0aW9ucyA9IFsuLi5Qb2x5Z29uT3B0aW9ucywgJ2JvdW5kcyddO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdhbWFwLXJlY3RhbmdsZScsXG4gIGV4cG9ydEFzOiAncmVjdGFuZ2xlJyxcbiAgcHJvdmlkZXJzOiBbQW1hcFJlY3RhbmdsZVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBBbWFwUmVjdGFuZ2xlRGlyZWN0aXZlIGV4dGVuZHMgQU1hcFBvbHlnb248QU1hcC5SZWN0YW5nbGUsIGFueT5cbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8vIC0tLS0gT3B0aW9ucyAtLS0tXG4gIC8qKlxuICAgKiDnn6nlvaLnmoTojIPlm7RcbiAgICovXG4gIEBJbnB1dCgpIGJvdW5kcz86IEFNYXAuQm91bmRzO1xuICAvKipcbiAgICog6aKd5aSWOiDkvJropobnm5blhbbku5blsZ7mgKfnmoTphY3nva7mlrnlvI9cbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbnM6IEFNYXAuUmVjdGFuZ2xlLk9wdGlvbnM7XG5cbiAgcHJpdmF0ZSBpbml0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgb3M6IEFtYXBSZWN0YW5nbGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBiaW5kZXI6IEV2ZW50QmluZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBzdXBlcihvcywgYmluZGVyKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub3MuZGVzdHJveSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IGZpbHRlciA9IENoYW5nZUZpbHRlci5vZihjaGFuZ2VzKTtcbiAgICBjb25zdCByZWN0YW5nbGUgPSB0aGlzLmdldCgpO1xuICAgIGlmICghdGhpcy5pbml0ZWQpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnaW5pdGlhbGl6aW5nIC4uLicpO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCBnZXRPcHRpb25zPEFNYXAuUmVjdGFuZ2xlLk9wdGlvbnM+KHRoaXMsIFJlY3RhbmdsZU9wdGlvbnMpO1xuICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICdvcHRpb25zOicsIG9wdGlvbnMpO1xuICAgICAgdGhpcy5vcy5jcmVhdGUob3B0aW9ucykuc3Vic2NyaWJlKG0gPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5uYVJlYWR5LmVtaXQobSkpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ3JlY3RhbmdsZSBpcyByZWFkeS4nKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5pbml0ZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB6aXAoXG4gICAgICAgIGZpbHRlci5oYXM8QU1hcC5Mb2NhdGlvblZhbHVlW10gfCBBTWFwLkxvY2F0aW9uVmFsdWVbXVtdPigncGF0aCcpLFxuICAgICAgICByZWN0YW5nbGUsXG4gICAgICApLnN1YnNjcmliZSgoW3YsIHBdKSA9PiBwLnNldFBhdGgodikpO1xuICAgICAgemlwKGZpbHRlci5oYXM8QU1hcC5SZWN0YW5nbGUuT3B0aW9ucz4oJ29wdGlvbnMnKSwgcmVjdGFuZ2xlKS5zdWJzY3JpYmUoKFt2LCBwXSkgPT5cbiAgICAgICAgcC5zZXRPcHRpb25zKHYgfHwge30pLFxuICAgICAgKTtcbiAgICAgIHppcChmaWx0ZXIuaGFzPEFNYXAuQm91bmRzPignYm91bmRzJyksIHJlY3RhbmdsZSkuc3Vic2NyaWJlKChbdiwgcF0pID0+IHAuc2V0Qm91bmRzKHYpKTtcbiAgICAgIHppcChmaWx0ZXIuaGFzPGFueT4oJ2V4dERhdGEnKSwgcmVjdGFuZ2xlKS5zdWJzY3JpYmUoKFt2LCBwXSkgPT4gcC5zZXRFeHREYXRhKHYpKTtcbiAgICB9XG5cbiAgICB6aXAoZmlsdGVyLmhhczxib29sZWFuPignaGlkZGVuJyksIHJlY3RhbmdsZSkuc3Vic2NyaWJlKChbdiwgcF0pID0+ICh2ID8gcC5oaWRlKCkgOiBwLnNob3coKSkpO1xuICAgIGZpbHRlci5oYXM8Ym9vbGVhbj4oJ2VkaXRvcicpLnN1YnNjcmliZSh2ID0+IHRoaXMub3MudG9nZ2xlRWRpdG9yKHYpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5blt7LliJvlu7rnmoQgQU1hcC5SZWN0YW5nbGUg5a+56LGhXG4gICAqL1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3MuZ2V0KCk7XG4gIH1cbn1cbiJdfQ==