@nocobase/client 0.7.1-alpha.7 → 0.7.2-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 (235) hide show
  1. package/es/application/Application.js +0 -4
  2. package/es/block-provider/BlockSchemaComponentProvider.js +3 -0
  3. package/es/block-provider/FormBlockProvider.js +2 -1
  4. package/es/block-provider/FormFieldProvider.d.ts +8 -0
  5. package/es/block-provider/FormFieldProvider.js +89 -0
  6. package/es/block-provider/KanbanBlockProvider.js +117 -3
  7. package/es/block-provider/TableFieldProvider.js +17 -2
  8. package/es/block-provider/TableSelectorProvider.js +38 -6
  9. package/es/block-provider/hooks/index.js +10 -3
  10. package/es/block-provider/index.d.ts +1 -0
  11. package/es/block-provider/index.js +2 -1
  12. package/es/collection-manager/CollectionField.js +5 -1
  13. package/es/collection-manager/CollectionFieldProvider.js +7 -2
  14. package/es/collection-manager/Configuration/AddFieldAction.js +1 -1
  15. package/es/collection-manager/Configuration/EditFieldAction.js +1 -1
  16. package/es/collection-manager/hooks/useCollectionManager.js +20 -5
  17. package/es/collection-manager/interfaces/index.d.ts +2 -1
  18. package/es/collection-manager/interfaces/index.js +3 -2
  19. package/es/collection-manager/interfaces/integer.d.ts +2 -0
  20. package/es/{workflow/nodes/update.js → collection-manager/interfaces/integer.js} +24 -20
  21. package/es/collection-manager/interfaces/linkTo.js +14 -6
  22. package/es/collection-manager/interfaces/m2m.js +12 -5
  23. package/es/collection-manager/interfaces/m2o.js +59 -8
  24. package/es/collection-manager/interfaces/o2m.js +72 -46
  25. package/es/collection-manager/interfaces/o2o.js +100 -39
  26. package/es/collection-manager/interfaces/properties/operators.d.ts +13 -0
  27. package/es/collection-manager/interfaces/properties/operators.js +7 -0
  28. package/es/index.d.ts +0 -1
  29. package/es/index.js +1 -2
  30. package/es/locale/en_US.d.ts +7 -0
  31. package/es/locale/en_US.js +9 -2
  32. package/es/locale/zh_CN.d.ts +10 -1
  33. package/es/locale/zh_CN.js +10 -1
  34. package/es/schema-component/antd/filter/DynamicComponent.js +50 -3
  35. package/es/schema-component/antd/filter/FilterItem.js +6 -0
  36. package/es/schema-component/antd/filter/useFilterActionProps.js +2 -0
  37. package/es/schema-component/antd/form-item/FormItem.js +79 -16
  38. package/es/schema-component/antd/form-v2/FormField.d.ts +1 -0
  39. package/es/schema-component/antd/form-v2/FormField.js +29 -0
  40. package/es/schema-component/antd/form-v2/index.d.ts +1 -0
  41. package/es/schema-component/antd/form-v2/index.js +2 -1
  42. package/es/schema-component/antd/kanban/Kanban.Card.Designer.js +10 -1
  43. package/es/schema-component/antd/record-picker/InputRecordPicker.js +34 -14
  44. package/es/schema-component/antd/record-picker/ReadPrettyRecordPicker.js +34 -11
  45. package/es/schema-component/antd/record-picker/useFieldNames.js +2 -2
  46. package/es/schema-component/antd/select/shared.js +4 -2
  47. package/es/schema-component/antd/table-v2/Table.Column.Decorator.d.ts +1 -1
  48. package/es/schema-component/antd/table-v2/Table.Column.Decorator.js +7 -3
  49. package/es/schema-component/antd/table-v2/Table.Column.Designer.js +7 -2
  50. package/es/schema-component/antd/table-v2/Table.js +4 -2
  51. package/es/schema-component/antd/table-v2/TableField.js +7 -0
  52. package/es/schema-initializer/buttons/TableColumnInitializers.js +26 -12
  53. package/es/schema-initializer/components/assigned-field/AssignedField.js +34 -47
  54. package/es/schema-initializer/utils.d.ts +2 -0
  55. package/es/schema-initializer/utils.js +160 -30
  56. package/es/schema-settings/SchemaSettings.js +6 -3
  57. package/lib/application/Application.js +0 -5
  58. package/lib/block-provider/BlockSchemaComponentProvider.js +4 -0
  59. package/lib/block-provider/FormBlockProvider.js +2 -1
  60. package/lib/block-provider/FormFieldProvider.d.ts +8 -0
  61. package/lib/block-provider/FormFieldProvider.js +120 -0
  62. package/lib/block-provider/KanbanBlockProvider.js +118 -1
  63. package/lib/block-provider/TableFieldProvider.js +19 -2
  64. package/lib/block-provider/TableSelectorProvider.js +39 -5
  65. package/lib/block-provider/hooks/index.js +11 -3
  66. package/lib/block-provider/index.d.ts +1 -0
  67. package/lib/block-provider/index.js +13 -0
  68. package/lib/collection-manager/CollectionField.js +5 -1
  69. package/lib/collection-manager/CollectionFieldProvider.js +9 -3
  70. package/lib/collection-manager/Configuration/AddFieldAction.js +1 -1
  71. package/lib/collection-manager/Configuration/EditFieldAction.js +1 -1
  72. package/lib/collection-manager/hooks/useCollectionManager.js +20 -5
  73. package/lib/collection-manager/interfaces/index.d.ts +2 -1
  74. package/lib/collection-manager/interfaces/index.js +26 -13
  75. package/lib/collection-manager/interfaces/integer.d.ts +2 -0
  76. package/lib/{workflow/nodes/update.js → collection-manager/interfaces/integer.js} +26 -24
  77. package/lib/collection-manager/interfaces/linkTo.js +14 -6
  78. package/lib/collection-manager/interfaces/m2m.js +12 -5
  79. package/lib/collection-manager/interfaces/m2o.js +61 -10
  80. package/lib/collection-manager/interfaces/o2m.js +72 -45
  81. package/lib/collection-manager/interfaces/o2o.js +103 -43
  82. package/lib/collection-manager/interfaces/properties/operators.d.ts +13 -0
  83. package/lib/collection-manager/interfaces/properties/operators.js +7 -0
  84. package/lib/index.d.ts +0 -1
  85. package/lib/index.js +0 -13
  86. package/lib/locale/en_US.d.ts +7 -0
  87. package/lib/locale/en_US.js +9 -2
  88. package/lib/locale/zh_CN.d.ts +10 -1
  89. package/lib/locale/zh_CN.js +10 -1
  90. package/lib/schema-component/antd/filter/DynamicComponent.js +52 -1
  91. package/lib/schema-component/antd/filter/FilterItem.js +7 -0
  92. package/lib/schema-component/antd/filter/useFilterActionProps.js +2 -0
  93. package/lib/schema-component/antd/form-item/FormItem.js +80 -17
  94. package/lib/schema-component/antd/form-v2/FormField.d.ts +1 -0
  95. package/lib/schema-component/antd/form-v2/FormField.js +48 -0
  96. package/lib/schema-component/antd/form-v2/index.d.ts +1 -0
  97. package/lib/schema-component/antd/form-v2/index.js +17 -0
  98. package/lib/schema-component/antd/kanban/Kanban.Card.Designer.js +9 -0
  99. package/lib/schema-component/antd/record-picker/InputRecordPicker.js +33 -13
  100. package/lib/schema-component/antd/record-picker/ReadPrettyRecordPicker.js +32 -9
  101. package/lib/schema-component/antd/record-picker/useFieldNames.js +2 -2
  102. package/lib/schema-component/antd/select/shared.js +4 -2
  103. package/lib/schema-component/antd/table-v2/Table.Column.Decorator.d.ts +1 -1
  104. package/lib/schema-component/antd/table-v2/Table.Column.Decorator.js +6 -2
  105. package/lib/schema-component/antd/table-v2/Table.Column.Designer.js +7 -2
  106. package/lib/schema-component/antd/table-v2/Table.js +4 -2
  107. package/lib/schema-component/antd/table-v2/TableField.js +8 -0
  108. package/lib/schema-initializer/buttons/TableColumnInitializers.js +25 -11
  109. package/lib/schema-initializer/components/assigned-field/AssignedField.js +29 -43
  110. package/lib/schema-initializer/utils.d.ts +2 -0
  111. package/lib/schema-initializer/utils.js +166 -30
  112. package/lib/schema-settings/SchemaSettings.js +5 -2
  113. package/package.json +4 -5
  114. package/es/workflow/ExecutionResourceProvider.d.ts +0 -4
  115. package/es/workflow/ExecutionResourceProvider.js +0 -35
  116. package/es/workflow/WorkflowCanvas.d.ts +0 -15
  117. package/es/workflow/WorkflowCanvas.js +0 -375
  118. package/es/workflow/WorkflowLink.d.ts +0 -1
  119. package/es/workflow/WorkflowLink.js +0 -21
  120. package/es/workflow/WorkflowPage.d.ts +0 -1
  121. package/es/workflow/WorkflowPage.js +0 -43
  122. package/es/workflow/WorkflowRouteProvider.d.ts +0 -1
  123. package/es/workflow/WorkflowRouteProvider.js +0 -30
  124. package/es/workflow/WorkflowShortcut.d.ts +0 -1
  125. package/es/workflow/WorkflowShortcut.js +0 -62
  126. package/es/workflow/calculators.d.ts +0 -101
  127. package/es/workflow/calculators.js +0 -647
  128. package/es/workflow/components/Duration.d.ts +0 -5
  129. package/es/workflow/components/Duration.js +0 -61
  130. package/es/workflow/index.d.ts +0 -5
  131. package/es/workflow/index.js +0 -5
  132. package/es/workflow/nodes/calculation.d.ts +0 -25
  133. package/es/workflow/nodes/calculation.js +0 -47
  134. package/es/workflow/nodes/condition.d.ts +0 -46
  135. package/es/workflow/nodes/condition.js +0 -255
  136. package/es/workflow/nodes/create.d.ts +0 -46
  137. package/es/workflow/nodes/create.js +0 -90
  138. package/es/workflow/nodes/delay.d.ts +0 -35
  139. package/es/workflow/nodes/delay.js +0 -37
  140. package/es/workflow/nodes/destroy.d.ts +0 -55
  141. package/es/workflow/nodes/destroy.js +0 -27
  142. package/es/workflow/nodes/index.d.ts +0 -33
  143. package/es/workflow/nodes/index.js +0 -312
  144. package/es/workflow/nodes/parallel.d.ts +0 -24
  145. package/es/workflow/nodes/parallel.js +0 -132
  146. package/es/workflow/nodes/query.d.ts +0 -70
  147. package/es/workflow/nodes/query.js +0 -98
  148. package/es/workflow/nodes/update.d.ts +0 -60
  149. package/es/workflow/schemas/collection.d.ts +0 -42
  150. package/es/workflow/schemas/collection.js +0 -57
  151. package/es/workflow/schemas/executions.d.ts +0 -209
  152. package/es/workflow/schemas/executions.js +0 -157
  153. package/es/workflow/schemas/workflows.d.ts +0 -2
  154. package/es/workflow/schemas/workflows.js +0 -334
  155. package/es/workflow/style.d.ts +0 -12
  156. package/es/workflow/style.js +0 -17
  157. package/es/workflow/triggers/collection.d.ts +0 -77
  158. package/es/workflow/triggers/collection.js +0 -144
  159. package/es/workflow/triggers/index.d.ts +0 -26
  160. package/es/workflow/triggers/index.js +0 -177
  161. package/es/workflow/triggers/schedule/DateFieldsSelect.d.ts +0 -2
  162. package/es/workflow/triggers/schedule/DateFieldsSelect.js +0 -39
  163. package/es/workflow/triggers/schedule/EndsByField.d.ts +0 -5
  164. package/es/workflow/triggers/schedule/EndsByField.js +0 -57
  165. package/es/workflow/triggers/schedule/OnField.d.ts +0 -5
  166. package/es/workflow/triggers/schedule/OnField.js +0 -87
  167. package/es/workflow/triggers/schedule/RepeatField.d.ts +0 -5
  168. package/es/workflow/triggers/schedule/RepeatField.js +0 -131
  169. package/es/workflow/triggers/schedule/ScheduleConfig.d.ts +0 -1
  170. package/es/workflow/triggers/schedule/ScheduleConfig.js +0 -225
  171. package/es/workflow/triggers/schedule/index.d.ts +0 -25
  172. package/es/workflow/triggers/schedule/index.js +0 -77
  173. package/es/workflow/triggers/schedule/locale/Cron.zh-CN.d.ts +0 -34
  174. package/es/workflow/triggers/schedule/locale/Cron.zh-CN.js +0 -37
  175. package/lib/workflow/ExecutionResourceProvider.d.ts +0 -4
  176. package/lib/workflow/ExecutionResourceProvider.js +0 -48
  177. package/lib/workflow/WorkflowCanvas.d.ts +0 -15
  178. package/lib/workflow/WorkflowCanvas.js +0 -408
  179. package/lib/workflow/WorkflowLink.d.ts +0 -1
  180. package/lib/workflow/WorkflowLink.js +0 -36
  181. package/lib/workflow/WorkflowPage.d.ts +0 -1
  182. package/lib/workflow/WorkflowPage.js +0 -60
  183. package/lib/workflow/WorkflowRouteProvider.d.ts +0 -1
  184. package/lib/workflow/WorkflowRouteProvider.js +0 -47
  185. package/lib/workflow/WorkflowShortcut.d.ts +0 -1
  186. package/lib/workflow/WorkflowShortcut.js +0 -87
  187. package/lib/workflow/calculators.d.ts +0 -101
  188. package/lib/workflow/calculators.js +0 -688
  189. package/lib/workflow/components/Duration.d.ts +0 -5
  190. package/lib/workflow/components/Duration.js +0 -74
  191. package/lib/workflow/index.d.ts +0 -5
  192. package/lib/workflow/index.js +0 -70
  193. package/lib/workflow/nodes/calculation.d.ts +0 -25
  194. package/lib/workflow/nodes/calculation.js +0 -61
  195. package/lib/workflow/nodes/condition.d.ts +0 -46
  196. package/lib/workflow/nodes/condition.js +0 -275
  197. package/lib/workflow/nodes/create.d.ts +0 -46
  198. package/lib/workflow/nodes/create.js +0 -107
  199. package/lib/workflow/nodes/delay.d.ts +0 -35
  200. package/lib/workflow/nodes/delay.js +0 -48
  201. package/lib/workflow/nodes/destroy.d.ts +0 -55
  202. package/lib/workflow/nodes/destroy.js +0 -38
  203. package/lib/workflow/nodes/index.d.ts +0 -33
  204. package/lib/workflow/nodes/index.js +0 -357
  205. package/lib/workflow/nodes/parallel.d.ts +0 -24
  206. package/lib/workflow/nodes/parallel.js +0 -155
  207. package/lib/workflow/nodes/query.d.ts +0 -70
  208. package/lib/workflow/nodes/query.js +0 -115
  209. package/lib/workflow/nodes/update.d.ts +0 -60
  210. package/lib/workflow/schemas/collection.d.ts +0 -42
  211. package/lib/workflow/schemas/collection.js +0 -70
  212. package/lib/workflow/schemas/executions.d.ts +0 -209
  213. package/lib/workflow/schemas/executions.js +0 -164
  214. package/lib/workflow/schemas/workflows.d.ts +0 -2
  215. package/lib/workflow/schemas/workflows.js +0 -344
  216. package/lib/workflow/style.d.ts +0 -12
  217. package/lib/workflow/style.js +0 -37
  218. package/lib/workflow/triggers/collection.d.ts +0 -77
  219. package/lib/workflow/triggers/collection.js +0 -164
  220. package/lib/workflow/triggers/index.d.ts +0 -26
  221. package/lib/workflow/triggers/index.js +0 -201
  222. package/lib/workflow/triggers/schedule/DateFieldsSelect.d.ts +0 -2
  223. package/lib/workflow/triggers/schedule/DateFieldsSelect.js +0 -54
  224. package/lib/workflow/triggers/schedule/EndsByField.d.ts +0 -5
  225. package/lib/workflow/triggers/schedule/EndsByField.js +0 -73
  226. package/lib/workflow/triggers/schedule/OnField.d.ts +0 -5
  227. package/lib/workflow/triggers/schedule/OnField.js +0 -105
  228. package/lib/workflow/triggers/schedule/RepeatField.d.ts +0 -5
  229. package/lib/workflow/triggers/schedule/RepeatField.js +0 -146
  230. package/lib/workflow/triggers/schedule/ScheduleConfig.d.ts +0 -1
  231. package/lib/workflow/triggers/schedule/ScheduleConfig.js +0 -250
  232. package/lib/workflow/triggers/schedule/index.d.ts +0 -25
  233. package/lib/workflow/triggers/schedule/index.js +0 -94
  234. package/lib/workflow/triggers/schedule/locale/Cron.zh-CN.d.ts +0 -34
  235. package/lib/workflow/triggers/schedule/locale/Cron.zh-CN.js +0 -44
@@ -50,7 +50,6 @@ import { SchemaInitializerProvider } from '../schema-initializer';
50
50
  import { BlockTemplateDetails, BlockTemplatePage, SchemaTemplateShortcut } from '../schema-templates';
51
51
  import { SystemSettingsProvider, SystemSettingsShortcut } from '../system-settings';
52
52
  import { SigninPage, SignupPage } from '../user';
53
- import { WorkflowPage, WorkflowRouteProvider, WorkflowShortcut } from '../workflow';
54
53
  import { compose } from './compose';
55
54
  export var Application = /*#__PURE__*/function () {
56
55
  function Application(options) {
@@ -86,7 +85,6 @@ export var Application = /*#__PURE__*/function () {
86
85
  RouteSchemaComponent: RouteSchemaComponent,
87
86
  SigninPage: SigninPage,
88
87
  SignupPage: SignupPage,
89
- WorkflowPage: WorkflowPage,
90
88
  BlockTemplatePage: BlockTemplatePage,
91
89
  BlockTemplateDetails: BlockTemplateDetails
92
90
  }
@@ -97,7 +95,6 @@ export var Application = /*#__PURE__*/function () {
97
95
  ACLShortcut: ACLShortcut,
98
96
  DesignableSwitch: DesignableSwitch,
99
97
  CollectionManagerShortcut: CollectionManagerShortcut,
100
- WorkflowShortcut: WorkflowShortcut,
101
98
  SystemSettingsShortcut: SystemSettingsShortcut,
102
99
  SchemaTemplateShortcut: SchemaTemplateShortcut,
103
100
  FileStorageShortcut: FileStorageShortcut
@@ -118,7 +115,6 @@ export var Application = /*#__PURE__*/function () {
118
115
  this.use(AntdSchemaComponentProvider);
119
116
  this.use(ACLProvider);
120
117
  this.use(RemoteDocumentTitleProvider);
121
- this.use(WorkflowRouteProvider);
122
118
 
123
119
  var _iterator = _createForOfIteratorHelper(options.plugins),
124
120
  _step;
@@ -15,6 +15,7 @@ import { KanbanBlockProvider, useKanbanBlockProps } from './KanbanBlockProvider'
15
15
  import { TableBlockProvider, useTableBlockProps } from './TableBlockProvider';
16
16
  import { TableFieldProvider, useTableFieldProps } from './TableFieldProvider';
17
17
  import { TableSelectorProvider, useTableSelectorProps } from './TableSelectorProvider';
18
+ import { FormFieldProvider, useFormFieldProps } from './FormFieldProvider';
18
19
  export var BlockSchemaComponentProvider = function BlockSchemaComponentProvider(props) {
19
20
  return /*#__PURE__*/React.createElement(SchemaComponentOptions, {
20
21
  components: {
@@ -23,6 +24,7 @@ export var BlockSchemaComponentProvider = function BlockSchemaComponentProvider(
23
24
  TableBlockProvider: TableBlockProvider,
24
25
  TableSelectorProvider: TableSelectorProvider,
25
26
  FormBlockProvider: FormBlockProvider,
27
+ FormFieldProvider: FormFieldProvider,
26
28
  DetailsBlockProvider: DetailsBlockProvider,
27
29
  KanbanBlockProvider: KanbanBlockProvider,
28
30
  RecordLink: RecordLink
@@ -33,6 +35,7 @@ export var BlockSchemaComponentProvider = function BlockSchemaComponentProvider(
33
35
  useParamsFromRecord: useParamsFromRecord,
34
36
  useCalendarBlockProps: useCalendarBlockProps,
35
37
  useFormBlockProps: useFormBlockProps,
38
+ useFormFieldProps: useFormFieldProps,
36
39
  useDetailsBlockProps: useDetailsBlockProps,
37
40
  useTableFieldProps: useTableFieldProps,
38
41
  useTableBlockProps: useTableBlockProps,
@@ -35,7 +35,8 @@ var InternalFormBlockProvider = function InternalFormBlockProvider(props) {
35
35
  form: form,
36
36
  field: field,
37
37
  service: service,
38
- resource: resource
38
+ resource: resource,
39
+ updateAssociationValues: []
39
40
  }
40
41
  }, props.children);
41
42
  };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export declare const FormFieldContext: React.Context<any>;
3
+ export declare const WithoutFormFieldResource: React.Context<any>;
4
+ export declare const FormFieldProvider: (props: any) => JSX.Element;
5
+ export declare const useFormFieldContext: () => any;
6
+ export declare const useFormFieldProps: () => {
7
+ form: any;
8
+ };
@@ -0,0 +1,89 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ import { createForm, onFormValuesChange } from '@formily/core';
8
+ import { useField } from '@formily/react';
9
+ import { Spin } from 'antd';
10
+ import React, { createContext, useContext, useEffect, useMemo } from 'react';
11
+ import { RecordProvider } from '../record-provider';
12
+ import { BlockProvider, useBlockRequestContext } from './BlockProvider';
13
+ import { useFormBlockContext } from './FormBlockProvider';
14
+ export var FormFieldContext = /*#__PURE__*/createContext({});
15
+
16
+ var InternalFormFieldProvider = function InternalFormFieldProvider(props) {
17
+ var _formBlockCtx$updateA, _service$data;
18
+
19
+ var action = props.action,
20
+ readPretty = props.readPretty,
21
+ fieldName = props.fieldName;
22
+ var formBlockCtx = useFormBlockContext();
23
+
24
+ if (!(formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$updateA = formBlockCtx.updateAssociationValues) === null || _formBlockCtx$updateA === void 0 ? void 0 : _formBlockCtx$updateA.includes(fieldName))) {
25
+ var _formBlockCtx$updateA2;
26
+
27
+ formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$updateA2 = formBlockCtx.updateAssociationValues) === null || _formBlockCtx$updateA2 === void 0 ? void 0 : _formBlockCtx$updateA2.push(fieldName);
28
+ }
29
+
30
+ var field = useField();
31
+ var form = useMemo(function () {
32
+ return createForm({
33
+ effects: function effects() {
34
+ onFormValuesChange(function (form) {
35
+ var _formBlockCtx$form;
36
+
37
+ formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$form = formBlockCtx.form) === null || _formBlockCtx$form === void 0 ? void 0 : _formBlockCtx$form.setValuesIn(fieldName, form.values);
38
+ });
39
+ },
40
+ readPretty: readPretty
41
+ });
42
+ }, []);
43
+
44
+ var _useBlockRequestConte = useBlockRequestContext(),
45
+ resource = _useBlockRequestConte.resource,
46
+ service = _useBlockRequestConte.service;
47
+
48
+ if (service.loading) {
49
+ return /*#__PURE__*/React.createElement(Spin, null);
50
+ }
51
+
52
+ console.log('InternalFormFieldProvider', fieldName);
53
+ return /*#__PURE__*/React.createElement(RecordProvider, {
54
+ record: service === null || service === void 0 ? void 0 : (_service$data = service.data) === null || _service$data === void 0 ? void 0 : _service$data.data
55
+ }, /*#__PURE__*/React.createElement(FormFieldContext.Provider, {
56
+ value: {
57
+ action: action,
58
+ form: form,
59
+ field: field,
60
+ service: service,
61
+ resource: resource,
62
+ fieldName: fieldName
63
+ }
64
+ }, props.children));
65
+ };
66
+
67
+ export var WithoutFormFieldResource = /*#__PURE__*/createContext(null);
68
+ export var FormFieldProvider = function FormFieldProvider(props) {
69
+ console.log('FormFieldProvider', props);
70
+ return /*#__PURE__*/React.createElement(WithoutFormFieldResource.Provider, {
71
+ value: false
72
+ }, /*#__PURE__*/React.createElement(BlockProvider, _objectSpread({
73
+ block: 'FormField'
74
+ }, props), /*#__PURE__*/React.createElement(InternalFormFieldProvider, _objectSpread({}, props))));
75
+ };
76
+ export var useFormFieldContext = function useFormFieldContext() {
77
+ return useContext(FormFieldContext);
78
+ };
79
+ export var useFormFieldProps = function useFormFieldProps() {
80
+ var ctx = useFormFieldContext();
81
+ useEffect(function () {
82
+ var _ctx$form, _ctx$service, _ctx$service$data;
83
+
84
+ ctx === null || ctx === void 0 ? void 0 : (_ctx$form = ctx.form) === null || _ctx$form === void 0 ? void 0 : _ctx$form.setInitialValues((_ctx$service = ctx.service) === null || _ctx$service === void 0 ? void 0 : (_ctx$service$data = _ctx$service.data) === null || _ctx$service$data === void 0 ? void 0 : _ctx$service$data.data);
85
+ }, []);
86
+ return {
87
+ form: ctx.form
88
+ };
89
+ };
@@ -8,11 +8,26 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
8
8
 
9
9
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
10
 
11
- import { useField } from '@formily/react';
11
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
12
+
13
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
+
15
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+
17
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
+
19
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
20
+
21
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
22
+
23
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24
+
25
+ import { Schema, useField, useFieldSchema } from '@formily/react';
12
26
  import { Spin } from 'antd';
27
+ import uniq from 'lodash/uniq';
13
28
  import React, { createContext, useContext, useEffect } from 'react';
14
29
  import { useACLRoleContext } from '../acl';
15
- import { useCollection } from '../collection-manager';
30
+ import { useCollection, useCollectionManager } from '../collection-manager';
16
31
  import { toColumns } from '../schema-component/antd/kanban/Kanban';
17
32
  import { BlockProvider, useBlockRequestContext } from './BlockProvider';
18
33
  export var KanbanBlockContext = /*#__PURE__*/createContext({});
@@ -63,8 +78,107 @@ var InternalKanbanBlockProvider = function InternalKanbanBlockProvider(props) {
63
78
  }, props.children);
64
79
  };
65
80
 
81
+ var recursiveProperties = function recursiveProperties(schema) {
82
+ var component = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'CollectionField';
83
+ var associationFields = arguments.length > 2 ? arguments[2] : undefined;
84
+ var appends = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
85
+ schema.mapProperties(function (s) {
86
+ var name = s.name.toString();
87
+
88
+ if (s['x-component'] === component && !appends.includes(name)) {
89
+ // 关联字段和关联的关联字段
90
+ var _name$split = name.split('.'),
91
+ _name$split2 = _slicedToArray(_name$split, 1),
92
+ firstName = _name$split2[0];
93
+
94
+ if (associationFields.has(name)) {
95
+ appends.push(name);
96
+ } else if (associationFields.has(firstName) && !appends.includes(firstName)) {
97
+ appends.push(firstName);
98
+ }
99
+ } else {
100
+ recursiveProperties(s, component, associationFields, appends);
101
+ }
102
+ });
103
+ };
104
+
105
+ var useAssociationNames = function useAssociationNames(collection) {
106
+ var _kanbanSchema$propert, _kanbanSchema$propert2, _kanbanSchema$propert3;
107
+
108
+ var _useCollectionManager = useCollectionManager(),
109
+ getCollectionFields = _useCollectionManager.getCollectionFields;
110
+
111
+ var collectionFields = getCollectionFields(collection);
112
+ var associationFields = new Set();
113
+
114
+ var _iterator = _createForOfIteratorHelper(collectionFields),
115
+ _step;
116
+
117
+ try {
118
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
119
+ var collectionField = _step.value;
120
+
121
+ if (collectionField.target) {
122
+ associationFields.add(collectionField.name);
123
+ var fields = getCollectionFields(collectionField.target);
124
+
125
+ var _iterator2 = _createForOfIteratorHelper(fields),
126
+ _step2;
127
+
128
+ try {
129
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
130
+ var field = _step2.value;
131
+
132
+ if (field.target) {
133
+ associationFields.add("".concat(collectionField.name, ".").concat(field.name));
134
+ }
135
+ }
136
+ } catch (err) {
137
+ _iterator2.e(err);
138
+ } finally {
139
+ _iterator2.f();
140
+ }
141
+ }
142
+ }
143
+ } catch (err) {
144
+ _iterator.e(err);
145
+ } finally {
146
+ _iterator.f();
147
+ }
148
+
149
+ var fieldSchema = useFieldSchema();
150
+ var kanbanSchema = fieldSchema.reduceProperties(function (buf, schema) {
151
+ if (schema['x-component'].startsWith('Kanban')) {
152
+ return schema;
153
+ }
154
+
155
+ return buf;
156
+ }, new Schema({}));
157
+ var gridSchema = kanbanSchema === null || kanbanSchema === void 0 ? void 0 : (_kanbanSchema$propert = kanbanSchema.properties) === null || _kanbanSchema$propert === void 0 ? void 0 : (_kanbanSchema$propert2 = _kanbanSchema$propert.card) === null || _kanbanSchema$propert2 === void 0 ? void 0 : (_kanbanSchema$propert3 = _kanbanSchema$propert2.properties) === null || _kanbanSchema$propert3 === void 0 ? void 0 : _kanbanSchema$propert3.grid;
158
+ var appends = [];
159
+
160
+ if (gridSchema) {
161
+ recursiveProperties(gridSchema, 'CollectionField', associationFields, appends);
162
+ }
163
+
164
+ return uniq(appends);
165
+ };
166
+
66
167
  export var KanbanBlockProvider = function KanbanBlockProvider(props) {
67
- return /*#__PURE__*/React.createElement(BlockProvider, _objectSpread({}, props), /*#__PURE__*/React.createElement(InternalKanbanBlockProvider, _objectSpread({}, props)));
168
+ var params = _objectSpread({}, props.params);
169
+
170
+ var appends = useAssociationNames(props.collection);
171
+ console.log('KanbanBlockProvider', appends);
172
+
173
+ if (!Object.keys(params).includes('appends')) {
174
+ params['appends'] = appends;
175
+ }
176
+
177
+ return /*#__PURE__*/React.createElement(BlockProvider, _objectSpread(_objectSpread({}, props), {}, {
178
+ params: params
179
+ }), /*#__PURE__*/React.createElement(InternalKanbanBlockProvider, _objectSpread(_objectSpread({}, props), {}, {
180
+ params: params
181
+ })));
68
182
  };
69
183
  export var useKanbanBlockContext = function useKanbanBlockContext() {
70
184
  return useContext(KanbanBlockContext);
@@ -17,18 +17,33 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
17
17
  import { useField } from '@formily/react';
18
18
  import React, { createContext, useContext, useEffect } from 'react';
19
19
  import { BlockProvider, useBlockRequestContext } from './BlockProvider';
20
+ import { useFormBlockContext } from './FormBlockProvider';
21
+ import { useFormFieldContext } from './FormFieldProvider';
20
22
  export var TableFieldContext = /*#__PURE__*/createContext({});
21
23
 
22
24
  var InternalTableFieldProvider = function InternalTableFieldProvider(props) {
25
+ var _formBlockCtx$updateA;
26
+
23
27
  var _props$params = props.params,
24
28
  params = _props$params === void 0 ? {} : _props$params,
25
29
  showIndex = props.showIndex,
26
- dragSort = props.dragSort;
30
+ dragSort = props.dragSort,
31
+ fieldName = props.fieldName;
27
32
  var field = useField();
28
33
 
29
34
  var _useBlockRequestConte = useBlockRequestContext(),
30
35
  resource = _useBlockRequestConte.resource,
31
- service = _useBlockRequestConte.service; // if (service.loading) {
36
+ service = _useBlockRequestConte.service;
37
+
38
+ var formBlockCtx = useFormBlockContext();
39
+ var formFieldCtx = useFormFieldContext();
40
+ var fullFieldName = formFieldCtx && formFieldCtx.fieldName ? "".concat(formFieldCtx.fieldName, ".").concat(fieldName) : fieldName;
41
+
42
+ if (!(formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$updateA = formBlockCtx.updateAssociationValues) === null || _formBlockCtx$updateA === void 0 ? void 0 : _formBlockCtx$updateA.includes(fullFieldName))) {
43
+ var _formBlockCtx$updateA2;
44
+
45
+ formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$updateA2 = formBlockCtx.updateAssociationValues) === null || _formBlockCtx$updateA2 === void 0 ? void 0 : _formBlockCtx$updateA2.push(fullFieldName);
46
+ } // if (service.loading) {
32
47
  // return <Spin />;
33
48
  // }
34
49
 
@@ -8,10 +8,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
8
8
 
9
9
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
10
 
11
- import { useField } from '@formily/react';
11
+ import { useField, useFieldSchema } from '@formily/react';
12
12
  import React, { createContext, useContext, useEffect } from 'react';
13
13
  import { useCollectionManager } from '../collection-manager';
14
+ import { useRecord } from '../record-provider';
14
15
  import { BlockProvider, useBlockRequestContext } from './BlockProvider';
16
+ import { useFormBlockContext } from './FormBlockProvider';
15
17
  export var TableSelectorContext = /*#__PURE__*/createContext({});
16
18
 
17
19
  var InternalTableSelectorProvider = function InternalTableSelectorProvider(props) {
@@ -51,7 +53,23 @@ var useAssociationNames = function useAssociationNames(collection) {
51
53
  return names;
52
54
  };
53
55
 
56
+ var recursiveParent = function recursiveParent(schema, component) {
57
+ return schema['x-component'] === component ? schema : schema.parent ? recursiveParent(schema.parent, component) : null;
58
+ };
59
+
54
60
  export var TableSelectorProvider = function TableSelectorProvider(props) {
61
+ var fieldSchema = useFieldSchema();
62
+ var ctx = useFormBlockContext();
63
+
64
+ var _useCollectionManager2 = useCollectionManager(),
65
+ getCollectionJoinField = _useCollectionManager2.getCollectionJoinField;
66
+
67
+ var record = useRecord();
68
+ var collectionFieldSchema = recursiveParent(fieldSchema, 'CollectionField'); // const value = ctx.form.query(collectionFieldSchema?.name).value();
69
+
70
+ var collectionField = getCollectionJoinField(collectionFieldSchema === null || collectionFieldSchema === void 0 ? void 0 : collectionFieldSchema['x-collection-field']);
71
+ console.log('TableSelectorProvider', collectionFieldSchema, collectionField, record);
72
+
55
73
  var params = _objectSpread({}, props.params);
56
74
 
57
75
  var appends = useAssociationNames(props.collection);
@@ -64,6 +82,20 @@ export var TableSelectorProvider = function TableSelectorProvider(props) {
64
82
  params['appends'] = appends;
65
83
  }
66
84
 
85
+ if (collectionField) {
86
+ if (['oho', 'o2m'].includes(collectionField.interface)) {
87
+ params['filter'] = {
88
+ $or: [_defineProperty({}, collectionField.foreignKey, {
89
+ $is: null
90
+ }), _defineProperty({}, collectionField.foreignKey, {
91
+ $eq: record === null || record === void 0 ? void 0 : record[collectionField.sourceKey]
92
+ })]
93
+ };
94
+ }
95
+
96
+ if (['obo'].includes(collectionField.interface)) {}
97
+ }
98
+
67
99
  return /*#__PURE__*/React.createElement(BlockProvider, _objectSpread(_objectSpread({}, props), {}, {
68
100
  params: params
69
101
  }), /*#__PURE__*/React.createElement(InternalTableSelectorProvider, _objectSpread(_objectSpread({}, props), {}, {
@@ -108,14 +140,14 @@ export var useTableSelectorProps = function useTableSelectorProps() {
108
140
  ctx.field.data = (ctx === null || ctx === void 0 ? void 0 : (_ctx$field2 = ctx.field) === null || _ctx$field2 === void 0 ? void 0 : _ctx$field2.data) || {};
109
141
  ctx.field.data.selectedRowKeys = selectedRowKeys;
110
142
  },
111
- onRowDragEnd: function onRowDragEnd(_ref) {
143
+ onRowDragEnd: function onRowDragEnd(_ref3) {
112
144
  return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
113
145
  var from, to;
114
146
  return regeneratorRuntime.wrap(function _callee$(_context) {
115
147
  while (1) {
116
148
  switch (_context.prev = _context.next) {
117
149
  case 0:
118
- from = _ref.from, to = _ref.to;
150
+ from = _ref3.from, to = _ref3.to;
119
151
  _context.next = 3;
120
152
  return ctx.resource.move({
121
153
  sourceId: from[ctx.rowKey || 'id'],
@@ -133,11 +165,11 @@ export var useTableSelectorProps = function useTableSelectorProps() {
133
165
  }, _callee);
134
166
  }))();
135
167
  },
136
- onChange: function onChange(_ref2) {
168
+ onChange: function onChange(_ref4) {
137
169
  var _ctx$service$params;
138
170
 
139
- var current = _ref2.current,
140
- pageSize = _ref2.pageSize;
171
+ var current = _ref4.current,
172
+ pageSize = _ref4.pageSize;
141
173
  ctx.service.run(_objectSpread(_objectSpread({}, (_ctx$service$params = ctx.service.params) === null || _ctx$service$params === void 0 ? void 0 : _ctx$service$params[0]), {}, {
142
174
  page: current,
143
175
  pageSize: pageSize
@@ -16,6 +16,7 @@ import { message, Modal } from 'antd';
16
16
  import get from 'lodash/get';
17
17
  import { useTranslation } from 'react-i18next';
18
18
  import { useHistory } from 'react-router-dom';
19
+ import { useFormBlockContext } from '../..';
19
20
  import { useAPIClient } from '../../api-client';
20
21
  import { useCollection } from '../../collection-manager';
21
22
  import { useRecord } from '../../record-provider';
@@ -63,7 +64,7 @@ var filterValue = function filterValue(value) {
63
64
 
64
65
  if (Array.isArray(value)) {
65
66
  return value.map(function (v) {
66
- return filterValue(value);
67
+ return filterValue(v);
67
68
  });
68
69
  }
69
70
 
@@ -96,7 +97,7 @@ function getFormValues(filterByTk, field, form, fieldNames, getField, resource)
96
97
  continue;
97
98
  }
98
99
 
99
- if (['subTable', 'o2m'].includes(collectionField.interface)) {
100
+ if (['subTable', 'o2m', 'o2o', 'oho', 'obo', 'm2o'].includes(collectionField.interface)) {
100
101
  values[key] = form.values[key];
101
102
  continue;
102
103
  }
@@ -556,6 +557,7 @@ export var useUpdateActionProps = function useUpdateActionProps() {
556
557
 
557
558
  var actionSchema = useFieldSchema();
558
559
  var history = useHistory();
560
+ var record = useRecord();
559
561
 
560
562
  var _useCollection3 = useCollection(),
561
563
  fields = _useCollection3.fields,
@@ -563,6 +565,10 @@ export var useUpdateActionProps = function useUpdateActionProps() {
563
565
 
564
566
  var compile = useCompile();
565
567
  var actionField = useField();
568
+
569
+ var _useFormBlockContext = useFormBlockContext(),
570
+ updateAssociationValues = _useFormBlockContext.updateAssociationValues;
571
+
566
572
  return {
567
573
  onClick: function onClick() {
568
574
  return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
@@ -595,7 +601,8 @@ export var useUpdateActionProps = function useUpdateActionProps() {
595
601
  _context8.next = 11;
596
602
  return resource.update({
597
603
  filterByTk: filterByTk,
598
- values: _objectSpread(_objectSpread(_objectSpread({}, values), overwriteValues), assignedValues)
604
+ values: _objectSpread(_objectSpread(_objectSpread({}, values), overwriteValues), assignedValues),
605
+ updateAssociationValues: updateAssociationValues
599
606
  });
600
607
 
601
608
  case 11:
@@ -6,3 +6,4 @@ export * from './KanbanBlockProvider';
6
6
  export * from './TableBlockProvider';
7
7
  export * from './TableFieldProvider';
8
8
  export * from './TableSelectorProvider';
9
+ export * from './FormFieldProvider';
@@ -5,4 +5,5 @@ export * from './FormBlockProvider';
5
5
  export * from './KanbanBlockProvider';
6
6
  export * from './TableBlockProvider';
7
7
  export * from './TableFieldProvider';
8
- export * from './TableSelectorProvider';
8
+ export * from './TableSelectorProvider';
9
+ export * from './FormFieldProvider';
@@ -87,9 +87,13 @@ var InternalField = function InternalField(props) {
87
87
  };
88
88
 
89
89
  export var CollectionField = connect(function (props) {
90
+ var _fieldSchema$xCompon;
91
+
90
92
  var fieldSchema = useFieldSchema();
93
+ var field = fieldSchema === null || fieldSchema === void 0 ? void 0 : (_fieldSchema$xCompon = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon === void 0 ? void 0 : _fieldSchema$xCompon['field'];
91
94
  return /*#__PURE__*/React.createElement(CollectionFieldProvider, {
92
- name: fieldSchema.name
95
+ name: fieldSchema.name,
96
+ field: field
93
97
  }, /*#__PURE__*/React.createElement(InternalField, _objectSpread({}, props)));
94
98
  });
95
99
  export default CollectionField;
@@ -1,15 +1,20 @@
1
+ import { useFieldSchema } from '@formily/react';
1
2
  import React from 'react';
2
3
  import { CollectionFieldContext } from './context';
3
- import { useCollection } from './hooks';
4
+ import { useCollection, useCollectionManager } from './hooks';
4
5
  export var CollectionFieldProvider = function CollectionFieldProvider(props) {
5
6
  var name = props.name,
6
7
  field = props.field,
7
8
  children = props.children;
9
+ var fieldSchema = useFieldSchema();
8
10
 
9
11
  var _useCollection = useCollection(),
10
12
  getField = _useCollection.getField;
11
13
 
12
- var value = field || getField((field === null || field === void 0 ? void 0 : field.name) || name);
14
+ var _useCollectionManager = useCollectionManager(),
15
+ getCollectionJoinField = _useCollectionManager.getCollectionJoinField;
16
+
17
+ var value = field || getField((field === null || field === void 0 ? void 0 : field.name) || name) || getCollectionJoinField(fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema['x-collection-field']);
13
18
 
14
19
  if (!value) {
15
20
  return null;
@@ -65,7 +65,7 @@ var getSchema = function getSchema(schema, record, compile) {
65
65
  }, options);
66
66
  }
67
67
  },
68
- title: "".concat(record.title, " - ").concat(compile('{{ t("Add field") }}')),
68
+ title: "".concat(compile(record.title), " - ").concat(compile('{{ t("Add field") }}')),
69
69
  properties: _objectSpread(_objectSpread({
70
70
  summary: {
71
71
  type: 'void',
@@ -57,7 +57,7 @@ var getSchema = function getSchema(schema, record, compile) {
57
57
  }, options);
58
58
  }
59
59
  },
60
- title: "".concat((_record$__parent = record.__parent) === null || _record$__parent === void 0 ? void 0 : _record$__parent.title, " - ").concat(compile('{{ t("Edit field") }}')),
60
+ title: "".concat(compile((_record$__parent = record.__parent) === null || _record$__parent === void 0 ? void 0 : _record$__parent.title), " - ").concat(compile('{{ t("Edit field") }}')),
61
61
  properties: _objectSpread(_objectSpread({
62
62
  summary: {
63
63
  type: 'void',
@@ -78,6 +78,10 @@ export var useCollectionManager = function useCollectionManager() {
78
78
  },
79
79
  getCollectionField: getCollectionField,
80
80
  getCollectionJoinField: function getCollectionJoinField(name) {
81
+ if (!name) {
82
+ return;
83
+ }
84
+
81
85
  var _name$split3 = name.split('.'),
82
86
  _name$split4 = _toArray(_name$split3),
83
87
  collectionName = _name$split4[0],
@@ -88,11 +92,22 @@ export var useCollectionManager = function useCollectionManager() {
88
92
  }
89
93
 
90
94
  var cName = collectionName;
91
- return fieldNames.reduce(function (result, curFieldName) {
92
- var collectionField = getCollectionField("".concat(cName, ".").concat(curFieldName));
93
- cName = collectionField.target;
94
- return collectionField;
95
- }, null);
95
+ var collectionField;
96
+
97
+ while (cName && fieldNames.length > 0) {
98
+ var _collectionField;
99
+
100
+ var fileName = fieldNames.shift();
101
+ collectionField = getCollectionField("".concat(cName, ".").concat(fileName));
102
+
103
+ if ((_collectionField = collectionField) === null || _collectionField === void 0 ? void 0 : _collectionField.target) {
104
+ cName = collectionField.target;
105
+ } else {
106
+ cName = null;
107
+ }
108
+ }
109
+
110
+ return collectionField;
96
111
  },
97
112
  getInterface: function getInterface(name) {
98
113
  return interfaces[name] ? clone(interfaces[name]) : null;
@@ -6,9 +6,11 @@ export * from './createdAt';
6
6
  export * from './createdBy';
7
7
  export * from './datetime';
8
8
  export * from './email';
9
+ export * from './formula';
9
10
  export * from './icon';
10
11
  export * from './id';
11
12
  export * from './input';
13
+ export * from './integer';
12
14
  export * from './linkTo';
13
15
  export * from './m2m';
14
16
  export * from './m2o';
@@ -28,4 +30,3 @@ export * from './textarea';
28
30
  export * from './time';
29
31
  export * from './updatedAt';
30
32
  export * from './updatedBy';
31
- export * from './formula';
@@ -6,9 +6,11 @@ export * from './createdAt';
6
6
  export * from './createdBy';
7
7
  export * from './datetime';
8
8
  export * from './email';
9
+ export * from './formula';
9
10
  export * from './icon';
10
11
  export * from './id';
11
12
  export * from './input';
13
+ export * from './integer';
12
14
  export * from './linkTo';
13
15
  export * from './m2m';
14
16
  export * from './m2o';
@@ -27,5 +29,4 @@ export * from './subTable';
27
29
  export * from './textarea';
28
30
  export * from './time';
29
31
  export * from './updatedAt';
30
- export * from './updatedBy';
31
- export * from './formula';
32
+ export * from './updatedBy';
@@ -0,0 +1,2 @@
1
+ import { IField } from './types';
2
+ export declare const integer: IField;