@nocobase/client 2.0.0-alpha.9 → 2.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/.dumirc.ts +4 -0
  2. package/es/application/Application.d.ts +2 -1
  3. package/es/block-configs/BlockConfigsProvider.d.ts +1 -1
  4. package/es/block-provider/hooks/index.d.ts +2 -1
  5. package/es/block-provider/index.d.ts +4 -3
  6. package/es/collection-manager/Configuration/SetPrimaryKeyAction.d.ts +10 -0
  7. package/es/collection-manager/Configuration/components/CollectionCategory.d.ts +1 -1
  8. package/es/collection-manager/Configuration/components/CollectionFieldInterfaceTag.d.ts +1 -1
  9. package/es/collection-manager/Configuration/components/CollectionTemplateTag.d.ts +1 -1
  10. package/es/collection-manager/Configuration/components/Summary.d.ts +1 -1
  11. package/es/collection-manager/Configuration/interfaces.d.ts +1 -0
  12. package/es/collection-manager/action-hooks.d.ts +1 -1
  13. package/es/collection-manager/interfaces/color.d.ts +0 -1
  14. package/es/collection-manager/interfaces/index.d.ts +1 -0
  15. package/es/collection-manager/interfaces/input.d.ts +1 -0
  16. package/es/collection-manager/interfaces/integer.d.ts +1 -0
  17. package/es/collection-manager/interfaces/nanoid.d.ts +1 -0
  18. package/es/collection-manager/interfaces/number.d.ts +44 -0
  19. package/es/collection-manager/interfaces/snowflake-id.d.ts +117 -0
  20. package/es/collection-manager/interfaces/uuid.d.ts +1 -0
  21. package/es/collection-manager/templates/properties/index.d.ts +1 -0
  22. package/es/data-source/collection-field-interface/CollectionFieldInterface.d.ts +1 -0
  23. package/es/data-source/data-source/DataSourceManager.d.ts +1 -0
  24. package/es/flow/FlowModelRepository.d.ts +4 -0
  25. package/es/flow/FlowPage.d.ts +2 -1
  26. package/es/flow/actions/columnFixed.d.ts +1 -2
  27. package/es/flow/actions/displayFieldComponent.d.ts +1 -1
  28. package/es/flow/actions/index.d.ts +5 -1
  29. package/es/flow/actions/linkageRules.d.ts +4 -0
  30. package/es/flow/actions/navigateToURL.d.ts +9 -0
  31. package/es/flow/actions/openView.d.ts +2 -13
  32. package/es/flow/actions/setTargetDataScope.d.ts +10 -0
  33. package/es/flow/actions/showMessage.d.ts +9 -0
  34. package/es/flow/actions/showNotification.d.ts +9 -0
  35. package/es/flow/actions/titleField.d.ts +0 -1
  36. package/es/flow/common/Liquid.d.ts +33 -0
  37. package/es/flow/common/Markdown/Display.d.ts +9 -0
  38. package/es/flow/common/Markdown/Edit.d.ts +23 -0
  39. package/es/flow/common/Markdown/Markdown.d.ts +24 -0
  40. package/es/flow/common/Markdown/style.d.ts +10 -0
  41. package/es/flow/common/Markdown/useCDN.d.ts +9 -0
  42. package/es/flow/components/BlockItemCard.d.ts +2 -0
  43. package/es/flow/components/FieldAssignValueInput.d.ts +1 -0
  44. package/es/flow/components/code-editor/extension/CodeEditorExtension.d.ts +14 -0
  45. package/es/flow/components/code-editor/extension/index.d.ts +9 -0
  46. package/es/flow/components/code-editor/index.d.ts +5 -4
  47. package/es/flow/components/code-editor/jsxCompletion.d.ts +10 -0
  48. package/es/flow/components/code-editor/linter.d.ts +2 -0
  49. package/es/flow/components/code-editor/panels/RightExtra.d.ts +3 -1
  50. package/es/flow/components/code-editor/types.d.ts +16 -0
  51. package/es/flow/components/filter/FilterContainer.d.ts +4 -4
  52. package/es/flow/components/filter/FilterGroup.d.ts +2 -1
  53. package/es/flow/components/filter/LinkageFilterItem.d.ts +1 -0
  54. package/es/flow/components/filter/VariableFilterItem.d.ts +4 -1
  55. package/es/flow/components/index.d.ts +1 -1
  56. package/es/flow/components/placeholders/BlockPlaceholder.d.ts +1 -0
  57. package/es/flow/flows/editMarkdownFlow.d.ts +10 -0
  58. package/es/flow/getViewDiffAndUpdateHidden.d.ts +1 -0
  59. package/es/flow/index.d.ts +5 -0
  60. package/es/flow/internal/utils/associationValueCoercion.d.ts +15 -0
  61. package/es/flow/internal/utils/enumOptionsUtils.d.ts +7 -7
  62. package/es/flow/internal/utils/operatorSchemaHelper.d.ts +15 -0
  63. package/es/flow/internal/utils/rebuildFieldSubModel.d.ts +33 -0
  64. package/es/flow/models/actions/AddChildActionModel.d.ts +15 -0
  65. package/es/flow/models/actions/AddNewActionModel.d.ts +1 -0
  66. package/es/flow/models/actions/EditActionModel.d.ts +1 -0
  67. package/es/flow/models/actions/ExpandCollapseActionModel.d.ts +19 -0
  68. package/es/flow/models/actions/FilterActionModel.d.ts +5 -59
  69. package/es/flow/models/actions/JSActionModel.d.ts +13 -0
  70. package/es/flow/models/actions/LinkActionModel.d.ts +18 -0
  71. package/es/flow/models/actions/UpdateRecordActionModel.d.ts +6 -0
  72. package/es/flow/models/actions/index.d.ts +4 -0
  73. package/es/flow/models/base/ActionModel.d.ts +15 -5
  74. package/es/flow/models/base/BlockModel.d.ts +4 -1
  75. package/es/flow/models/base/CollectionBlockModel.d.ts +12 -25
  76. package/es/flow/models/base/FieldModel.d.ts +6 -0
  77. package/es/flow/models/base/GridModel.d.ts +27 -4
  78. package/es/flow/models/base/PageModel/ChildPageModel.d.ts +1 -0
  79. package/es/flow/models/base/PageModel/PageModel.d.ts +3 -0
  80. package/es/flow/models/base/PageModel/PageTabModel.d.ts +2 -0
  81. package/es/flow/models/base/PageModel/RootPageModel.d.ts +2 -0
  82. package/es/flow/models/blocks/details/DetailsBlockModel.d.ts +1 -0
  83. package/es/flow/models/blocks/details/DetailsCustomItemModel.d.ts +2 -2
  84. package/es/flow/models/blocks/details/DetailsGridModel.d.ts +1 -0
  85. package/es/flow/models/blocks/details/DetailsItemModel.d.ts +2 -2
  86. package/es/flow/models/blocks/details/DetailsJSFieldItemModel.d.ts +2 -2
  87. package/es/flow/models/blocks/filter-form/FilterFormBlockModel.d.ts +4 -0
  88. package/es/flow/models/blocks/filter-form/FilterFormGridModel.d.ts +1 -0
  89. package/es/flow/models/blocks/filter-form/FilterFormItemModel.d.ts +5 -4
  90. package/es/flow/models/blocks/filter-form/FilterFormSubmitActionModel.d.ts +1 -1
  91. package/es/flow/models/blocks/filter-form/fields/FilterFormCustomFieldModel.d.ts +2 -1
  92. package/es/flow/models/blocks/filter-manager/flow-actions/customizeFilterRender.d.ts +10 -0
  93. package/es/flow/models/blocks/filter-manager/flow-actions/index.d.ts +2 -0
  94. package/es/flow/models/blocks/filter-manager/flow-actions/operatorComponentProps.d.ts +10 -0
  95. package/es/flow/models/blocks/form/CreateFormModel.d.ts +1 -0
  96. package/es/flow/models/blocks/form/EditFormModel.d.ts +1 -0
  97. package/es/flow/models/blocks/form/FormBlockModel.d.ts +11 -1
  98. package/es/flow/models/blocks/form/FormGridModel.d.ts +1 -0
  99. package/es/flow/models/blocks/form/FormItemModel.d.ts +1 -1
  100. package/es/flow/models/blocks/form/FormJSFieldItemModel.d.ts +1 -1
  101. package/es/flow/models/blocks/form/submitHandler.d.ts +9 -0
  102. package/es/flow/models/blocks/js-block/JSBlock.d.ts +1 -0
  103. package/es/flow/models/blocks/table/JSColumnModel.d.ts +0 -1
  104. package/es/flow/models/blocks/table/TableActionsColumnModel.d.ts +0 -1
  105. package/es/flow/models/blocks/table/TableBlockModel.d.ts +14 -1
  106. package/es/flow/models/blocks/table/TableColumnModel.d.ts +9 -2
  107. package/es/flow/models/blocks/table/TableJSFieldItemModel.d.ts +2 -2
  108. package/es/flow/models/blocks/table/utils.d.ts +8 -0
  109. package/es/flow/models/blocks/utils/transformChildrenToJS.d.ts +42 -0
  110. package/es/flow/models/fields/AssociationFieldModel/AssociationFieldModel.d.ts +1 -0
  111. package/es/flow/models/fields/AssociationFieldModel/CascadeSelectFieldModel.d.ts +29 -0
  112. package/es/flow/models/fields/AssociationFieldModel/RecordPickerFieldModel.d.ts +2 -0
  113. package/es/flow/models/fields/AssociationFieldModel/RecordSelectFieldModel.d.ts +8 -2
  114. package/es/flow/models/fields/AssociationFieldModel/SubFormFieldModel.d.ts +7 -0
  115. package/es/flow/models/fields/AssociationFieldModel/SubTableFieldModel/SubTableColumnModel.d.ts +3 -3
  116. package/es/flow/models/fields/AssociationFieldModel/SubTableFieldModel/index.d.ts +2 -0
  117. package/es/flow/models/fields/AssociationFieldModel/index.d.ts +1 -0
  118. package/es/flow/models/fields/AssociationFieldModel/recordSelectShared.d.ts +49 -0
  119. package/es/flow/models/fields/ClickableFieldModel.d.ts +3 -2
  120. package/es/flow/models/fields/DisplayAssociationField/DisplaySubItemFieldModel.d.ts +1 -0
  121. package/es/flow/models/fields/DisplayAssociationField/DisplaySubListFieldModel.d.ts +1 -0
  122. package/es/flow/models/fields/DisplayAssociationField/DisplaySubTableFieldModel.d.ts +3 -1
  123. package/es/flow/models/fields/DisplayEnumFieldModel.d.ts +1 -0
  124. package/es/flow/models/fields/DisplayJSONFieldModel.d.ts +3 -3
  125. package/es/flow/models/fields/DisplayNumberFieldModel.d.ts +4 -2
  126. package/es/flow/models/fields/DisplayTextFieldModel.d.ts +1 -1
  127. package/es/flow/models/fields/JSItemModel.d.ts +0 -1
  128. package/es/flow/models/fields/JsonFieldModel.d.ts +1 -0
  129. package/es/flow/models/fields/MarkdownItemModel.d.ts +1 -0
  130. package/es/flow/models/fields/TimeFieldModel.d.ts +0 -1
  131. package/es/flow/models/fields/mobile-components/MobileDatePicker.d.ts +10 -0
  132. package/es/flow/models/fields/mobile-components/MobileLazySelect.d.ts +11 -0
  133. package/es/flow/{components/JsonInput.d.ts → models/fields/mobile-components/MobileSelect.d.ts} +1 -1
  134. package/es/flow/models/fields/mobile-components/MobileTimePicker.d.ts +10 -0
  135. package/es/flow/resolveViewParamsToViewList.d.ts +4 -2
  136. package/es/flow/{components/decorator → utils}/index.d.ts +1 -1
  137. package/es/global-theme/type.d.ts +1 -0
  138. package/es/hooks/useFullscreenOverlay.d.ts +20 -0
  139. package/es/index.d.ts +1 -0
  140. package/es/index.mjs +28903 -22307
  141. package/es/modules/menu/FlowPageMenuItem.d.ts +1 -3
  142. package/es/modules/menu/index.d.ts +9 -0
  143. package/es/nocobase-buildin-plugin/plugins/LocalePlugin.d.ts +0 -1
  144. package/es/schema-component/antd/association-select/ReadPretty.d.ts +1 -1
  145. package/es/schema-component/antd/filter/FilterItem.d.ts +1 -1
  146. package/es/schema-component/antd/input/EllipsisWithTooltip.d.ts +1 -0
  147. package/es/schema-component/antd/linkageFilter/LinkageFilterItem.d.ts +1 -1
  148. package/es/schema-component/antd/remote-select/RemoteSelect.d.ts +1 -3
  149. package/es/schema-component/antd/table/Table.Column.ActionBar.d.ts +1 -1
  150. package/es/schema-component/antd/table/Table.Void.d.ts +1 -0
  151. package/es/schema-component/antd/table-v2/Table.Column.ActionBar.d.ts +1 -1
  152. package/es/schema-component/antd/upload/shared.d.ts +1 -1
  153. package/es/schema-settings/LinkageRules/LinkageRuleAction.d.ts +2 -2
  154. package/es/schema-settings/LinkageRules/components/BlockLinkageRuleAction.d.ts +1 -1
  155. package/es/schema-settings/LinkageRules/components/FieldStyleLinkageRuleAction.d.ts +1 -1
  156. package/lib/index-C3fHjsMw-CDWZlvuM.js +2237 -0
  157. package/lib/index.js +453 -239
  158. package/lib/locale/cron/zh-CN.json +33 -0
  159. package/lib/locale/cron/zh-TW.json +33 -0
  160. package/lib/locale/de-DE.json +1545 -0
  161. package/lib/locale/en-US.json +1553 -0
  162. package/lib/locale/es-ES.json +1573 -0
  163. package/lib/locale/fr-FR.json +1549 -0
  164. package/lib/locale/hu-HU.json +1545 -0
  165. package/lib/locale/id-ID.json +1546 -0
  166. package/lib/locale/{it-IT.js → it-IT.json} +1496 -1054
  167. package/lib/locale/ja-JP.json +1564 -0
  168. package/lib/locale/ko-KR.json +1558 -0
  169. package/lib/locale/{nl-NL.js → nl-NL.json} +1493 -1018
  170. package/lib/locale/pt-BR.json +1617 -0
  171. package/lib/locale/ru-RU.json +1551 -0
  172. package/lib/locale/tr-TR.json +1553 -0
  173. package/lib/locale/uk-UA.json +1570 -0
  174. package/lib/locale/vi-VN.json +1545 -0
  175. package/lib/locale/zh-CN.json +1571 -0
  176. package/lib/locale/zh-TW.json +1549 -0
  177. package/package.json +10 -7
  178. package/es/flow/components/decorator/injectable.d.ts +0 -19
  179. package/lib/index-C3fHjsMw-BTweCpKS.js +0 -2023
  180. package/lib/locale/cron/zh-CN.js +0 -33
  181. package/lib/locale/cron/zh-TW.js +0 -33
  182. package/lib/locale/de-DE.js +0 -904
  183. package/lib/locale/en-US.js +0 -1001
  184. package/lib/locale/es-ES.js +0 -824
  185. package/lib/locale/fr-FR.js +0 -844
  186. package/lib/locale/ja-JP.js +0 -1062
  187. package/lib/locale/ko-KR.js +0 -935
  188. package/lib/locale/pt-BR.js +0 -804
  189. package/lib/locale/ru-RU.js +0 -633
  190. package/lib/locale/tr-TR.js +0 -631
  191. package/lib/locale/uk-UA.js +0 -847
  192. package/lib/locale/zh-CN.js +0 -1436
  193. package/lib/locale/zh-TW.js +0 -938
  194. /package/es/flow/{internal/utils → utils}/blockUtils.d.ts +0 -0
@@ -17,6 +17,10 @@ export interface ResourceSettingsInitParams {
17
17
  }
18
18
  export declare class CollectionBlockModel<T = DefaultStructure> extends DataBlockModel<T> {
19
19
  isManualRefresh: boolean;
20
+ collectionRequired: boolean;
21
+ private previousBeforeRenderHash;
22
+ protected onMount(): void;
23
+ onActive(): void;
20
24
  /**
21
25
  * 子菜单过滤函数
22
26
  */
@@ -43,38 +47,20 @@ export declare class CollectionBlockModel<T = DefaultStructure> extends DataBloc
43
47
  }[] | ({
44
48
  key: string;
45
49
  label: string;
46
- children: () => {
47
- key: string;
48
- label: string;
49
- useModel: string;
50
- createModelOptions: any;
51
- }[];
50
+ useModel: string;
51
+ createModelOptions: any;
52
+ children?: undefined;
52
53
  } | {
53
54
  key: string;
54
55
  label: string;
55
- children: {
56
- key: string;
57
- label: any;
58
- searchable: boolean;
59
- searchPlaceholder: string;
60
- children: (ctx: any) => {
61
- key: string;
62
- label: any;
63
- useModel: string;
64
- createModelOptions: any;
65
- }[];
66
- }[] | {
56
+ children: () => {
67
57
  key: string;
68
- label: any;
58
+ label: string;
69
59
  useModel: string;
70
60
  createModelOptions: any;
71
61
  }[];
72
- })[] | ({
73
- key: string;
74
- label: string;
75
- useModel: string;
76
- createModelOptions: any;
77
- children?: undefined;
62
+ useModel?: undefined;
63
+ createModelOptions?: undefined;
78
64
  } | {
79
65
  key: string;
80
66
  label: string;
@@ -124,6 +110,7 @@ export declare class CollectionBlockModel<T = DefaultStructure> extends DataBloc
124
110
  getResourceSettingsInitParams(): ResourceSettingsInitParams;
125
111
  onInit(options: any): void;
126
112
  createResource(ctx: any, params: any): SingleRecordResource | MultiRecordResource;
113
+ refresh(): Promise<void>;
127
114
  protected defaultBlockTitle(): string;
128
115
  addAppends(fieldPath: string, refresh?: boolean): void;
129
116
  }
@@ -7,5 +7,11 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { DefaultStructure, FlowModel } from '@nocobase/flow-engine';
10
+ /**
11
+ * 作为字段子模型的入口类,实际实例化的目标类可通过 stepParams.fieldBinding.use 指定。
12
+ * - 如果存在显式的 fieldBinding.use,则优先返回它;
13
+ * - 否则回退到自身(保持原来的 use)。
14
+ */
10
15
  export declare class FieldModel<T = DefaultStructure> extends FlowModel<T> {
16
+ static resolveUse(options: any, engine: any, parentModel: any): any;
11
17
  }
@@ -29,12 +29,12 @@ export declare class GridModel<T extends {
29
29
  itemSettingsMenuLevel: number;
30
30
  itemFlowSettings: Exclude<FlowModelRendererProps['showFlowSettings'], boolean>;
31
31
  dragOverlayConfig?: DragOverlayConfig;
32
- private readonly itemFallback;
32
+ itemFallback: React.JSX.Element;
33
33
  private readonly itemExtraToolbarItems;
34
34
  private dragState?;
35
35
  private _memoItemFlowSettings?;
36
36
  private getItemFlowSettings;
37
- onInit(options: any): void;
37
+ onMount(): void;
38
38
  saveGridLayout(layout?: GridLayoutData): void;
39
39
  mergeRowsWithItems(rows: Record<string, string[][]>): Record<string, string[][]>;
40
40
  resetRows(syncProps?: boolean): void;
@@ -52,8 +52,12 @@ export declare class GridModel<T extends {
52
52
  handleDragEnd(_event: DragEndEvent): void;
53
53
  handleDragCancel(_event: DragCancelEvent): void;
54
54
  renderAddSubModelButton(): JSX.Element;
55
- getRows(): any;
56
- getSizes(): any;
55
+ /**
56
+ * 运行态按可见 block 过滤行/列,避免“整行都是 hidden block”但依然保留行间距占位。
57
+ * - 配置态(flowSettingsEnabled)保持原始 rows/sizes 以便拖拽和布局编辑。
58
+ * - 运行态仅在判断为“整列/整行都不可见”时做过滤,不写回 props/stepParams,布局元数据保持不变。
59
+ */
60
+ private getVisibleLayout;
57
61
  render(): React.JSX.Element;
58
62
  }
59
63
  /**
@@ -66,4 +70,23 @@ export declare class GridModel<T extends {
66
70
  export declare function transformRowsToSingleColumn(rows: Record<string, string[][]>, options?: {
67
71
  emptyColumnUid?: string;
68
72
  }): Record<string, string[][]>;
73
+ export declare function recalculateGridSizes({ position, direction, resizeDistance, prevMoveDistance, oldSizes, oldRows, gridContainerWidth, gutter, columnCount, }: {
74
+ position: {
75
+ rowId: string;
76
+ columnIndex: number;
77
+ itemIndex: number;
78
+ };
79
+ direction: 'left' | 'right' | 'bottom' | 'corner';
80
+ resizeDistance: number;
81
+ prevMoveDistance: number;
82
+ oldSizes: Record<string, number[]>;
83
+ oldRows: Record<string, string[][]>;
84
+ gridContainerWidth: number;
85
+ gutter?: number;
86
+ columnCount?: number;
87
+ }): {
88
+ newRows: Record<string, string[][]>;
89
+ newSizes: Record<string, number[]>;
90
+ moveDistance: number;
91
+ };
69
92
  export {};
@@ -16,4 +16,5 @@ export declare class ChildPageModel extends PageModel {
16
16
  };
17
17
  createPageTabModelOptions: () => CreateModelOptions;
18
18
  handleDragEnd(event: DragEndEvent): Promise<void>;
19
+ render(): React.JSX.Element;
19
20
  }
@@ -20,12 +20,15 @@ export declare class PageModel extends FlowModel<PageModelStructure> {
20
20
  left?: ReactNode;
21
21
  right?: ReactNode;
22
22
  };
23
+ onMount(): void;
24
+ invokeTabModelLifecycleMethod(tabActiveKey: string, method: 'onActive' | 'onInactive'): void;
23
25
  createPageTabModelOptions: () => CreateModelOptions;
24
26
  mapTabs(): {
25
27
  key: string;
26
28
  label: React.JSX.Element;
27
29
  children: any;
28
30
  }[];
31
+ getFirstTab(): BasePageTabModel;
29
32
  renderFirstTab(): any;
30
33
  handleDragEnd(event: DragEndEvent): Promise<void>;
31
34
  renderTabs(): React.JSX.Element;
@@ -14,9 +14,11 @@ export declare class BasePageTabModel extends FlowModel<{
14
14
  grid: BlockGridModel;
15
15
  };
16
16
  }> {
17
+ onInit(options: any): void;
17
18
  getTabTitle(defaultTitle?: string): any;
18
19
  getTabIcon(): any;
19
20
  renderChildren(): any;
21
+ renderHiddenInConfig(): React.JSX.Element;
20
22
  render(): React.JSX.Element;
21
23
  }
22
24
  export declare class RootPageTabModel extends BasePageTabModel {
@@ -9,6 +9,8 @@
9
9
  import { DragEndEvent } from '@dnd-kit/core';
10
10
  import { PageModel } from './PageModel';
11
11
  export declare class RootPageModel extends PageModel {
12
+ mounted: boolean;
13
+ onMount(): void;
12
14
  saveStepParams(): Promise<void>;
13
15
  handleDragEnd(event: DragEndEvent): Promise<void>;
14
16
  }
@@ -32,5 +32,6 @@ export declare class DetailsBlockModel extends CollectionBlockModel<{
32
32
  handlePageChange: (page: number) => Promise<void>;
33
33
  refresh(): Promise<void>;
34
34
  renderPagination(): React.JSX.Element;
35
+ renderConfigureActions(): React.JSX.Element;
35
36
  renderComponent(): React.JSX.Element;
36
37
  }
@@ -6,8 +6,8 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import { FlowModel, FlowModelContext, ModelRenderMode } from '@nocobase/flow-engine';
9
+ import { FlowModel, FlowModelContext, ModelRenderMode, SubModelItem } from '@nocobase/flow-engine';
10
10
  export declare class DetailsCustomItemModel extends FlowModel {
11
11
  static renderMode: ModelRenderMode;
12
- static defineChildren(ctx: FlowModelContext): any[];
12
+ static defineChildren(ctx: FlowModelContext): Promise<SubModelItem[]> | SubModelItem[];
13
13
  }
@@ -16,6 +16,7 @@ export declare class DetailsGridModel extends GridModel<{
16
16
  items: FieldModel[];
17
17
  };
18
18
  }> {
19
+ itemFallback: React.JSX.Element;
19
20
  itemSettingsMenuLevel: number;
20
21
  itemFlowSettings: {
21
22
  showBackground: boolean;
@@ -16,7 +16,7 @@ import { DetailsGridModel } from './DetailsGridModel';
16
16
  * @param fieldPath 字段路径 (如 "o2m_aa.oho_bb.name")
17
17
  * @param idx Form.List 的索引
18
18
  */
19
- export declare function getValueWithIndex(record: any, fieldPath: string, fieldIndex?: string[]): any;
19
+ export declare function getValueWithIndex(record: any, fieldPath: string, idx?: string[]): any;
20
20
  export declare class DetailsItemModel extends DisplayItemModel<{
21
21
  parent: DetailsGridModel;
22
22
  subModels: {
@@ -49,5 +49,5 @@ export declare class DetailsItemModel extends DisplayItemModel<{
49
49
  };
50
50
  }[];
51
51
  onInit(options: any): void;
52
- render(): React.JSX.Element;
52
+ renderItem(): React.JSX.Element;
53
53
  }
@@ -6,7 +6,7 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import { FlowModelContext } from '@nocobase/flow-engine';
9
+ import { FlowModelContext, type SubModelItem } from '@nocobase/flow-engine';
10
10
  import { DetailsCustomItemModel } from './DetailsCustomItemModel';
11
11
  /**
12
12
  * “JavaScript 字段”菜单入口(详情):
@@ -15,5 +15,5 @@ import { DetailsCustomItemModel } from './DetailsCustomItemModel';
15
15
  * - 点击后创建 DetailsItemModel,并将其 subModels.field 固定为 JSFieldModel。
16
16
  */
17
17
  export declare class DetailsJSFieldItemModel extends DetailsCustomItemModel {
18
- static defineChildren(ctx: FlowModelContext): import("@nocobase/flow-engine").SubModelItem[];
18
+ static defineChildren(ctx: FlowModelContext): Promise<SubModelItem[]>;
19
19
  }
@@ -14,16 +14,20 @@ export declare class FilterFormBlockModel extends FilterBlockModel<{
14
14
  actions?: any[];
15
15
  };
16
16
  }> {
17
+ static scene: import("../../base").BlockSceneType;
17
18
  /**
18
19
  * 是否需要自动触发筛选,当字段值变更时自动执行筛选
19
20
  */
20
21
  autoTriggerFilter: boolean;
22
+ private removeTargetBlockListener?;
21
23
  get form(): any;
22
24
  get title(): string;
23
25
  useHooksBeforeRender(): void;
24
26
  addAppends(): void;
25
27
  onInit(options: any): void;
26
28
  onMount(): void;
29
+ onUnmount(): void;
30
+ private handleTargetBlockRemoved;
27
31
  destroy(): Promise<boolean>;
28
32
  renderComponent(): React.JSX.Element;
29
33
  }
@@ -11,6 +11,7 @@ import React from 'react';
11
11
  import { GridModel } from '../../base';
12
12
  import { FilterFormItemModel } from './FilterFormItemModel';
13
13
  export declare class FilterFormGridModel extends GridModel {
14
+ itemSettingsMenuLevel: number;
14
15
  itemFlowSettings: {
15
16
  showBackground: boolean;
16
17
  style: {
@@ -41,9 +41,6 @@ export declare class FilterFormItemModel extends FilterableItemModel<{
41
41
  };
42
42
  };
43
43
  filterFormItemSettings: {
44
- label: {
45
- label: any;
46
- };
47
44
  init: {
48
45
  filterField: Pick<any, "name" | "title" | "type" | "interface">;
49
46
  defaultTargetUid: string;
@@ -65,9 +62,12 @@ export declare class FilterFormItemModel extends FilterableItemModel<{
65
62
  disabled: boolean;
66
63
  }[];
67
64
  operator: string;
65
+ mounted: boolean;
68
66
  private debouncedDoFilter;
69
67
  get defaultTargetUid(): string;
68
+ private getCurrentOperatorMeta;
70
69
  onInit(options: any): void;
70
+ onMount(): void;
71
71
  onUnmount(): void;
72
72
  doFilter(): void;
73
73
  doReset(): void;
@@ -76,6 +76,7 @@ export declare class FilterFormItemModel extends FilterableItemModel<{
76
76
  * @returns
77
77
  */
78
78
  getFilterValue(): any;
79
+ getDefaultValue(): any;
79
80
  /**
80
81
  * 处理回车事件
81
82
  * 当用户在输入框中按下回车键时触发筛选
@@ -86,5 +87,5 @@ export declare class FilterFormItemModel extends FilterableItemModel<{
86
87
  onKeyDown: any;
87
88
  isRange: boolean;
88
89
  };
89
- render(): React.JSX.Element;
90
+ renderItem(): React.JSX.Element;
90
91
  }
@@ -10,6 +10,6 @@ import type { ButtonProps } from 'antd/es/button';
10
10
  import { FilterFormActionModel } from './FilterFormActionModel';
11
11
  export declare class FilterFormSubmitActionModel extends FilterFormActionModel {
12
12
  defaultProps: ButtonProps;
13
- onMount(): void;
13
+ onInit(options: any): void;
14
14
  onUnmount(): void;
15
15
  }
@@ -9,7 +9,8 @@
9
9
  import React from 'react';
10
10
  import { FilterFormCustomItemModel } from '../FilterFormCustomItemModel';
11
11
  export declare class FilterFormCustomFieldModel extends FilterFormCustomItemModel {
12
- fieldModelInstance: any;
12
+ customFieldModelInstance: any;
13
+ customFieldProps: any;
13
14
  operator: string;
14
15
  private debouncedDoFilter;
15
16
  get defaultTargetUid(): string;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { FilterFormItemModel } from '../../filter-form/FilterFormItemModel';
10
+ export declare const customizeFilterRender: import("@nocobase/flow-engine").ActionDefinition<FilterFormItemModel, import("@nocobase/flow-engine").FlowContext>;
@@ -8,3 +8,5 @@
8
8
  */
9
9
  export * from './connectFields';
10
10
  export * from './defaultOperator';
11
+ export * from './customizeFilterRender';
12
+ export * from './operatorComponentProps';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { FilterFormItemModel } from '../../filter-form/FilterFormItemModel';
10
+ export declare const operatorComponentProps: import("@nocobase/flow-engine").ActionDefinition<FilterFormItemModel, import("@nocobase/flow-engine").FlowContext>;
@@ -15,5 +15,6 @@ export declare class CreateFormModel extends FormBlockModel {
15
15
  private actionExtraToolbarItems;
16
16
  createResource(ctx: any, params: any): SingleRecordResource<unknown>;
17
17
  getAclActionName(): string;
18
+ submit(params?: any): Promise<void>;
18
19
  renderComponent(): React.JSX.Element;
19
20
  }
@@ -18,5 +18,6 @@ export declare class EditFormModel extends FormBlockModel {
18
18
  getCurrentRecord(): any;
19
19
  getAclActionName(): string;
20
20
  handlePageChange: (page: number) => Promise<void>;
21
+ submit(params?: any): Promise<void>;
21
22
  renderComponent(): React.JSX.Element;
22
23
  }
@@ -6,6 +6,7 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
+ import type { PropertyMetaFactory } from '@nocobase/flow-engine';
9
10
  import { FormInstance } from 'antd';
10
11
  import React from 'react';
11
12
  import { BlockGridModel } from '../../base/BlockGridModel';
@@ -31,9 +32,18 @@ export declare class FormBlockModel<T extends DefaultCollectionBlockModelStructu
31
32
  renderConfigureActions(): React.JSX.Element;
32
33
  setFieldsValue(values: any): void;
33
34
  setFieldValue(fieldName: string, value: any): void;
35
+ onDispatchEventStart(eventName: string, options?: any, inputArgs?: Record<string, any>): Promise<void>;
36
+ getStepParams(flowKey: string, stepKey: string): any | undefined;
37
+ getStepParams(flowKey: string): Record<string, any> | undefined;
38
+ getStepParams(): Record<string, any>;
39
+ setStepParams(flowKey: string, stepKey: string, params: any): void;
40
+ setStepParams(flowKey: string, stepParams: Record<string, any>): void;
41
+ setStepParams(allParams: Record<string, any>): void;
42
+ saveStepParams(): Promise<any>;
43
+ protected createFormValuesMetaFactory(): PropertyMetaFactory;
34
44
  useHooksBeforeRender(): void;
35
45
  onInit(options: any): void;
36
- onMount(): void;
46
+ protected onMount(): void;
37
47
  getCurrentRecord(): {};
38
48
  renderComponent(): void;
39
49
  }
@@ -17,6 +17,7 @@ export type DefaultFormGridStructure = {
17
17
  };
18
18
  };
19
19
  export declare class FormGridModel<T extends DefaultFormGridStructure = DefaultFormGridStructure> extends GridModel<T> {
20
+ itemFallback: React.JSX.Element;
20
21
  itemSettingsMenuLevel: number;
21
22
  itemFlowSettings: {
22
23
  showBackground: boolean;
@@ -35,5 +35,5 @@ export declare class FormItemModel<T extends DefaultStructure = DefaultStructure
35
35
  };
36
36
  }[];
37
37
  onInit(options: any): void;
38
- render(): React.JSX.Element;
38
+ renderItem(): React.JSX.Element;
39
39
  }
@@ -14,5 +14,5 @@ import { FlowModel, FlowModelContext } from '@nocobase/flow-engine';
14
14
  * - 点击后创建标准 FormItemModel,并将子字段设置为 JSEditableFieldModel。
15
15
  */
16
16
  export declare class FormJSFieldItemModel extends FlowModel {
17
- static defineChildren(ctx: FlowModelContext): import("@nocobase/flow-engine").SubModelItem[];
17
+ static defineChildren(ctx: FlowModelContext): Promise<import("@nocobase/flow-engine").SubModelItem[]>;
18
18
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export declare function submitHandler(ctx: any, params: any): Promise<void>;
@@ -10,6 +10,7 @@ import React from 'react';
10
10
  import { BlockModel } from '../../base';
11
11
  export declare class JSBlockModel extends BlockModel {
12
12
  private _mountedOnce;
13
+ renderComponent(): React.ReactNode;
13
14
  render(): React.JSX.Element;
14
15
  protected onMount(): void;
15
16
  }
@@ -13,7 +13,6 @@ export declare class JSColumnModel extends TableCustomColumnModel {
13
13
  renderHiddenInConfig(): React.JSX.Element;
14
14
  getInputArgs(): {};
15
15
  getColumnProps(): {
16
- width: number;
17
16
  title: React.JSX.Element;
18
17
  render: (value: any, record: any, index: any) => React.JSX.Element;
19
18
  };
@@ -11,7 +11,6 @@ import { TableCustomColumnModel } from './TableCustomColumnModel';
11
11
  export declare class TableActionsColumnModel extends TableCustomColumnModel {
12
12
  afterAddAsSubModel(): Promise<void>;
13
13
  getColumnProps(): {
14
- width: number;
15
14
  title: React.JSX.Element;
16
15
  render: (value: any, record: any, index: any) => React.JSX.Element;
17
16
  };
@@ -35,7 +35,20 @@ export declare class TableBlockModel extends CollectionBlockModel<TableBlockMode
35
35
  };
36
36
  customModelClasses: CustomTableBlockModelClassesEnum;
37
37
  get resource(): MultiRecordResource<any>;
38
+ private readonly columns;
39
+ private disposeAutorun;
40
+ onMount(): void;
41
+ onUnmount(): void;
38
42
  createResource(ctx: any, params: any): MultiRecordResource<unknown>;
43
+ /**
44
+ * 高亮指定的行
45
+ * @param record - 要高亮的行记录
46
+ */
47
+ highlightRow(record: any): void;
48
+ /**
49
+ * 取消行高亮
50
+ */
51
+ clearHighlight(): void;
39
52
  getColumns(): any[];
40
53
  EditableRow: (props: any) => React.JSX.Element;
41
54
  EditableCell: React.MemoExoticComponent<import("@formily/reactive-react").ReactFC<Omit<any, "ref">>>;
@@ -48,7 +61,7 @@ export declare class TableBlockModel extends CollectionBlockModel<TableBlockMode
48
61
  };
49
62
  };
50
63
  renderCell: (checked: any, record: any, index: any, originNode: any) => any;
51
- renderConfiguireActions(): React.JSX.Element;
64
+ renderConfigureActions(): React.JSX.Element;
52
65
  pagination(): {
53
66
  current: number;
54
67
  pageSize: number;
@@ -9,12 +9,19 @@
9
9
  import { DisplayItemModel, FlowModelContext, ModelRenderMode } from '@nocobase/flow-engine';
10
10
  import { TableColumnProps } from 'antd';
11
11
  import React from 'react';
12
+ export declare function FieldDeletePlaceholder(props: any): React.JSX.Element;
13
+ export declare const CustomWidth: ({ setOpen, t, handleChange, defaultValue }: {
14
+ setOpen: any;
15
+ t: any;
16
+ handleChange: any;
17
+ defaultValue: any;
18
+ }) => React.JSX.Element;
12
19
  export declare class TableColumnModel extends DisplayItemModel {
13
20
  static renderMode: ModelRenderMode;
14
- renderHiddenInConfig(): React.JSX.Element;
15
21
  afterAddAsSubModel(): Promise<void>;
22
+ renderHiddenInConfig(): React.ReactNode | undefined;
16
23
  static defineChildren(ctx: FlowModelContext): any;
17
24
  getColumnProps(): TableColumnProps;
18
25
  onInit(options: any): void;
19
- render(): any;
26
+ renderItem(): any;
20
27
  }
@@ -6,7 +6,7 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import { FlowModelContext } from '@nocobase/flow-engine';
9
+ import { FlowModelContext, type SubModelItem } from '@nocobase/flow-engine';
10
10
  import { TableCustomColumnModel } from './TableCustomColumnModel';
11
11
  /**
12
12
  * “JavaScript 字段”菜单入口(表格):
@@ -15,5 +15,5 @@ import { TableCustomColumnModel } from './TableCustomColumnModel';
15
15
  * - 点击后创建 TableColumnModel,并将其 subModels.field 固定为 JSFieldModel。
16
16
  */
17
17
  export declare class TableJSFieldItemModel extends TableCustomColumnModel {
18
- static defineChildren(ctx: FlowModelContext): import("@nocobase/flow-engine").SubModelItem[];
18
+ static defineChildren(ctx: FlowModelContext): Promise<SubModelItem[]>;
19
19
  }
@@ -8,3 +8,11 @@
8
8
  */
9
9
  export declare function extractIndex(str: any): string;
10
10
  export declare function adjustColumnOrder(columns: any): any[];
11
+ export declare function setNestedValue(data: any, recordIndex: any, value: any): void;
12
+ export declare function extractIds(data: any): any[];
13
+ /**
14
+ * 生成表格行唯一 key
15
+ * @param record 当前行数据
16
+ * @param key string | string[] 单字段或多字段
17
+ */
18
+ export declare function getRowKey(record: any, key: string | string[]): any;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { type FlowModelContext, type SubModelItem } from '@nocobase/flow-engine';
10
+ export interface TransformOptions {
11
+ fieldUseModel: string;
12
+ refreshTargets: string[];
13
+ }
14
+ /**
15
+ * 递归将 SubModelItem 列表中的叶子节点 createModelOptions 重写为指定的 JS 字段模型。
16
+ * - 保留 children 的形态:数组或函数;
17
+ * - 对函数型 children 做一层包裹,确保返回结果继续被转换;
18
+ * - 对已有 createModelOptions(对象或函数)做二次包装并追加 subModels.field.use。
19
+ */
20
+ export declare function transformChildrenToJS(items: SubModelItem[] | false | undefined, options: TransformOptions): SubModelItem[];
21
+ /**
22
+ * 构造“关联字段(JS 化)”分组节点,支持懒加载 children 并在返回时完成 JS 化。
23
+ */
24
+ export declare function buildAssociationJSGroup(ctx: FlowModelContext, provider: (ctx: FlowModelContext) => SubModelItem[] | Promise<SubModelItem[]>, options: TransformOptions & {
25
+ key?: string;
26
+ label?: string;
27
+ searchable?: boolean;
28
+ searchPlaceholder?: string;
29
+ }): SubModelItem;
30
+ export declare function buildFormAssociationChildren(ctx: FlowModelContext): SubModelItem[];
31
+ export interface JSFieldMenuChildrenOptions {
32
+ useModel: string;
33
+ fieldUseModel: string;
34
+ refreshTargets: string[];
35
+ associationPathName?: string;
36
+ /**
37
+ * 仅在需要“关系字段”入口时传入(例如 Table / Details 区块);
38
+ * 表单的 JS field 菜单默认不展示关系字段。
39
+ */
40
+ associationProvider?: (ctx: FlowModelContext) => SubModelItem[] | Promise<SubModelItem[]>;
41
+ }
42
+ export declare function buildJSFieldMenuChildren(ctx: FlowModelContext, opts: JSFieldMenuChildrenOptions): Promise<SubModelItem[]>;
@@ -1,3 +1,4 @@
1
1
  import { FieldModel } from '../../base/FieldModel';
2
2
  export declare class AssociationFieldModel extends FieldModel {
3
+ operator: string;
3
4
  }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { CollectionField, MultiRecordResource } from '@nocobase/flow-engine';
10
+ import React from 'react';
11
+ import { AssociationFieldModel } from './AssociationFieldModel';
12
+ export declare class CascadeSelectInnerFieldModel extends AssociationFieldModel {
13
+ resource: MultiRecordResource;
14
+ get collectionField(): CollectionField;
15
+ onInit(options: any): void;
16
+ set onPopupScroll(fn: any);
17
+ set onDropdownVisibleChange(fn: any);
18
+ set onSearch(fn: any);
19
+ set onLoadData(fn: any);
20
+ setDataSource(dataSource: any): void;
21
+ getDataSource(): any;
22
+ getFilterValue(): any;
23
+ }
24
+ export declare class CascadeSelectFieldModel extends CascadeSelectInnerFieldModel {
25
+ render(): React.JSX.Element;
26
+ }
27
+ export declare class CascadeSelectListFieldModel extends CascadeSelectInnerFieldModel {
28
+ render(): React.JSX.Element;
29
+ }
@@ -18,9 +18,11 @@ export declare class RecordPickerFieldModel extends FieldModel {
18
18
  value: any[];
19
19
  };
20
20
  _closeView: any;
21
+ selectBlockModel: any;
21
22
  get collectionField(): CollectionField;
22
23
  render(): React.JSX.Element;
23
24
  onInit(option: any): void;
25
+ protected onMount(): void;
24
26
  set onClick(fn: any);
25
27
  change(): void;
26
28
  }