@mapbox-vue3/env-layers
Version:
Mapbox Vue3 Component Library Env Layers
68 lines (67 loc) • 1.86 kB
JavaScript
import { defineComponent as p, watch as d, onBeforeUnmount as s, openBlock as c, createElementBlock as m } from "vue";
import { MapboxLayer as w } from "@deck.gl/mapbox";
import l from "@mapbox-web/deck-gl-extension";
import { useMapCreated as u } from "@mapbox-vue3/core";
import { windLayerProps as y } from "./wind-layer.mjs";
const R = { class: "mb-wind-layer" }, f = {
name: "MbWindLayer"
}, x = p({
...f,
props: y,
setup(t) {
const e = t;
let i;
const o = () => {
const a = r(), n = {
id: e.id,
image: e.image,
windMin: e.windMin,
windMax: e.windMax,
windRange: e.windRange,
windOrigin: e.windOrigin,
windRes: e.windRes,
particlesNumber: e.particlesNumber,
fadeOpacity: e.fadeOpacity,
speedFactor: e.speedFactor,
dropRate: e.dropRate,
dropRateBump: e.dropRateBump,
rampColors: e.rampColors,
opacity: e.opacity,
visible: e.visible
};
i = new w(
Object.assign({ type: l.WindLayer }, n)
), a.addLayer(i);
}, { getMapboxInstance: r } = u(o);
return d(
() => e,
() => {
i && i.setProps({
image: e.image,
windMin: e.windMin,
windMax: e.windMax,
windRange: e.windRange,
windOrigin: e.windOrigin,
windRes: e.windRes,
particlesNumber: e.particlesNumber,
fadeOpacity: e.fadeOpacity,
speedFactor: e.speedFactor,
dropRate: e.dropRate,
dropRateBump: e.dropRateBump,
rampColors: e.rampColors,
opacity: e.opacity,
visible: e.visible
});
},
{
deep: !0
}
), s(() => {
const a = r();
i && a.removeLayer(e.id);
}), (a, n) => (c(), m("i", R));
}
});
export {
x as default
};