diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/EventFilterTableDemo.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/EventFilterTableDemo.tsx index d2a2f0d796..36cf8d8387 100644 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/EventFilterTableDemo.tsx +++ b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/EventFilterTableDemo.tsx @@ -362,7 +362,6 @@ const EventFilterTableDemo: React.FC = (props) => { // 应用 FilterFlow 获取列配置 const applyColumnFilter = useCallback(async () => { const context: FilterHandlerContext = { - props: {}, payload: { hooks: hooks, }, diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-configure-dialog.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-configure-dialog.tsx index 5713c8c5cd..eb4ad4caa7 100644 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-configure-dialog.tsx +++ b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-configure-dialog.tsx @@ -1,7 +1,7 @@ import { Modal, Form, Input, Select, Switch, InputNumber } from 'antd'; import React, { useState } from 'react'; -import { EventFlowActionOptions, EventFlowManager } from '../libs/eventflow-manager'; -import { EventContext } from '../libs/types'; +import { EventFlowActionOptions } from '@nocobase/client'; +import { EventContext } from '@nocobase/client'; import { SchemaComponent, SchemaComponentProvider } from '@nocobase/client'; import { createForm } from '@formily/core'; import { ISchema, connect, mapProps, mapReadPretty } from '@formily/react'; diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-form-dialog.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-form-dialog.tsx index b82c5d1372..5578a0a3de 100644 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-form-dialog.tsx +++ b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-form-dialog.tsx @@ -1,5 +1,5 @@ import { Modal, Input } from 'antd'; -import { EventFlowActionOptions } from '../libs/eventflow-manager'; +import { EventFlowActionOptions } from '@nocobase/client'; import React from 'react'; /** diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-notification.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-notification.tsx index 34a142bb31..0bd16dbd0f 100644 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-notification.tsx +++ b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-notification.tsx @@ -1,5 +1,5 @@ import { notification, Button, Flex } from 'antd'; -import { EventFlowActionOptions } from '../libs/eventflow-manager'; +import { EventFlowActionOptions } from '@nocobase/client'; import React from 'react'; /** diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-simple-dialog.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-simple-dialog.tsx index 7eb26e8d13..5f8e734ca1 100644 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-simple-dialog.tsx +++ b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/actions/open-simple-dialog.tsx @@ -1,5 +1,5 @@ import { Modal } from 'antd'; -import { EventFlowActionOptions } from '../libs/eventflow-manager'; +import { EventFlowActionOptions } from '@nocobase/client'; import React from 'react'; /** diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/components/DemoTable.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/components/DemoTable.tsx deleted file mode 100644 index 71f7d1d3ea..0000000000 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/components/DemoTable.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { useFieldSchema } from '@formily/react'; -import { useBlockResource } from '@nocobase/client'; -import { Spin, Table, Button, Space, Row, Flex } from 'antd'; -import React, { useMemo } from 'react'; -import { EventContext } from '../libs/types'; -import { useAddEventListener, useApplyFilter } from '../libs/hooks'; - -const DemoTable = (props) => { - const { done, result } = useApplyFilter('core:block:table', { props }); - const fieldSchema = useFieldSchema(); - const resource = useBlockResource(); - - useAddEventListener('core:block:table:refresh', (ctx: EventContext) => { - console.log('core:block:table:refresh', ctx); - resource.list(); - }); - - const actionEventContext: EventContext = useMemo(() => { - return { - source: { - uischema: fieldSchema.toJSON(), - }, - }; - }, [fieldSchema]); - - if (!done) { - return ; - } - - const columns = result?.columns || []; - const data = result?.data?.data || []; - const actions = result?.actions || []; - - return ( - - - - {actions.map((action) => ( - - ))} - - - - - ); -}; - -export default DemoTable; diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/events/basic-form.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/events/basic-form.tsx index cf77e88fa8..8266049ff0 100644 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/events/basic-form.tsx +++ b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/events/basic-form.tsx @@ -1,4 +1,4 @@ -import { Button, Space, Alert, Card, Divider } from 'antd'; +import { Button, Space, Card } from 'antd'; import { EventBus } from '@nocobase/client'; import React, { useState } from 'react'; import { openFormDialogAction } from '../actions/open-form-dialog'; diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/configurable-filter.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/configurable-filter.tsx index 61cdec5799..af34f2024d 100644 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/configurable-filter.tsx +++ b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/configurable-filter.tsx @@ -170,7 +170,7 @@ const ConfigurableFilter = () => { try { // 创建FilterFlow上下文 const context = { - props: { + payload: { inputText, }, }; diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/data-transform-filterflow.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/data-transform-filterflow.tsx index 4d0e2c376f..83be84d4cf 100644 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/data-transform-filterflow.tsx +++ b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/data-transform-filterflow.tsx @@ -231,7 +231,7 @@ const DataTransformFilterFlow = () => { try { // 创建FilterFlow上下文 const context = { - props: {}, + payload: {}, }; // 应用FilterFlow diff --git a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/multi-step-filterflow.tsx b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/multi-step-filterflow.tsx index dd6e17dc0a..0fff22d1f8 100644 --- a/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/multi-step-filterflow.tsx +++ b/packages/core/client/docs/zh-CN/core/event-and-filter/demos/filters/multi-step-filterflow.tsx @@ -130,7 +130,7 @@ const MultiStepFilterFlow = () => { try { // 创建过滤上下文 const context = { - props: { + payload: { inputText, }, }; diff --git a/packages/core/client/src/eventflow/types.ts b/packages/core/client/src/eventflow/types.ts index 71eef553dd..cd23c51038 100644 --- a/packages/core/client/src/eventflow/types.ts +++ b/packages/core/client/src/eventflow/types.ts @@ -27,6 +27,7 @@ export interface EventContext { event?: string | string[]; // 事件名称, 一个事件是可以触发多个eventflow的,与filterflow不同 [key: string]: any; }; + payload?: T; results?: Record; } export interface EventListenerOptions { diff --git a/packages/core/client/src/filterflow/filterflow-manager.ts b/packages/core/client/src/filterflow/filterflow-manager.ts index 18d60b438e..f6a3fedffb 100644 --- a/packages/core/client/src/filterflow/filterflow-manager.ts +++ b/packages/core/client/src/filterflow/filterflow-manager.ts @@ -64,14 +64,6 @@ export class FilterFlowStep { return filter?.handler; } - /** - * 获取 Filter 的 UI Schema - */ - getUiSchema(): ISchema | undefined { - const filter = this.filterFlow.getFilter(this.filterName); - return filter?.uiSchema; - } - get(key: string) { return _.get(this.options, key); } @@ -91,6 +83,14 @@ export class FilterFlowStep { // 可根据需要添加 save 等方法,如果需要持久化步骤配置 // async save() { /* ... */ } + + /** + * 获取 Filter 的 UI Schema + */ + private getUiSchema(): ISchema | undefined { + const filter = this.filterFlow.getFilter(this.filterName); + return filter?.uiSchema; + } } export class FilterFlow {