Loading src/components/LMap.vue +16 −8 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import { propsBinder, debounce, resetWebpackIcon, generatePlaceholderMethods, } from "../utils.js"; export default { Loading Loading @@ -168,11 +169,11 @@ export default { markerZoomAnimation: props.markerZoomAnimation, }; const schematics = reactive({ addLayer() {}, removeLayer() {}, registerLayerControl() {}, }); const schematics = generatePlaceholderMethods([ "addLayer", "removeLayer", "registerLayerControl", ]); provide("leafLetMethods", schematics); Loading Loading @@ -229,7 +230,9 @@ export default { blueprint.layersToAdd.push(layer); } else { const exist = blueprint.layersInControl.find( (l) => l.leafletObject._leaflet_id === layer.leafletObject._leaflet_id (l) => l.leafletObject._leaflet_id === layer.leafletObject._leaflet_id ); if (!exist) { blueprint.layerControl.addLayer(layer); Loading @@ -250,7 +253,9 @@ export default { } else { blueprint.layerControl.removeLayer(layer.leafletObject); blueprint.layersInControl = blueprint.layersInControl.filter( (l) => l.leafletObject._leaflet_id !== layer.leafletObject._leaflet_id (l) => l.leafletObject._leaflet_id !== layer.leafletObject._leaflet_id ); } } Loading Loading @@ -344,7 +349,10 @@ export default { debounce(eventHandlers.moveEndHandler, 100) ); blueprint.leafletRef.on("overlayadd", eventHandlers.overlayAddHandler); blueprint.leafletRef.on("overlayremove", eventHandlers.overlayRemoveHandler); blueprint.leafletRef.on( "overlayremove", eventHandlers.overlayRemoveHandler ); DomEvent.on(blueprint.leafletRef, listeners); blueprint.ready = true; }); Loading src/components/LMarker.vue +13 −6 Original line number Diff line number Diff line <script> import { onMounted, ref, reactive, inject, h } from "vue"; import { remapEvents, propsBinder, debounce } from "../utils.js"; import { onMounted, ref, inject, h } from "vue"; import { remapEvents, propsBinder, debounce, generatePlaceholderMethods, } from "../utils.js"; import { props, setup as markerSetup } from "../functions/marker"; /** Loading @@ -13,9 +18,7 @@ export default { const leafletRef = ref({}); const ready = ref(false); const schematics = reactive({ latLng() {}, }); const schematics = generatePlaceholderMethods(["latLng"]); const lMethods = inject("leafLetMethods"); const { options, methods } = markerSetup( Loading @@ -38,7 +41,11 @@ export default { leafletRef.value.on("move", debounce(methods.latLngSync, 100)); propsBinder(methods, leafletRef.value, props, setOptions); lMethods.addLayer({ ...props, ...methods, leafletObject: leafletRef.value }); lMethods.addLayer({ ...props, ...methods, leafletObject: leafletRef.value, }); ready.value = true; }); return { ready }; Loading src/components/LTileLayer.vue +5 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,11 @@ export default { DomEvent.on(leafletRef.value, listeners); propsBinder(methods, leafletRef.value, props, setOptions); lMethods.addLayer({ ...props, ...methods, leafletObject: leafletRef.value }); lMethods.addLayer({ ...props, ...methods, leafletObject: leafletRef.value, }); }); }, render() { Loading src/components/LTooltip.vue +6 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,12 @@ export default { const root = ref(null); const lMethods = inject("leafLetMethods"); const { options, methods } = tooltipSetup(props, leafletRef, context, lMethods); const { options, methods } = tooltipSetup( props, leafletRef, context, lMethods ); onMounted(async () => { const { tooltip, DomEvent, setOptions } = await import( Loading src/utils.js +10 −1 Original line number Diff line number Diff line import { watch } from "vue"; import { watch, reactive } from "vue"; export const debounce = (fn, time) => { let timeout; Loading Loading @@ -70,3 +70,12 @@ export const resetWebpackIcon = (Icon) => { shadowUrl: require("leaflet/dist/images/marker-shadow.png"), }); }; export const generatePlaceholderMethods = (methods) => { const base = reactive({}); return methods.reduce((acc, curr) => { acc[curr] = () => console.warn(`Method ${curr} has been invoked without being replaced`); return acc; }, base); }; Loading
src/components/LMap.vue +16 −8 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import { propsBinder, debounce, resetWebpackIcon, generatePlaceholderMethods, } from "../utils.js"; export default { Loading Loading @@ -168,11 +169,11 @@ export default { markerZoomAnimation: props.markerZoomAnimation, }; const schematics = reactive({ addLayer() {}, removeLayer() {}, registerLayerControl() {}, }); const schematics = generatePlaceholderMethods([ "addLayer", "removeLayer", "registerLayerControl", ]); provide("leafLetMethods", schematics); Loading Loading @@ -229,7 +230,9 @@ export default { blueprint.layersToAdd.push(layer); } else { const exist = blueprint.layersInControl.find( (l) => l.leafletObject._leaflet_id === layer.leafletObject._leaflet_id (l) => l.leafletObject._leaflet_id === layer.leafletObject._leaflet_id ); if (!exist) { blueprint.layerControl.addLayer(layer); Loading @@ -250,7 +253,9 @@ export default { } else { blueprint.layerControl.removeLayer(layer.leafletObject); blueprint.layersInControl = blueprint.layersInControl.filter( (l) => l.leafletObject._leaflet_id !== layer.leafletObject._leaflet_id (l) => l.leafletObject._leaflet_id !== layer.leafletObject._leaflet_id ); } } Loading Loading @@ -344,7 +349,10 @@ export default { debounce(eventHandlers.moveEndHandler, 100) ); blueprint.leafletRef.on("overlayadd", eventHandlers.overlayAddHandler); blueprint.leafletRef.on("overlayremove", eventHandlers.overlayRemoveHandler); blueprint.leafletRef.on( "overlayremove", eventHandlers.overlayRemoveHandler ); DomEvent.on(blueprint.leafletRef, listeners); blueprint.ready = true; }); Loading
src/components/LMarker.vue +13 −6 Original line number Diff line number Diff line <script> import { onMounted, ref, reactive, inject, h } from "vue"; import { remapEvents, propsBinder, debounce } from "../utils.js"; import { onMounted, ref, inject, h } from "vue"; import { remapEvents, propsBinder, debounce, generatePlaceholderMethods, } from "../utils.js"; import { props, setup as markerSetup } from "../functions/marker"; /** Loading @@ -13,9 +18,7 @@ export default { const leafletRef = ref({}); const ready = ref(false); const schematics = reactive({ latLng() {}, }); const schematics = generatePlaceholderMethods(["latLng"]); const lMethods = inject("leafLetMethods"); const { options, methods } = markerSetup( Loading @@ -38,7 +41,11 @@ export default { leafletRef.value.on("move", debounce(methods.latLngSync, 100)); propsBinder(methods, leafletRef.value, props, setOptions); lMethods.addLayer({ ...props, ...methods, leafletObject: leafletRef.value }); lMethods.addLayer({ ...props, ...methods, leafletObject: leafletRef.value, }); ready.value = true; }); return { ready }; Loading
src/components/LTileLayer.vue +5 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,11 @@ export default { DomEvent.on(leafletRef.value, listeners); propsBinder(methods, leafletRef.value, props, setOptions); lMethods.addLayer({ ...props, ...methods, leafletObject: leafletRef.value }); lMethods.addLayer({ ...props, ...methods, leafletObject: leafletRef.value, }); }); }, render() { Loading
src/components/LTooltip.vue +6 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,12 @@ export default { const root = ref(null); const lMethods = inject("leafLetMethods"); const { options, methods } = tooltipSetup(props, leafletRef, context, lMethods); const { options, methods } = tooltipSetup( props, leafletRef, context, lMethods ); onMounted(async () => { const { tooltip, DomEvent, setOptions } = await import( Loading
src/utils.js +10 −1 Original line number Diff line number Diff line import { watch } from "vue"; import { watch, reactive } from "vue"; export const debounce = (fn, time) => { let timeout; Loading Loading @@ -70,3 +70,12 @@ export const resetWebpackIcon = (Icon) => { shadowUrl: require("leaflet/dist/images/marker-shadow.png"), }); }; export const generatePlaceholderMethods = (methods) => { const base = reactive({}); return methods.reduce((acc, curr) => { acc[curr] = () => console.warn(`Method ${curr} has been invoked without being replaced`); return acc; }, base); };