fix(plugin-workflow-manual): fix details block context (#5953)

* fix(client): fix details block context

* fix(plugin-workflow-manual): fix FormBlockProvider context
This commit is contained in:
Junyi 2024-12-27 19:34:50 +08:00 committed by GitHub
parent c7831676af
commit a6d9f2ff27
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 30 additions and 26 deletions

View File

@ -10,6 +10,7 @@
import { createForm } from '@formily/core'; import { createForm } from '@formily/core';
import { useField, useFieldSchema } from '@formily/react'; import { useField, useFieldSchema } from '@formily/react';
import { import {
BlockProvider,
BlockRequestContext_deprecated, BlockRequestContext_deprecated,
CollectionManagerProvider, CollectionManagerProvider,
CollectionProvider_deprecated, CollectionProvider_deprecated,
@ -82,20 +83,20 @@ export function FormBlockProvider(props) {
return !userJob?.status || values ? ( return !userJob?.status || values ? (
<CollectionManagerProvider dataSource={dataSource}> <CollectionManagerProvider dataSource={dataSource}>
<CollectionProvider_deprecated collection={props.collection}> <CollectionProvider_deprecated collection={props.collection}>
<RecordProvider record={values} parent={null}> <BlockProvider name={props.name || 'form'} {...props} block={'form'} parentRecord={null}>
<RerenderDataBlockProvider> <FormActiveFieldsProvider name="form">
<FormActiveFieldsProvider name="form"> <BlockRequestContext_deprecated.Provider
<BlockRequestContext_deprecated.Provider value={{ block: 'form', props, field, service, resource, __parent }}
value={{ block: 'form', props, field, service, resource, __parent }} >
> <FormBlockContext.Provider value={formBlockValue}>
<FormBlockContext.Provider value={formBlockValue}> <RecordProvider record={values} parent={null}>
<FormV2.Templates style={{ marginBottom: token.margin }} form={form} /> <FormV2.Templates style={{ marginBottom: token.margin }} form={form} />
<div ref={formBlockRef}>{props.children}</div> <div ref={formBlockRef}>{props.children}</div>
</FormBlockContext.Provider> </RecordProvider>
</BlockRequestContext_deprecated.Provider> </FormBlockContext.Provider>
</FormActiveFieldsProvider> </BlockRequestContext_deprecated.Provider>
</RerenderDataBlockProvider> </FormActiveFieldsProvider>
</RecordProvider> </BlockProvider>
</CollectionProvider_deprecated> </CollectionProvider_deprecated>
</CollectionManagerProvider> </CollectionManagerProvider>
) : null; ) : null;

View File

@ -16,6 +16,7 @@ import {
CollectionProvider_deprecated, CollectionProvider_deprecated,
FormBlockContext, FormBlockContext,
RecordProvider, RecordProvider,
RerenderDataBlockProvider,
parseCollectionName, parseCollectionName,
useAPIClient, useAPIClient,
useAssociationNames, useAssociationNames,
@ -86,20 +87,22 @@ export function DetailsBlockProvider({ collection, dataPath, children }) {
return ( return (
<CollectionProvider_deprecated dataSource={dataSourceName} collection={resolvedCollection}> <CollectionProvider_deprecated dataSource={dataSourceName} collection={resolvedCollection}>
<RecordProvider record={values} parent={null}> <RecordProvider record={values} parent={null}>
<BlockRequestContext_deprecated.Provider value={{ block: 'form', field, service, resource, __parent }}> <RerenderDataBlockProvider>
<FormBlockContext.Provider <BlockRequestContext_deprecated.Provider value={{ block: 'form', field, service, resource, __parent }}>
value={{ <FormBlockContext.Provider
params, value={{
form, params,
field, form,
service, field,
updateAssociationValues, service,
formBlockRef, updateAssociationValues,
}} formBlockRef,
> }}
{children} >
</FormBlockContext.Provider> {children}
</BlockRequestContext_deprecated.Provider> </FormBlockContext.Provider>
</BlockRequestContext_deprecated.Provider>
</RerenderDataBlockProvider>
</RecordProvider> </RecordProvider>
</CollectionProvider_deprecated> </CollectionProvider_deprecated>
); );