useContext.ts
743 Bytes
import { Ref, inject, provide } from 'vue';
import { SelectedWidgetKeys } from './index.type';
import { DataActionModeEnum } from '/@/enums/toolEnum';
const selectWidgetKeysKey = Symbol('select-widget-keys');
export const createSelectWidgetKeysContext = (state: Ref<SelectedWidgetKeys>) => {
provide(selectWidgetKeysKey, state);
};
export const useSelectWidgetKeys = () => {
return inject(selectWidgetKeysKey) as Ref<SelectedWidgetKeys>;
};
const selectWidgetModeKey = Symbol('select-widget-mode');
export const createSelectWidgetModeContext = (mode: Ref<DataActionModeEnum>) => {
provide(selectWidgetModeKey, mode);
};
export const useSelectWidgetMode = () => {
return inject(selectWidgetModeKey) as Ref<DataActionModeEnum>;
};