useMeasureStore.js 1.02 KB
import { defineStore } from 'pinia';
import { reactive, ref } from 'vue';

import DISTANCEIMAGE from '@/views/assets/images/functional-toolbar/measure/distance.png';
import THICKNESSIMAGE from '@/views/assets/images/functional-toolbar/measure/thickness.png';

import { useEditorStore } from '@/views/stores/useEditorStore';

export const useMeasureStore = defineStore('measure', () => {
    const editorStore = useEditorStore();
    const { removeMeasuresObjects, setMeasuresMode } = editorStore;

    const items = reactive([
        {
            key: 'distance',
            image: DISTANCEIMAGE
        },
        {
            key: 'thickness',
            image: THICKNESSIMAGE
        }
    ]);
    const selecteditem = ref('distance');

    const setSelectedItem = (val) => {
        selecteditem.value = val;
        setMeasuresMode(val);
    };

    const removeMeasures = () => {
        removeMeasuresObjects();
    };

    return {
        items,
        selecteditem,
        setSelectedItem,
        removeMeasures
    };
});