Commit 6dc480cc authored by Michael Underwood's avatar Michael Underwood
Browse files

WIP inject passthrough function wrapping ref

parent a13551bc
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -5,7 +5,14 @@
</template>

<script>
import { onMounted, onBeforeUnmount, computed, reactive, ref } from "vue";
import {
  onMounted,
  onBeforeUnmount,
  computed,
  reactive,
  ref,
  provide,
} from "vue";
import {
  remapEvents,
  propsBinder,
@@ -164,11 +171,16 @@ export default {
    };

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

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

    const eventHandlers = {
      moveEndHandler() {
        /**
@@ -328,6 +340,7 @@ export default {
      };

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

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

+2 −3
Original line number Diff line number Diff line
<script>
import { onMounted, ref, h } from "vue";
import { onMounted, ref, h, inject } from "vue";
import {
  remapEvents,
  propsBinder,
  debounce,
  provideLeafletPlaceholders,
  injectLeafletMethod,
  updateLeafletMethods,
} from "../utils.js";
import { props, setup as markerSetup } from "../functions/marker";
@@ -22,7 +21,7 @@ export default {

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

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

export default {
  props,
  setup(props, context) {
    const leafletRef = ref({});
    const addLayer = injectLeafletMethod("addLayer");
    const addLayer = inject("addLayer");

    const { options, methods } = tileLayerSetup(props, leafletRef);