UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

35 lines (34 loc) 1.22 kB
// SPDX-License-Identifier: Apache-2.0 import BaseLayer from './baselayer.js'; /* * This class is a used in the state of the application, which will be accessed behind a javascript proxy. * This means that each modification made to its properties must come from outside, * because they have to be made through the proxy, so that the modification can be listen. * Therefore, this class must not contain any method which is updating a value directly * For example, any method doing <this.xxx = value> is forbidden here, because the modification be known from the proxy */ class Layer extends BaseLayer { activeState = 'off'; opacity; restricted; swiped = 'no'; isLegendExpanded = false; constructor(id, name, order, options) { super(id, name, order, options); this.opacity = options?.opacity ?? 1; this.restricted = options?.restricted ?? false; } get isTransparent() { return this.opacity !== 1; } get hasValidOpacity() { return this.opacity >= 0 && this.opacity <= 1; } get active() { return this.activeState === 'on'; } get inactive() { return this.activeState === 'off'; } } export default Layer;