Commit 7f2831cc authored by Michael Underwood's avatar Michael Underwood
Browse files

Use leaflet wrapper throughout

parent 6dc480cc
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
<script>
import { onMounted, ref } from "vue";
import { onMounted, ref, inject } from "vue";
import { props, setup as controlSetup } from "../functions/controlLayers";
import { injectLeafletMethod, propsBinder } from "../utils.js";
import { propsBinder } from "../utils.js";

export default {
  name: "LControlLayers",
@@ -9,7 +9,7 @@ export default {
  setup(props) {
    const leafletRef = ref({});

    const registerLayerControl = injectLeafletMethod("registerLayerControl");
    const registerLayerControl = inject("registerLayerControl");
    const { options, methods } = controlSetup(props, leafletRef);
    onMounted(async () => {
      const { control, setOptions } = await import(
+9 −22
Original line number Diff line number Diff line
@@ -5,21 +5,14 @@
</template>

<script>
import {
  onMounted,
  onBeforeUnmount,
  computed,
  reactive,
  ref,
  provide,
} from "vue";
import { onMounted, onBeforeUnmount, computed, reactive, ref } from "vue";
import {
  remapEvents,
  propsBinder,
  debounce,
  resetWebpackIcon,
  provideLeafletPlaceholders,
  updateLeafletMethods,
  provideLeafletWrapper,
  updateLeafletWrapper,
} from "../utils.js";

export default {
@@ -170,16 +163,9 @@ export default {
      markerZoomAnimation: props.markerZoomAnimation,
    };

    const schematics = provideLeafletPlaceholders([
      "removeLayer",
      "registerLayerControl",
    ]);

    const addLayerWrapper = ref(() =>
      console.log("addLayer is not defined yet")
    );
    const addLayer = (...args) => addLayerWrapper.value(...args);
    provide("addLayer", addLayer);
    const addLayer = provideLeafletWrapper("addLayer");
    const removeLayer = provideLeafletWrapper("removeLayer");
    const registerLayerControl = provideLeafletWrapper("registerLayerControl");

    const eventHandlers = {
      moveEndHandler() {
@@ -339,8 +325,9 @@ export default {
        },
      };

      updateLeafletMethods(schematics, methods);
      addLayerWrapper.value = methods.addLayer;
      updateLeafletWrapper(addLayer, methods.addLayer);
      updateLeafletWrapper(removeLayer, methods.removeLayer);
      updateLeafletWrapper(registerLayerControl, methods.registerLayerControl);

      blueprint.leafletRef = map(root.value, options);

+12 −14
Original line number Diff line number Diff line
@@ -4,8 +4,8 @@ import {
  remapEvents,
  propsBinder,
  debounce,
  provideLeafletPlaceholders,
  updateLeafletMethods,
  provideLeafletWrapper,
  updateLeafletWrapper,
} from "../utils.js";
import { props, setup as markerSetup } from "../functions/marker";

@@ -19,21 +19,19 @@ export default {
    const leafletRef = ref({});
    const ready = ref(false);

    const schematics = provideLeafletPlaceholders(["latLng"]);

    const addLayer = inject("addLayer");
    const { options, methods } = markerSetup(
      props,
      leafletRef,
      context,
      schematics
    );

    const latLng = provideLeafletWrapper("latLng");
    const { options, methods } = markerSetup(props, leafletRef, context);

    onMounted(async () => {
      const { marker, DomEvent, latLng, setOptions } = await import(
        "leaflet/dist/leaflet-src.esm"
      );
      updateLeafletMethods(schematics, { latLng });
      const {
        marker,
        DomEvent,
        latLng: leafletLatLng,
        setOptions,
      } = await import("leaflet/dist/leaflet-src.esm");
      updateLeafletWrapper(latLng, leafletLatLng);

      leafletRef.value = marker(props.latLng, options);

+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ export default {
  props,
  setup(props, context) {
    const leafletRef = ref({});
    //const addLayer = injectLeafletMethod("addLayer");
    const addLayer = inject("addLayer");

    const { options, methods } = tileLayerSetup(props, leafletRef);
+3 −3
Original line number Diff line number Diff line
<script>
import { onMounted, ref, h } from "vue";
import { injectLeafletMethod, propsBinder, remapEvents } from "../utils.js";
import { onMounted, ref, h, inject } from "vue";
import { propsBinder, remapEvents } from "../utils.js";
import { setup as tooltipSetup, props } from "../functions/tooltip";

/**
@@ -13,7 +13,7 @@ export default {
    const leafletRef = ref({});
    const root = ref(null);

    const bindTooltip = injectLeafletMethod("bindTooltip");
    const bindTooltip = inject("bindTooltip");
    const { options, methods } = tooltipSetup(props, leafletRef, context);

    onMounted(async () => {
Loading