UNPKG

mobility-toolbox-js

Version:

Toolbox for JavaScript applications in the domains of mobility and logistics.

49 lines (48 loc) 1.56 kB
import debounce from 'lodash.debounce'; import OLLayer from 'ol/layer/Layer'; import { unByKey } from 'ol/Observable'; import LayerRenderer from 'ol/renderer/Layer'; import defineDeprecatedProperties from '../utils/defineDeprecatedProperties'; let deprecated = () => { }; if (typeof window !== 'undefined' && new URLSearchParams(window.location.search).get('deprecated')) { deprecated = debounce((message) => { // eslint-disable-next-line no-console console.warn(message); }, 1000); } class EmptyLayerRenderer extends LayerRenderer { prepareFrame() { return true; } renderFrame() { // Return an empty div as a placeholder HTMLElement return document.createElement('div'); } } /** * An OpenLayers layer here only for backward compatibility v2. * @deprecated Use an OpenLayers Layer instead. */ class Layer extends OLLayer { constructor(options = {}) { super(options); this.olEventsKeys = []; defineDeprecatedProperties(this, options); deprecated('Layer is deprecated. Use an OpenLayers Layer instead.'); // Backward compatibility this.olEventsKeys = []; } clone(newOptions) { return new Layer(Object.assign(Object.assign({}, (this.get('options') || {})), (newOptions || {}))); } // ol does not like when it returns null. createRenderer() { return new EmptyLayerRenderer(this); } detachFromMap() { // Backward compatibility unByKey(this.olEventsKeys); } } export default Layer;