mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-07-02 03:02:19 +08:00
fix: initializer use useAassociationName (#4018)
This commit is contained in:
parent
3b6e7929b6
commit
0f0ccfa9da
@ -1,5 +1,5 @@
|
|||||||
import React, { FC, ReactNode, createContext, useContext } from 'react';
|
import React, { FC, ReactNode, createContext, useContext } from 'react';
|
||||||
import { CollectionFieldProvider } from '../collection-field';
|
import { CollectionFieldProvider, useCollectionField } from '../collection-field';
|
||||||
import { CollectionDeletedPlaceholder } from '../components/CollectionDeletedPlaceholder';
|
import { CollectionDeletedPlaceholder } from '../components/CollectionDeletedPlaceholder';
|
||||||
import { Collection } from './Collection';
|
import { Collection } from './Collection';
|
||||||
import { useCollectionManager } from './CollectionManagerProvider';
|
import { useCollectionManager } from './CollectionManagerProvider';
|
||||||
@ -41,3 +41,8 @@ export const AssociationProvider: FC<AssociationProviderProps> = (props) => {
|
|||||||
</CollectionProvider>
|
</CollectionProvider>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const useAssociationName = () => {
|
||||||
|
const field = useCollectionField();
|
||||||
|
return field ? `${field.collectionName}.${field.name}` : null;
|
||||||
|
};
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { FormOutlined } from '@ant-design/icons';
|
import { FormOutlined } from '@ant-design/icons';
|
||||||
import React, { useCallback } from 'react';
|
import React, { useCallback } from 'react';
|
||||||
import { SchemaInitializerItem, useSchemaInitializer, useSchemaInitializerItem } from '../../../../application';
|
import { SchemaInitializerItem, useSchemaInitializer, useSchemaInitializerItem } from '../../../../application';
|
||||||
import { useBlockAssociationContext } from '../../../../block-provider';
|
|
||||||
import { useCollection_deprecated } from '../../../../collection-manager';
|
import { useCollection_deprecated } from '../../../../collection-manager';
|
||||||
import { useRecordCollectionDataSourceItems } from '../../../../schema-initializer/utils';
|
import { useRecordCollectionDataSourceItems } from '../../../../schema-initializer/utils';
|
||||||
import { useSchemaTemplateManager } from '../../../../schema-templates';
|
import { useSchemaTemplateManager } from '../../../../schema-templates';
|
||||||
import { createDetailsUISchema } from './createDetailsUISchema';
|
import { createDetailsUISchema } from './createDetailsUISchema';
|
||||||
|
import { useAssociationName } from '../../../../data-source';
|
||||||
|
|
||||||
export const RecordReadPrettyFormBlockInitializer = () => {
|
export const RecordReadPrettyFormBlockInitializer = () => {
|
||||||
const itemConfig = useSchemaInitializerItem();
|
const itemConfig = useSchemaInitializerItem();
|
||||||
@ -27,7 +27,7 @@ export const RecordReadPrettyFormBlockInitializer = () => {
|
|||||||
export function useCreateSingleDetailsSchema() {
|
export function useCreateSingleDetailsSchema() {
|
||||||
const { insert } = useSchemaInitializer();
|
const { insert } = useSchemaInitializer();
|
||||||
const { getTemplateSchemaByMode } = useSchemaTemplateManager();
|
const { getTemplateSchemaByMode } = useSchemaTemplateManager();
|
||||||
const association = useBlockAssociationContext();
|
const association = useAssociationName();
|
||||||
|
|
||||||
const templateWrap = useCallback(
|
const templateWrap = useCallback(
|
||||||
(templateSchema, options) => {
|
(templateSchema, options) => {
|
||||||
|
@ -2,11 +2,11 @@ import { FormOutlined } from '@ant-design/icons';
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
import { SchemaInitializerItem, useSchemaInitializer, useSchemaInitializerItem } from '../../../../application';
|
import { SchemaInitializerItem, useSchemaInitializer, useSchemaInitializerItem } from '../../../../application';
|
||||||
import { useBlockAssociationContext } from '../../../../block-provider';
|
|
||||||
import { useCollection_deprecated } from '../../../../collection-manager';
|
import { useCollection_deprecated } from '../../../../collection-manager';
|
||||||
import { useRecordCollectionDataSourceItems } from '../../../../schema-initializer/utils';
|
import { useRecordCollectionDataSourceItems } from '../../../../schema-initializer/utils';
|
||||||
import { useSchemaTemplateManager } from '../../../../schema-templates';
|
import { useSchemaTemplateManager } from '../../../../schema-templates';
|
||||||
import { createCreateFormBlockUISchema } from './createCreateFormBlockUISchema';
|
import { createCreateFormBlockUISchema } from './createCreateFormBlockUISchema';
|
||||||
|
import { useAssociationName } from '../../../../data-source';
|
||||||
|
|
||||||
// TODO: `SchemaInitializerItem` items
|
// TODO: `SchemaInitializerItem` items
|
||||||
export const CreateFormBlockInitializer = () => {
|
export const CreateFormBlockInitializer = () => {
|
||||||
@ -14,7 +14,7 @@ export const CreateFormBlockInitializer = () => {
|
|||||||
const { onCreateBlockSchema, componentType, createBlockSchema, ...others } = itemConfig;
|
const { onCreateBlockSchema, componentType, createBlockSchema, ...others } = itemConfig;
|
||||||
const { getTemplateSchemaByMode } = useSchemaTemplateManager();
|
const { getTemplateSchemaByMode } = useSchemaTemplateManager();
|
||||||
const { insert } = useSchemaInitializer();
|
const { insert } = useSchemaInitializer();
|
||||||
const association = useBlockAssociationContext();
|
const association = useAssociationName();
|
||||||
const collection = useCollection_deprecated();
|
const collection = useCollection_deprecated();
|
||||||
return (
|
return (
|
||||||
<SchemaInitializerItem
|
<SchemaInitializerItem
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { FormOutlined } from '@ant-design/icons';
|
import { FormOutlined } from '@ant-design/icons';
|
||||||
import React, { useCallback } from 'react';
|
import React, { useCallback } from 'react';
|
||||||
import { SchemaInitializerItem, useSchemaInitializer, useSchemaInitializerItem } from '../../../../application';
|
import { SchemaInitializerItem, useSchemaInitializer, useSchemaInitializerItem } from '../../../../application';
|
||||||
import { useBlockAssociationContext } from '../../../../block-provider';
|
import { useAssociationName } from '../../../../data-source';
|
||||||
import { useCollection_deprecated } from '../../../../collection-manager';
|
import { useCollection_deprecated } from '../../../../collection-manager';
|
||||||
import { useRecordCollectionDataSourceItems } from '../../../../schema-initializer/utils';
|
import { useRecordCollectionDataSourceItems } from '../../../../schema-initializer/utils';
|
||||||
import { useSchemaTemplateManager } from '../../../../schema-templates';
|
import { useSchemaTemplateManager } from '../../../../schema-templates';
|
||||||
@ -39,7 +39,7 @@ export const RecordFormBlockInitializer = () => {
|
|||||||
|
|
||||||
export function useCreateEditFormBlock() {
|
export function useCreateEditFormBlock() {
|
||||||
const { insert } = useSchemaInitializer();
|
const { insert } = useSchemaInitializer();
|
||||||
const association = useBlockAssociationContext();
|
const association = useAssociationName();
|
||||||
|
|
||||||
const createEditFormBlock = useCallback(
|
const createEditFormBlock = useCallback(
|
||||||
({ item }) => {
|
({ item }) => {
|
||||||
|
@ -2,12 +2,12 @@ import { FormOutlined } from '@ant-design/icons';
|
|||||||
import {
|
import {
|
||||||
SchemaInitializerItem,
|
SchemaInitializerItem,
|
||||||
createCreateFormBlockUISchema,
|
createCreateFormBlockUISchema,
|
||||||
useBlockAssociationContext,
|
|
||||||
useCollection_deprecated,
|
useCollection_deprecated,
|
||||||
useRecordCollectionDataSourceItems,
|
useRecordCollectionDataSourceItems,
|
||||||
useSchemaInitializer,
|
useSchemaInitializer,
|
||||||
useSchemaInitializerItem,
|
useSchemaInitializerItem,
|
||||||
useSchemaTemplateManager,
|
useSchemaTemplateManager,
|
||||||
|
useAssociationName,
|
||||||
} from '@nocobase/client';
|
} from '@nocobase/client';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { createBulkEditBlockUISchema } from './createBulkEditBlockUISchema';
|
import { createBulkEditBlockUISchema } from './createBulkEditBlockUISchema';
|
||||||
@ -17,7 +17,7 @@ export const CreateFormBulkEditBlockInitializer = () => {
|
|||||||
const { onCreateBlockSchema, componentType, createBlockSchema, ...others } = itemConfig;
|
const { onCreateBlockSchema, componentType, createBlockSchema, ...others } = itemConfig;
|
||||||
const { insert } = useSchemaInitializer();
|
const { insert } = useSchemaInitializer();
|
||||||
const { getTemplateSchemaByMode } = useSchemaTemplateManager();
|
const { getTemplateSchemaByMode } = useSchemaTemplateManager();
|
||||||
const association = useBlockAssociationContext();
|
const association = useAssociationName();
|
||||||
const collection = useCollection_deprecated();
|
const collection = useCollection_deprecated();
|
||||||
return (
|
return (
|
||||||
<SchemaInitializerItem
|
<SchemaInitializerItem
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { FormOutlined } from '@ant-design/icons';
|
import { FormOutlined } from '@ant-design/icons';
|
||||||
import {
|
import {
|
||||||
useBlockAssociationContext,
|
|
||||||
useCollection_deprecated,
|
useCollection_deprecated,
|
||||||
useSchemaTemplateManager,
|
useSchemaTemplateManager,
|
||||||
useRecordCollectionDataSourceItems,
|
useRecordCollectionDataSourceItems,
|
||||||
@ -9,6 +8,7 @@ import {
|
|||||||
useSchemaInitializer,
|
useSchemaInitializer,
|
||||||
SchemaInitializerItem,
|
SchemaInitializerItem,
|
||||||
useSchemaInitializerItem,
|
useSchemaInitializerItem,
|
||||||
|
useAssociationName,
|
||||||
} from '@nocobase/client';
|
} from '@nocobase/client';
|
||||||
import { ISchema } from '@formily/react';
|
import { ISchema } from '@formily/react';
|
||||||
import { uid } from '@formily/shared';
|
import { uid } from '@formily/shared';
|
||||||
@ -73,7 +73,7 @@ export const SnapshotBlockInitializersDetailItem = () => {
|
|||||||
const { getTemplateSchemaByMode } = useSchemaTemplateManager();
|
const { getTemplateSchemaByMode } = useSchemaTemplateManager();
|
||||||
// eslint-disable-next-line react-hooks/rules-of-hooks
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
||||||
const collection = targetCollection || useCollection_deprecated();
|
const collection = targetCollection || useCollection_deprecated();
|
||||||
const association = useBlockAssociationContext();
|
const association = useAssociationName();
|
||||||
const { block } = useBlockRequestContext();
|
const { block } = useBlockRequestContext();
|
||||||
const actionInitializers =
|
const actionInitializers =
|
||||||
block !== 'TableField' ? itemConfig.actionInitializers || 'details:configureActions' : null;
|
block !== 'TableField' ? itemConfig.actionInitializers || 'details:configureActions' : null;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user