@yaga/leaflet-ng2
Version:
Angular2 module for Leaflet
885 lines • 33.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WmsLayerDirective = void 0;
const core_1 = require("@angular/core");
const leaflet_1 = require("leaflet");
const consts_1 = require("./consts");
const layer_group_provider_1 = require("./layer-group.provider");
const layer_provider_1 = require("./layer.provider");
const i0 = require("@angular/core");
const i1 = require("./layer-group.provider");
const i2 = 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
*/
class WmsLayerDirective extends leaflet_1.TileLayer.WMS {
constructor(layerGroupProvider, layerProvider) {
// Transparent 1px image:
super("", { layers: "", errorTileUrl: consts_1.TRANSPARENT_PIXEL });
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", () => {
this.displayChange.emit(false);
});
this.on("add", () => {
this.displayChange.emit(true);
});
this.layerGroupProvider.ref.addLayer(this);
// Events
this.on("add", (event) => {
this.addEvent.emit(event);
});
this.on("remove", (event) => {
this.removeEvent.emit(event);
});
this.on("popupopen", (event) => {
this.popupopenEvent.emit(event);
});
this.on("popupclose", (event) => {
this.popupcloseEvent.emit(event);
});
this.on("tooltipopen", (event) => {
this.tooltipopenEvent.emit(event);
});
this.on("tooltipclose", (event) => {
this.tooltipcloseEvent.emit(event);
});
this.on("click", (event) => {
this.clickEvent.emit(event);
});
this.on("dblclick", (event) => {
this.dblclickEvent.emit(event);
});
this.on("mousedown", (event) => {
this.mousedownEvent.emit(event);
});
this.on("mouseover", (event) => {
this.mouseoverEvent.emit(event);
});
this.on("mouseout", (event) => {
this.mouseoutEvent.emit(event);
});
this.on("contextmenu", (event) => {
this.contextmenuEvent.emit(event);
});
this.on("loading", (event) => {
this.loadingEvent.emit(event);
});
this.on("tileunload", (event) => {
this.tileunloadEvent.emit(event);
});
this.on("tileloadstart", (event) => {
this.tileloadstartEvent.emit(event);
});
this.on("tileerror", (event) => {
this.tileerrorEvent.emit(event);
});
this.on("tileload", (event) => {
this.tileloadEvent.emit(event);
});
this.on("load", (event) => {
this.loadEvent.emit(event);
});
}
/**
* 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
*/
ngOnDestroy() {
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
*/
setUrl(url, noRedraw) {
if (this.url === url) {
return this;
}
this.urlChange.emit(url);
return super.setUrl(url, noRedraw);
}
/**
* 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 url(val) {
this.setUrl(val);
}
get url() {
return this._url;
}
/**
* Derived method of the original setOpacity method.
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-setopacity Original Leaflet documentation
*/
setOpacity(val) {
if (this.opacity === val) {
return this;
}
this.opacityChange.emit(val);
return super.setOpacity(val);
}
/**
* 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 opacity(val) {
if (val === undefined) {
val = 1;
}
this.setOpacity(val);
}
get opacity() {
return this.options.opacity;
}
/**
* 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 display(val) {
const isDisplayed = this.display;
if (isDisplayed === val) {
return;
}
let pane;
let container;
let map;
let events; // Dictionary of functions
let 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 (const eventKey of eventKeys) {
map.on(eventKey, events[eventKey], this);
}
this.redraw();
}
else {
// hide layer
pane.removeChild(container);
for (const eventKey of eventKeys) {
map.off(eventKey, events[eventKey], this);
}
}
}
/**
* 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 display() {
let pane;
let container;
try {
pane = this.getPane();
container = this.getContainer();
}
catch (err) {
/* istanbul ignore next */
return false;
}
/* tslint:disable:prefer-for-of */
for (let i = 0; i < pane.children.length; i += 1) {
/* tslint:enable */
/* istanbul ignore else */
if (pane.children[i] === container) {
return true;
}
}
return false;
}
/**
* Derived method of the original setZIndexmethod.
* @link http://leafletjs.com/reference-1.2.0.html#tilelayer-setzindex Original Leaflet documentation
*/
setZIndex(val) {
super.setZIndex(val);
this.zIndexChange.emit(val);
return this;
}
/**
* 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 zIndex(val) {
if (val === undefined) {
val = 0;
}
this.setZIndex(val);
}
get zIndex() {
return this.options.zIndex;
}
/**
* 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 tileSize(val) {
this.options.tileSize = val;
this.redraw();
}
get tileSize() {
return this.options.tileSize;
}
/**
* 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 updateWhenIdle(val) {
this.options.updateWhenIdle = val;
}
get updateWhenIdle() {
return !!this.options.updateWhenIdle;
}
/**
* 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 updateWhenZooming(val) {
this.options.updateWhenZooming = val;
}
get updateWhenZooming() {
return !!this.options.updateWhenZooming;
}
/**
* 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 updateInterval(val) {
this.options.updateInterval = val;
}
get updateInterval() {
return this.options.updateInterval;
}
/**
* 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 bounds(val) {
this.options.bounds = val;
this.redraw();
}
get bounds() {
return this.options.bounds;
}
/**
* 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 noWrap(val) {
this.options.noWrap = val;
}
get noWrap() {
return !!this.options.noWrap;
}
/**
* 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 className(val) {
this.options.className = val;
this.redraw();
}
get className() {
return this.options.className;
}
/**
* 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 keepBuffer(val) {
this.options.keepBuffer = val;
}
get keepBuffer() {
return this.options.keepBuffer;
}
/**
* 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 maxZoom(val) {
this.options.maxZoom = val;
if (this._map) {
this._map._updateZoomLevels();
}
this.redraw();
}
get maxZoom() {
return this.options.maxZoom;
}
/**
* 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 minZoom(val) {
this.options.minZoom = val;
if (this._map) {
this._map._updateZoomLevels();
}
this.redraw();
}
get minZoom() {
return this.options.minZoom;
}
/**
* 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 maxNativeZoom(val) {
this.options.maxNativeZoom = val;
this.redraw();
}
get maxNativeZoom() {
return this.options.maxNativeZoom;
}
/**
* 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 minNativeZoom(val) {
this.options.minNativeZoom = val;
this.redraw();
}
get minNativeZoom() {
return this.options.minNativeZoom;
}
/**
* 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 subdomains(val) {
this.options.subdomains = val;
}
get subdomains() {
if (typeof this.options.subdomains === "string") {
this.options.subdomains = this.options.subdomains.split("");
}
return this.options.subdomains;
}
/**
* 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 errorTileUrl(val) {
this.options.errorTileUrl = val;
this.redraw();
}
get errorTileUrl() {
return this.options.errorTileUrl;
}
/**
* 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 zoomOffset(val) {
this.options.zoomOffset = val;
this.redraw();
}
get zoomOffset() {
return this.options.zoomOffset;
}
/**
* 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 tms(val) {
this.options.tms = val;
this.redraw();
}
get tms() {
return !!this.options.tms;
}
/**
* 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 zoomReverse(val) {
this.options.zoomReverse = val;
this.redraw();
}
get zoomReverse() {
return !!this.options.zoomReverse;
}
/**
* 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 detectRetina(val) {
this.options.detectRetina = val;
this.redraw();
}
get detectRetina() {
return !!this.options.detectRetina;
}
/**
* 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 crossOrigin(val) {
this.options.crossOrigin = val;
this.redraw();
}
get crossOrigin() {
return !!this.options.crossOrigin;
}
set uppercase(val) {
this.options.uppercase = val;
this.redraw();
}
get uppercase() {
return !!this.options.uppercase;
}
// WMS Params
setParams(params, redraw) {
const oldParams = Object.assign({}, this.wmsParams);
super.setParams(params, redraw);
const newParams = Object.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.redraw();
}
return this;
}
set layers(val) {
this.setParams(Object.assign(Object.assign({}, this.wmsParams), { layers: val.join(",") }), true);
}
get layers() {
return this.wmsParams.layers.split(",");
}
set styles(val) {
this.setParams(Object.assign(Object.assign({}, this.wmsParams), { styles: val.join(",") }), true);
}
get styles() {
return (this.wmsParams.styles || "").split(",");
}
set format(val) {
this.setParams(Object.assign(Object.assign({}, this.wmsParams), { format: val }), true);
}
get format() {
return this.wmsParams.format;
}
set version(val) {
this.setParams(Object.assign(Object.assign({}, this.wmsParams), { version: val }), true);
}
get version() {
return this.wmsParams.version;
}
set transparent(val) {
this.setParams(Object.assign(Object.assign({}, this.wmsParams), { transparent: val }), true);
}
get transparent() {
return !!this.wmsParams.transparent;
}
/**
* 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 attribution(val) {
if (this._map && this._map.attributionControl) {
const oldAttribution = this.getAttribution();
if (oldAttribution) {
this._map.attributionControl.removeAttribution(oldAttribution);
}
this._map.attributionControl.addAttribution(val);
}
this.options.attribution = val;
}
get attribution() {
return this.getAttribution() || "";
}
}
exports.WmsLayerDirective = WmsLayerDirective;
WmsLayerDirective.ɵfac = function WmsLayerDirective_Factory(t) { return new (t || WmsLayerDirective)(i0.ɵɵdirectiveInject(i1.LayerGroupProvider), i0.ɵɵdirectiveInject(i2.LayerProvider)); };
WmsLayerDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: WmsLayerDirective, selectors: [["yaga-wms-layer"]], inputs: { url: "url", opacity: "opacity", display: "display", zIndex: "zIndex", tileSize: "tileSize", updateWhenIdle: "updateWhenIdle", updateWhenZooming: "updateWhenZooming", updateInterval: "updateInterval", bounds: "bounds", noWrap: "noWrap", className: "className", keepBuffer: "keepBuffer", maxZoom: "maxZoom", minZoom: "minZoom", maxNativeZoom: "maxNativeZoom", minNativeZoom: "minNativeZoom", subdomains: "subdomains", errorTileUrl: "errorTileUrl", zoomOffset: "zoomOffset", tms: "tms", zoomReverse: "zoomReverse", detectRetina: "detectRetina", crossOrigin: "crossOrigin", uppercase: "uppercase", layers: "layers", styles: "styles", format: "format", version: "version", transparent: "transparent", attribution: "attribution" }, outputs: { urlChange: "urlChange", displayChange: "displayChange", opacityChange: "opacityChange", zIndexChange: "zIndexChange", layersChange: "layersChange", stylesChange: "stylesChange", formatChange: "formatChange", versionChange: "versionChange", transparentChange: "transparentChange", addEvent: "add", removeEvent: "remove", popupopenEvent: "popupopen", popupcloseEvent: "popupclose", tooltipopenEvent: "tooltipopen", tooltipcloseEvent: "tooltipclose", clickEvent: "click", dblclickEvent: "dblclick", mousedownEvent: "mousedown", mouseoverEvent: "mouseover", mouseoutEvent: "mouseout", contextmenuEvent: "contextmenu", loadingEvent: "loading", tileunloadEvent: "tileunload", tileloadstartEvent: "tileloadstart", tileerrorEvent: "tileerror", tileloadEvent: "tileload", loadEvent: "load" }, features: [i0.ɵɵProvidersFeature([layer_provider_1.LayerProvider]), i0.ɵɵInheritDefinitionFeature] });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WmsLayerDirective, [{
type: core_1.Directive,
args: [{
providers: [layer_provider_1.LayerProvider],
selector: "yaga-wms-layer",
}]
}], function () { return [{ type: i1.LayerGroupProvider }, { type: i2.LayerProvider }]; }, { urlChange: [{
type: core_1.Output
}], displayChange: [{
type: core_1.Output
}], opacityChange: [{
type: core_1.Output
}], zIndexChange: [{
type: core_1.Output
}], layersChange: [{
type: core_1.Output
}], stylesChange: [{
type: core_1.Output
}], formatChange: [{
type: core_1.Output
}], versionChange: [{
type: core_1.Output
}], transparentChange: [{
type: core_1.Output
}], addEvent: [{
type: core_1.Output,
args: ["add"]
}], removeEvent: [{
type: core_1.Output,
args: ["remove"]
}], popupopenEvent: [{
type: core_1.Output,
args: ["popupopen"]
}], popupcloseEvent: [{
type: core_1.Output,
args: ["popupclose"]
}], tooltipopenEvent: [{
type: core_1.Output,
args: ["tooltipopen"]
}], tooltipcloseEvent: [{
type: core_1.Output,
args: ["tooltipclose"]
}], clickEvent: [{
type: core_1.Output,
args: ["click"]
}], dblclickEvent: [{
type: core_1.Output,
args: ["dblclick"]
}], mousedownEvent: [{
type: core_1.Output,
args: ["mousedown"]
}], mouseoverEvent: [{
type: core_1.Output,
args: ["mouseover"]
}], mouseoutEvent: [{
type: core_1.Output,
args: ["mouseout"]
}], contextmenuEvent: [{
type: core_1.Output,
args: ["contextmenu"]
}], loadingEvent: [{
type: core_1.Output,
args: ["loading"]
}], tileunloadEvent: [{
type: core_1.Output,
args: ["tileunload"]
}], tileloadstartEvent: [{
type: core_1.Output,
args: ["tileloadstart"]
}], tileerrorEvent: [{
type: core_1.Output,
args: ["tileerror"]
}], tileloadEvent: [{
type: core_1.Output,
args: ["tileload"]
}], loadEvent: [{
type: core_1.Output,
args: ["load"]
}], url: [{
type: core_1.Input
}], opacity: [{
type: core_1.Input
}], display: [{
type: core_1.Input
}], zIndex: [{
type: core_1.Input
}], tileSize: [{
type: core_1.Input
}], updateWhenIdle: [{
type: core_1.Input
}], updateWhenZooming: [{
type: core_1.Input
}], updateInterval: [{
type: core_1.Input
}], bounds: [{
type: core_1.Input
}], noWrap: [{
type: core_1.Input
}], className: [{
type: core_1.Input
}], keepBuffer: [{
type: core_1.Input
}], maxZoom: [{
type: core_1.Input
}], minZoom: [{
type: core_1.Input
}], maxNativeZoom: [{
type: core_1.Input
}], minNativeZoom: [{
type: core_1.Input
}], subdomains: [{
type: core_1.Input
}], errorTileUrl: [{
type: core_1.Input
}], zoomOffset: [{
type: core_1.Input
}], tms: [{
type: core_1.Input
}], zoomReverse: [{
type: core_1.Input
}], detectRetina: [{
type: core_1.Input
}], crossOrigin: [{
type: core_1.Input
}], uppercase: [{
type: core_1.Input
}], layers: [{
type: core_1.Input
}], styles: [{
type: core_1.Input
}], format: [{
type: core_1.Input
}], version: [{
type: core_1.Input
}], transparent: [{
type: core_1.Input
}], attribution: [{
type: core_1.Input
}] }); })();
//# sourceMappingURL=wms-layer.directive.js.map