import { ArrayField } from '@formily/core'; import { useField } from '@formily/react'; import { Spin } from 'antd'; import React, { createContext, useContext, useEffect } from 'react'; import { BlockProvider, useBlockRequestContext } from './BlockProvider'; export const CalendarBlockContext = createContext({}); const InternalCalendarBlockProvider = (props) => { const { fieldNames } = props; const field = useField(); const { resource, service } = useBlockRequestContext(); if (service.loading) { return ; } return ( {props.children} ); }; export const CalendarBlockProvider = (props) => { return ( ); }; export const useCalendarBlockContext = () => { return useContext(CalendarBlockContext); }; export const useCalendarBlockProps = () => { const ctx = useCalendarBlockContext(); const field = useField(); useEffect(() => { if (!ctx?.service?.loading) { field.componentProps.dataSource = ctx?.service?.data?.data; } }, [ctx?.service?.loading]); return { fieldNames: ctx.fieldNames, }; };