@jmarcelof/leaflet-ng2
Version:
Angular2 module for Leaflet
1,165 lines • 45.6 kB
JavaScript
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
}
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var leaflet_1 = require("leaflet");
var consts_1 = require("./consts");
var layer_group_provider_1 = require("./layer-group.provider");
var layer_provider_1 = require("./layer.provider");
/**
* Angular2 directive for Leaflet WMS-layers.
*
* *You can use this directive in an Angular2 template after importing `YagaModule`.*
*
* How to use in a template:
* ```html
* <yaga-map>
* <yaga-wms-layer
* [(url)]="..."
* [(display)]="..."
* [(opacity)]="..."
* [(zIndex)]="..."
* [(layers)]="..."
* [(styles)]="..."
* [(format)]="..."
* [(version)]="..."
* [(transparent)]="..."
*
* (add)="..."
* (remove)="..."
* (popupopen)="..."
* (popupclose)="..."
* (tooltipopen)="..."
* (tooltipclose)="..."
* (click)="..."
* (dblclick)="..."
* (mousedown)="..."
* (mouseover)="..."
* (mouseout)="..."
* (contextmenu)="..."
* (loading)="..."
* (tileunload)="..."
* (tileloadstart)="..."
* (tileerror)="..."
* (tileload)="..."
* (load)="..."
*
* [tileSize]="..."
* [updateWhenIdle]="..."
* [updateWhenZooming]="..."
* [updateInterval]="..."
* [bounds]="..."
* [noWrap]="..."
* [className]="..."
* [keepBuffer]="..."
* [maxZoom]="..."
* [minZoom]="..."
* [maxNativeZoom]="..."
* [minNativeZoom]="..."
* [subdomains]="..."
* [errorTileUrl]="..."
* [zoomOffset]="..."
* [tms]="..."
* [zoomReverse]="..."
* [detectRetina]="..."
* [crossOrigin]="..."
* [attribution]="...">
* </yaga-tile-layer>
* </yaga-map>
* ```
*
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer Original Leaflet documentation
* @link https://leaflet-ng2.yagajs.org/latest/browser-test?grep=Tile-Layer%20Directive Unit-Test
* @link https://leaflet-ng2.yagajs.org/latest/coverage/lcov-report/lib/tile-layer.directive.js.html Test coverage
* @link https://leaflet-ng2.yagajs.org/latest/typedoc/classes/tilelayerdirective.html API documentation
* @example https://leaflet-ng2.yagajs.org/latest/examples/tile-layer-directive
*/
var WmsLayerDirective = /** @class */ (function (_super) {
__extends(WmsLayerDirective, _super);
function WmsLayerDirective(layerGroupProvider, layerProvider) {
var _this =
// Transparent 1px image:
_super.call(this, "", { layers: "", errorTileUrl: consts_1.TRANSPARENT_PIXEL }) || this;
_this.layerGroupProvider = layerGroupProvider;
/**
* Two-Way bound property for the URL.
* Use it with `<yaga-tile-layer [(url)]="someValue">` or `<yaga-tile-layer (urlChange)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-seturl Original Leaflet documentation
*/
_this.urlChange = new core_1.EventEmitter();
/**
* Two-Way bound property for the display status of the layer.
* Use it with `<yaga-tile-layer [(display)]="someValue">`
* or `<yaga-tile-layer (displayChange)="processEvent($event)">`
*/
_this.displayChange = new core_1.EventEmitter();
/**
* Two-Way bound property for the opacity of the layer.
* Use it with `<yaga-tile-layer [(opacity)]="someValue">`
* or `<yaga-tile-layer (opacityChange)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-opacity Original Leaflet documentation
*/
_this.opacityChange = new core_1.EventEmitter();
/**
* Two-Way bound property for the zIndex of the layer.
* Use it with `<yaga-tile-layer [(zIndex)]="someValue">`
* or `<yaga-tile-layer (zIndexChange)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-setzindex Original Leaflet documentation
*/
_this.zIndexChange = new core_1.EventEmitter();
_this.layersChange = new core_1.EventEmitter();
_this.stylesChange = new core_1.EventEmitter();
_this.formatChange = new core_1.EventEmitter();
_this.versionChange = new core_1.EventEmitter();
_this.transparentChange = new core_1.EventEmitter();
/**
* From leaflet fired add event.
* Use it with `<yaga-tile-layer (add)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-add Original Leaflet documentation
*/
_this.addEvent = new core_1.EventEmitter();
/**
* From leaflet fired remove event.
* Use it with `<yaga-tile-layer (remove)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-remove Original Leaflet documentation
*/
_this.removeEvent = new core_1.EventEmitter();
/**
* From leaflet fired popupopen event.
* Use it with `<yaga-tile-layer (popupopen)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-popupopen Original Leaflet documentation
*/
_this.popupopenEvent = new core_1.EventEmitter();
/**
* From leaflet fired popupclose event.
* Use it with `<yaga-tile-layer (popupclose)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-popupclose Original Leaflet documentation
*/
_this.popupcloseEvent = new core_1.EventEmitter();
/**
* From leaflet fired tooltipopen event.
* Use it with `<yaga-tile-layer (tooltipopen)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-tooltipopen Original Leaflet documentation
*/
_this.tooltipopenEvent = new core_1.EventEmitter();
/**
* From leaflet fired tooltipclose event.
* Use it with `<yaga-tile-layer (tooltipclose)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-tooltipclose Original Leaflet documentation
*/
_this.tooltipcloseEvent = new core_1.EventEmitter();
/**
* From leaflet fired click event.
* Use it with `<yaga-tile-layer (click)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-click Original Leaflet documentation
*/
_this.clickEvent = new core_1.EventEmitter();
/**
* From leaflet fired dblclick event.
* Use it with `<yaga-tile-layer (dblclick)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-dblclick Original Leaflet documentation
*/
_this.dblclickEvent = new core_1.EventEmitter();
/**
* From leaflet fired mousedown event.
* Use it with `<yaga-tile-layer (mousedown)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-mousedown Original Leaflet documentation
*/
_this.mousedownEvent = new core_1.EventEmitter();
/**
* From leaflet fired mouseover event.
* Use it with `<yaga-tile-layer (mouseover)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-mouseover Original Leaflet documentation
*/
_this.mouseoverEvent = new core_1.EventEmitter();
/**
* From leaflet fired mouseout event.
* Use it with `<yaga-tile-layer (mouseout)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-mouseout Original Leaflet documentation
*/
_this.mouseoutEvent = new core_1.EventEmitter();
/**
* From leaflet fired contextmenu event.
* Use it with `<yaga-tile-layer (contextmenu)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-contextmenu Original Leaflet documentation
*/
_this.contextmenuEvent = new core_1.EventEmitter();
/**
* From leaflet fired loading event.
* Use it with `<yaga-tile-layer (loading)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-loading Original Leaflet documentation
*/
_this.loadingEvent = new core_1.EventEmitter();
/**
* From leaflet fired tileunload event.
* Use it with `<yaga-tile-layer (tileunload)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-tileunload Original Leaflet documentation
*/
_this.tileunloadEvent = new core_1.EventEmitter();
/**
* From leaflet fired tileloadstart event.
* Use it with `<yaga-tile-layer (tileloadstart)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-tileloadstart Original Leaflet documentation
*/
_this.tileloadstartEvent = new core_1.EventEmitter();
/**
* From leaflet fired tileerror event.
* Use it with `<yaga-tile-layer (tileerror)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-tileerror Original Leaflet documentation
*/
_this.tileerrorEvent = new core_1.EventEmitter();
/**
* From leaflet fired tileload event.
* Use it with `<yaga-tile-layer (tileload)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-tileload Original Leaflet documentation
*/
_this.tileloadEvent = new core_1.EventEmitter();
/**
* From leaflet fired load event.
* Use it with `<yaga-tile-layer (load)="processEvent($event)">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-load Original Leaflet documentation
*/
_this.loadEvent = new core_1.EventEmitter();
layerProvider.ref = _this;
_this.on("remove", function () {
_this.displayChange.emit(false);
});
_this.on("add", function () {
_this.displayChange.emit(true);
});
_this.layerGroupProvider.ref.addLayer(_this);
// Events
_this.on("add", function (event) {
_this.addEvent.emit(event);
});
_this.on("remove", function (event) {
_this.removeEvent.emit(event);
});
_this.on("popupopen", function (event) {
_this.popupopenEvent.emit(event);
});
_this.on("popupclose", function (event) {
_this.popupcloseEvent.emit(event);
});
_this.on("tooltipopen", function (event) {
_this.tooltipopenEvent.emit(event);
});
_this.on("tooltipclose", function (event) {
_this.tooltipcloseEvent.emit(event);
});
_this.on("click", function (event) {
_this.clickEvent.emit(event);
});
_this.on("dblclick", function (event) {
_this.dblclickEvent.emit(event);
});
_this.on("mousedown", function (event) {
_this.mousedownEvent.emit(event);
});
_this.on("mouseover", function (event) {
_this.mouseoverEvent.emit(event);
});
_this.on("mouseout", function (event) {
_this.mouseoutEvent.emit(event);
});
_this.on("contextmenu", function (event) {
_this.contextmenuEvent.emit(event);
});
_this.on("loading", function (event) {
_this.loadingEvent.emit(event);
});
_this.on("tileunload", function (event) {
_this.tileunloadEvent.emit(event);
});
_this.on("tileloadstart", function (event) {
_this.tileloadstartEvent.emit(event);
});
_this.on("tileerror", function (event) {
_this.tileerrorEvent.emit(event);
});
_this.on("tileload", function (event) {
_this.tileloadEvent.emit(event);
});
_this.on("load", function (event) {
_this.loadEvent.emit(event);
});
return _this;
}
/**
* This function gets called from Angular on destroy of the html-component.
* @link https://angular.io/docs/ts/latest/api/core/index/OnDestroy-class.html
*/
WmsLayerDirective.prototype.ngOnDestroy = function () {
this.removeFrom(this.layerGroupProvider.ref);
};
/**
* Derived method of the original setUrl method.
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-seturl Original Leaflet documentation
*/
WmsLayerDirective.prototype.setUrl = function (url, noRedraw) {
if (this.url === url) {
return this;
}
this.urlChange.emit(url);
return _super.prototype.setUrl.call(this, url, noRedraw);
};
Object.defineProperty(WmsLayerDirective.prototype, "url", {
get: function () {
return this._url;
},
/**
* Two-Way bound property for the URL.
* Use it with `<yaga-tile-layer [(url)]="someValue">` or `<yaga-tile-layer [url]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-seturl Original Leaflet documentation
*/
set: function (val) {
this.setUrl(val);
},
enumerable: true,
configurable: true
});
/**
* Derived method of the original setOpacity method.
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-setopacity Original Leaflet documentation
*/
WmsLayerDirective.prototype.setOpacity = function (val) {
if (this.opacity === val) {
return this;
}
this.opacityChange.emit(val);
return _super.prototype.setOpacity.call(this, val);
};
Object.defineProperty(WmsLayerDirective.prototype, "opacity", {
get: function () {
return this.options.opacity;
},
/**
* Two-Way bound property for the opacity.
* Use it with `<yaga-tile-layer [(opacity)]="someValue">` or `<yaga-tile-layer [opacity]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-setopacity Original Leaflet documentation
*/
set: function (val) {
if (val === undefined) {
val = 1;
}
this.setOpacity(val);
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "display", {
/**
* Two-Way bound property for the display status of the layer.
* Use it with `<yaga-tile-layer [(display)]="someValue">` or `<yaga-tile-layer [display]="someValue">`
*/
get: function () {
var pane;
var container;
try {
pane = this.getPane();
container = this.getContainer();
}
catch (err) {
/* istanbul ignore next */
return false;
}
/* tslint:disable:prefer-for-of */
for (var i = 0; i < pane.children.length; i += 1) {
/* tslint:enable */
/* istanbul ignore else */
if (pane.children[i] === container) {
return true;
}
}
return false;
},
/**
* Two-Way bound property for the display status of the layer.
* Use it with `<yaga-tile-layer [(display)]="someValue">` or `<yaga-tile-layer [display]="someValue">`
*/
set: function (val) {
var isDisplayed = this.display;
if (isDisplayed === val) {
return;
}
var pane;
var container;
var map;
var events; // Dictionary of functions
var eventKeys;
try {
pane = this.getPane();
container = this.getContainer();
map = this._map;
events = this.getEvents();
eventKeys = Object.keys(events);
}
catch (err) {
/* istanbul ignore next */
return;
}
if (val) {
// show layer
pane.appendChild(container);
for (var _i = 0, eventKeys_1 = eventKeys; _i < eventKeys_1.length; _i++) {
var eventKey = eventKeys_1[_i];
map.on(eventKey, events[eventKey], this);
}
this.redraw();
}
else {
// hide layer
pane.removeChild(container);
for (var _a = 0, eventKeys_2 = eventKeys; _a < eventKeys_2.length; _a++) {
var eventKey = eventKeys_2[_a];
map.off(eventKey, events[eventKey], this);
}
}
},
enumerable: true,
configurable: true
});
/**
* Derived method of the original setZIndexmethod.
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-setzindex Original Leaflet documentation
*/
WmsLayerDirective.prototype.setZIndex = function (val) {
_super.prototype.setZIndex.call(this, val);
this.zIndexChange.emit(val);
return this;
};
Object.defineProperty(WmsLayerDirective.prototype, "zIndex", {
get: function () {
return this.options.zIndex;
},
/**
* Two-Way bound property for the zIndex.
* Use it with `<yaga-tile-layer [(zIndex)]="someValue">` or `<yaga-tile-layer [zIndex]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-setzindex Original Leaflet documentation
*/
set: function (val) {
if (val === undefined) {
val = 0;
}
this.setZIndex(val);
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "tileSize", {
get: function () {
return this.options.tileSize;
},
/**
* Input for the tileSize.
* Use it with `<yaga-tile-layer [tileSize]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-tileSize Original Leaflet documentation
*/
set: function (val) {
this.options.tileSize = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "updateWhenIdle", {
get: function () {
return !!this.options.updateWhenIdle;
},
/**
* Input for the updateWhenIdle.
* Use it with `<yaga-tile-layer [updateWhenIdle]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-updatewhenidle Original Leaflet documentation
*/
set: function (val) {
this.options.updateWhenIdle = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "updateWhenZooming", {
get: function () {
return !!this.options.updateWhenZooming;
},
/**
* Input for the updateWhenZooming.
* Use it with `<yaga-tile-layer [updateWhenZooming]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-updatewhenzooming Original Leaflet documentation
*/
set: function (val) {
this.options.updateWhenZooming = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "updateInterval", {
get: function () {
return this.options.updateInterval;
},
/**
* Input for the updateInterval.
* Use it with `<yaga-tile-layer [updateInterval]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-updateinterval Original Leaflet documentation
*/
set: function (val) {
this.options.updateInterval = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "bounds", {
get: function () {
return this.options.bounds;
},
/**
* Input for the bounds.
* Use it with `<yaga-tile-layer [bounds]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-bounds Original Leaflet documentation
*/
set: function (val) {
this.options.bounds = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "noWrap", {
get: function () {
return !!this.options.noWrap;
},
/**
* Input for the noWrap.
* Use it with `<yaga-tile-layer [noWrap]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-nowrap Original Leaflet documentation
*/
set: function (val) {
this.options.noWrap = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "className", {
get: function () {
return this.options.className;
},
/**
* Input for the className.
* Use it with `<yaga-tile-layer [className]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-classname Original Leaflet documentation
*/
set: function (val) {
this.options.className = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "keepBuffer", {
get: function () {
return this.options.keepBuffer;
},
/**
* Input for the keepBuffer.
* Use it with `<yaga-tile-layer [keepBuffer]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-keepbuffer Original Leaflet documentation
*/
set: function (val) {
this.options.keepBuffer = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "maxZoom", {
get: function () {
return this.options.maxZoom;
},
/**
* Input for the maxZoom.
* Use it with `<yaga-tile-layer [maxZoom]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-maxzoom Original Leaflet documentation
*/
set: function (val) {
this.options.maxZoom = val;
if (this._map) {
this._map._updateZoomLevels();
}
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "minZoom", {
get: function () {
return this.options.minZoom;
},
/**
* Input for the minZoom.
* Use it with `<yaga-tile-layer [minZoom]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-minzoom Original Leaflet documentation
*/
set: function (val) {
this.options.minZoom = val;
if (this._map) {
this._map._updateZoomLevels();
}
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "maxNativeZoom", {
get: function () {
return this.options.maxNativeZoom;
},
/**
* Input for the maxNativeZoom.
* Use it with `<yaga-tile-layer [maxNativeZoom]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-maxnativezoom Original Leaflet documentation
*/
set: function (val) {
this.options.maxNativeZoom = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "minNativeZoom", {
get: function () {
return this.options.minNativeZoom;
},
/**
* Input for the minNativeZoom.
* Use it with `<yaga-tile-layer [minNativeZoom]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-minnativezoom Original Leaflet documentation
*/
set: function (val) {
this.options.minNativeZoom = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "subdomains", {
get: function () {
if (typeof this.options.subdomains === "string") {
this.options.subdomains = this.options.subdomains.split("");
}
return this.options.subdomains;
},
/**
* Input for the subdomains.
* Use it with `<yaga-tile-layer [subdomains]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-subdomains Original Leaflet documentation
*/
set: function (val) {
this.options.subdomains = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "errorTileUrl", {
get: function () {
return this.options.errorTileUrl;
},
/**
* Input for the errorTileUrl.
* Use it with `<yaga-tile-layer [errorTileUrl]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-errortileurl Original Leaflet documentation
*/
set: function (val) {
this.options.errorTileUrl = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "zoomOffset", {
get: function () {
return this.options.zoomOffset;
},
/**
* Input for the zoomOffset.
* Use it with `<yaga-tile-layer [zoomOffset]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-zoomoffset Original Leaflet documentation
*/
set: function (val) {
this.options.zoomOffset = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "tms", {
get: function () {
return !!this.options.tms;
},
/**
* Input for the tms.
* Use it with `<yaga-tile-layer [tms]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-tms Original Leaflet documentation
*/
set: function (val) {
this.options.tms = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "zoomReverse", {
get: function () {
return !!this.options.zoomReverse;
},
/**
* Input for the zoomReverse.
* Use it with `<yaga-tile-layer [zoomReverse]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-zoomreverse Original Leaflet documentation
*/
set: function (val) {
this.options.zoomReverse = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "detectRetina", {
get: function () {
return !!this.options.detectRetina;
},
/**
* Input for the detectRetina.
* Use it with `<yaga-tile-layer [detectRetina]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-detectretina Original Leaflet documentation
*/
set: function (val) {
this.options.detectRetina = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "crossOrigin", {
get: function () {
return !!this.options.crossOrigin;
},
/**
* Input for the crossOrigin.
* Use it with `<yaga-tile-layer [crossOrigin]="someValue">`
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-crossorigin Original Leaflet documentation
*/
set: function (val) {
this.options.crossOrigin = val;
this.redraw();
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "uppercase", {
get: function () {
return !!this.options.uppercase;
},
set: function (val) {
this.options.uppercase = val;
this.redraw();
},
enumerable: true,
configurable: true
});
// WMS Params
WmsLayerDirective.prototype.setParams = function (params, redraw) {
var oldParams = __assign({}, this.wmsParams);
_super.prototype.setParams.call(this, params, redraw);
var newParams = __assign({}, this.wmsParams);
if (oldParams.layers !== newParams.layers) {
this.layersChange.emit(this.wmsParams.layers.split(","));
}
if (oldParams.styles !== newParams.styles) {
this.stylesChange.emit(this.wmsParams.styles.split(","));
}
if (oldParams.format !== newParams.format) {
this.formatChange.emit(this.wmsParams.format);
}
if (oldParams.version !== newParams.version) {
this.versionChange.emit(this.wmsParams.version);
}
if (oldParams.transparent !== newParams.transparent) {
this.transparentChange.emit(this.wmsParams.transparent);
}
if (redraw) {
_super.prototype.redraw.call(this);
}
return this;
};
Object.defineProperty(WmsLayerDirective.prototype, "layers", {
get: function () {
return this.wmsParams.layers.split(",");
},
set: function (val) {
this.setParams(__assign({}, this.wmsParams, { layers: val.join(",") }), true);
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "styles", {
get: function () {
return (this.wmsParams.styles || "").split(",");
},
set: function (val) {
this.setParams(__assign({}, this.wmsParams, { styles: val.join(",") }), true);
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "format", {
get: function () {
return this.wmsParams.format;
},
set: function (val) {
this.setParams(__assign({}, this.wmsParams, { format: val }), true);
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "version", {
get: function () {
return this.wmsParams.version;
},
set: function (val) {
this.setParams(__assign({}, this.wmsParams, { version: val }), true);
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "transparent", {
get: function () {
return !!this.wmsParams.transparent;
},
set: function (val) {
this.setParams(__assign({}, this.wmsParams, { transparent: val }), true);
},
enumerable: true,
configurable: true
});
Object.defineProperty(WmsLayerDirective.prototype, "attribution", {
get: function () {
return this.getAttribution() || "";
},
/**
* Input for the attribution.
* Use it with `<yaga-wms-layer [attribution]="someValue">`
* @link http://leafletjs.com/reference-1.0.2.html#wmslayer-attribution Original Leaflet documentation
*/
set: function (val) {
if (this._map && this._map.attributionControl) {
var oldAttribution = this.getAttribution();
if (oldAttribution) {
this._map.attributionControl.removeAttribution(oldAttribution);
}
this._map.attributionControl.addAttribution(val);
}
this.options.attribution = val;
},
enumerable: true,
configurable: true
});
__decorate([
core_1.Output(),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "urlChange", void 0);
__decorate([
core_1.Output(),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "displayChange", void 0);
__decorate([
core_1.Output(),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "opacityChange", void 0);
__decorate([
core_1.Output(),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "zIndexChange", void 0);
__decorate([
core_1.Output(),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "layersChange", void 0);
__decorate([
core_1.Output(),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "stylesChange", void 0);
__decorate([
core_1.Output(),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "formatChange", void 0);
__decorate([
core_1.Output(),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "versionChange", void 0);
__decorate([
core_1.Output(),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "transparentChange", void 0);
__decorate([
core_1.Output("add"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "addEvent", void 0);
__decorate([
core_1.Output("remove"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "removeEvent", void 0);
__decorate([
core_1.Output("popupopen"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "popupopenEvent", void 0);
__decorate([
core_1.Output("popupclose"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "popupcloseEvent", void 0);
__decorate([
core_1.Output("tooltipopen"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "tooltipopenEvent", void 0);
__decorate([
core_1.Output("tooltipclose"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "tooltipcloseEvent", void 0);
__decorate([
core_1.Output("click"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "clickEvent", void 0);
__decorate([
core_1.Output("dblclick"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "dblclickEvent", void 0);
__decorate([
core_1.Output("mousedown"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "mousedownEvent", void 0);
__decorate([
core_1.Output("mouseover"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "mouseoverEvent", void 0);
__decorate([
core_1.Output("mouseout"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "mouseoutEvent", void 0);
__decorate([
core_1.Output("contextmenu"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "contextmenuEvent", void 0);
__decorate([
core_1.Output("loading"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "loadingEvent", void 0);
__decorate([
core_1.Output("tileunload"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "tileunloadEvent", void 0);
__decorate([
core_1.Output("tileloadstart"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "tileloadstartEvent", void 0);
__decorate([
core_1.Output("tileerror"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "tileerrorEvent", void 0);
__decorate([
core_1.Output("tileload"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "tileloadEvent", void 0);
__decorate([
core_1.Output("load"),
__metadata("design:type", core_1.EventEmitter)
], WmsLayerDirective.prototype, "loadEvent", void 0);
__decorate([
core_1.Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], WmsLayerDirective.prototype, "url", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "opacity", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "display", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "zIndex", null);
__decorate([
core_1.Input(),
__metadata("design:type", leaflet_1.Point),
__metadata("design:paramtypes", [leaflet_1.Point])
], WmsLayerDirective.prototype, "tileSize", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "updateWhenIdle", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "updateWhenZooming", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "updateInterval", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "bounds", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "noWrap", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "className", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "keepBuffer", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "maxZoom", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "minZoom", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "maxNativeZoom", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "minNativeZoom", null);
__decorate([
core_1.Input(),
__metadata("design:type", Array),
__metadata("design:paramtypes", [Array])
], WmsLayerDirective.prototype, "subdomains", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "errorTileUrl", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "zoomOffset", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "tms", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "zoomReverse", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "detectRetina", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "crossOrigin", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "uppercase", null);
__decorate([
core_1.Input(),
__metadata("design:type", Array),
__metadata("design:paramtypes", [Array])
], WmsLayerDirective.prototype, "layers", null);
__decorate([
core_1.Input(),
__metadata("design:type", Array),
__metadata("design:paramtypes", [Array])
], WmsLayerDirective.prototype, "styles", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "format", null);
__decorate([
core_1.Input(),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], WmsLayerDirective.prototype, "version", null);
__decorate([
core_1.Input(),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [Boolean])
], WmsLayerDirective.prototype, "transparent", null);
__decorate([
core_1.Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], WmsLayerDirective.prototype, "attribution", null);
WmsLayerDirective = __decorate([
core_1.Directive({
providers: [layer_provider_1.LayerProvider],
selector: "yaga-wms-layer",
}),
__metadata("design:paramtypes", [layer_group_provider_1.LayerGroupProvider,
layer_provider_1.LayerProvider])
], WmsLayerDirective);
return WmsLayerDirective;
}(leaflet_1.TileLayer.WMS));
exports.WmsLayerDirective = WmsLayerDirective;
//# sourceMappingURL=wms-layer.directive.js.map