Source: map/layer/FilterLayer/FilterLayer.js

import { FilterLayerSchema } from "./FilterLayer.schema.js";
import { Layer } from "../Layer/Layer.js";

export { FilterLayer }

/**
 * Attribute Filter
 * 
 * @author rhess <robin.hess@awi.de>
 * @memberof vef.map.layer
 */
class FilterLayer extends Layer {

    /**
     * Set all properties for the layer based on the options object.
     * 
     * @param {object} config 
     * @param {object} cache 
     * @param {string} id 
     */
    constructor(config, cache, id) {
        // calling parent constructor
        super(config, cache, id);

        // init default values and define getters and setters
        this.setSchema_(FilterLayerSchema.getSchema());

        // ignore availableCrs and always use the default value
        if ("availableCrs" in this.config) delete this.config.availableCrs;
        if ("availableCrs" in this.cache) delete this.cache.availableCrs;
    }

}