useCanvasHeaderToolsStore.js 1.4 KB
import { defineStore } from 'pinia';
import { reactive, ref } from 'vue';

import UPLOAD from '@/views/assets/images/header-tools/upload.png';
import UNDO from '@/views/assets/images/header-tools/undo.png';
import REDO from '@/views/assets/images/header-tools/redo.png';

export const useCanvasHeaderToolsStore = defineStore('headerTools', () => {
    const items = reactive([
        /*{
            key: 'uploadfile',
            icon: UPLOAD,
            enabled: true
        },*/
        {
            key: 'undo',
            icon: UNDO,
            enabled: false
        },
        {
            key: 'redo',
            icon: REDO,
            enabled: false
        }
    ]);
    const isUploadModalVisible = ref(false);

    const isCanUndo = ref(false);
    const isCanRedo = ref(false);

    const setUploadModalVisible = (val) => {
        isUploadModalVisible.value = val;
    };

    const setIsCanUndo = (val) => {
        isCanUndo.value = val;
        const object = items.find((el) => el.key === 'undo');
        if (object) object.enabled = val;
    };

    const setIsCanRedo = (val) => {
        isCanRedo.value = val;
        const object = items.find((el) => el.key === 'redo');
        if (object) object.enabled = val;
    };

    return {
        items,
        isCanUndo,
        isCanRedo,
        isUploadModalVisible,
        setUploadModalVisible,
        setIsCanUndo,
        setIsCanRedo
    };
});