useObjectModelFormContext.ts 755 Bytes
import type { InjectionKey, ComputedRef } from 'vue';
import { createContext, useContext } from '/@/hooks/core/useContext';
import { TransportTypeEnum } from '/@/enums/deviceEnum';
import { DataActionModeEnum } from '/@/enums/toolEnum';

export interface ObjectModelFormContextProps {
  getTransportType: ComputedRef<TransportTypeEnum | undefined>;
  getModalMode: ComputedRef<DataActionModeEnum | undefined>;
}

const key: InjectionKey<ObjectModelFormContextProps> = Symbol();

export function createObjectModelFormContext(context: ObjectModelFormContextProps) {
  return createContext<ObjectModelFormContextProps>(context, key, { native: true });
}

export function useObjectModelFormContext() {
  return useContext<ObjectModelFormContextProps>(key);
}