Loading src/components/LControlAttribution.vue 0 → 100644 +31 −0 Original line number Diff line number Diff line <script> import { onMounted, ref, inject } from "vue"; import { props, setup as attributionControlSetup, } from "../functions/controlAttribution"; import { propsBinder } from "../utils.js"; export default { name: "LControlAttribution", props, setup(props) { const leafletRef = ref({}); const registerControl = inject("registerControl"); const { options, methods } = attributionControlSetup(props, leafletRef); onMounted(async () => { const { control, setOptions } = await import( "leaflet/dist/leaflet-src.esm" ); leafletRef.value = control.attribution(options); propsBinder(methods, leafletRef.value, props, setOptions); registerControl({ leafletObject: leafletRef.value }); }); }, render() { return null; }, }; </script> src/components/index.js +1 −0 Original line number Diff line number Diff line export { default as LControlAttribution } from "./LControlAttribution.vue"; export { default as LControlLayers } from "./LControlLayers.vue"; export { default as LControlScale } from "./LControlScale.vue"; export { default as LControlZoom } from "./LControlZoom.vue"; Loading src/functions/controlAttribution.js 0 → 100644 +30 −0 Original line number Diff line number Diff line import { props as controlProps, setup as controlSetup } from "./control"; export const props = { ...controlProps, prefix: { type: String, default: "Vue-Leaflet", custom: true, }, }; export const setup = (props, leafletRef) => { const { options: controlOptions, methods: controlMethods } = controlSetup( props, leafletRef ); const options = { ...controlOptions, prefix: props.prefix, }; const methods = { ...controlMethods, setPrefix(prefix) { leafletRef.value.setPrefix(prefix); }, }; return { options, methods }; }; Loading
src/components/LControlAttribution.vue 0 → 100644 +31 −0 Original line number Diff line number Diff line <script> import { onMounted, ref, inject } from "vue"; import { props, setup as attributionControlSetup, } from "../functions/controlAttribution"; import { propsBinder } from "../utils.js"; export default { name: "LControlAttribution", props, setup(props) { const leafletRef = ref({}); const registerControl = inject("registerControl"); const { options, methods } = attributionControlSetup(props, leafletRef); onMounted(async () => { const { control, setOptions } = await import( "leaflet/dist/leaflet-src.esm" ); leafletRef.value = control.attribution(options); propsBinder(methods, leafletRef.value, props, setOptions); registerControl({ leafletObject: leafletRef.value }); }); }, render() { return null; }, }; </script>
src/components/index.js +1 −0 Original line number Diff line number Diff line export { default as LControlAttribution } from "./LControlAttribution.vue"; export { default as LControlLayers } from "./LControlLayers.vue"; export { default as LControlScale } from "./LControlScale.vue"; export { default as LControlZoom } from "./LControlZoom.vue"; Loading
src/functions/controlAttribution.js 0 → 100644 +30 −0 Original line number Diff line number Diff line import { props as controlProps, setup as controlSetup } from "./control"; export const props = { ...controlProps, prefix: { type: String, default: "Vue-Leaflet", custom: true, }, }; export const setup = (props, leafletRef) => { const { options: controlOptions, methods: controlMethods } = controlSetup( props, leafletRef ); const options = { ...controlOptions, prefix: props.prefix, }; const methods = { ...controlMethods, setPrefix(prefix) { leafletRef.value.setPrefix(prefix); }, }; return { options, methods }; };