@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
@@ -54,7 +54,8 @@ var InternalFormBlockProvider = function InternalFormBlockProvider(props) {
54
54
  form: form,
55
55
  field: field,
56
56
  service: service,
57
- resource: resource
57
+ resource: resource,
58
+ updateAssociationValues: []
58
59
  }
59
60
  }, props.children);
60
61
  };
@@ -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,120 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useFormFieldProps = exports.useFormFieldContext = exports.WithoutFormFieldResource = exports.FormFieldProvider = exports.FormFieldContext = void 0;
9
+
10
+ var _core = require("@formily/core");
11
+
12
+ var _react = require("@formily/react");
13
+
14
+ var _antd = require("antd");
15
+
16
+ var _react2 = _interopRequireWildcard(require("react"));
17
+
18
+ var _recordProvider = require("../record-provider");
19
+
20
+ var _BlockProvider = require("./BlockProvider");
21
+
22
+ var _FormBlockProvider = require("./FormBlockProvider");
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ var FormFieldContext = /*#__PURE__*/(0, _react2.createContext)({});
35
+ exports.FormFieldContext = FormFieldContext;
36
+
37
+ var InternalFormFieldProvider = function InternalFormFieldProvider(props) {
38
+ var _formBlockCtx$updateA, _service$data;
39
+
40
+ var action = props.action,
41
+ readPretty = props.readPretty,
42
+ fieldName = props.fieldName;
43
+ var formBlockCtx = (0, _FormBlockProvider.useFormBlockContext)();
44
+
45
+ if (!(formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$updateA = formBlockCtx.updateAssociationValues) === null || _formBlockCtx$updateA === void 0 ? void 0 : _formBlockCtx$updateA.includes(fieldName))) {
46
+ var _formBlockCtx$updateA2;
47
+
48
+ formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$updateA2 = formBlockCtx.updateAssociationValues) === null || _formBlockCtx$updateA2 === void 0 ? void 0 : _formBlockCtx$updateA2.push(fieldName);
49
+ }
50
+
51
+ var field = (0, _react.useField)();
52
+ var form = (0, _react2.useMemo)(function () {
53
+ return (0, _core.createForm)({
54
+ effects: function effects() {
55
+ (0, _core.onFormValuesChange)(function (form) {
56
+ var _formBlockCtx$form;
57
+
58
+ formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$form = formBlockCtx.form) === null || _formBlockCtx$form === void 0 ? void 0 : _formBlockCtx$form.setValuesIn(fieldName, form.values);
59
+ });
60
+ },
61
+ readPretty: readPretty
62
+ });
63
+ }, []);
64
+
65
+ var _useBlockRequestConte = (0, _BlockProvider.useBlockRequestContext)(),
66
+ resource = _useBlockRequestConte.resource,
67
+ service = _useBlockRequestConte.service;
68
+
69
+ if (service.loading) {
70
+ return /*#__PURE__*/_react2.default.createElement(_antd.Spin, null);
71
+ }
72
+
73
+ console.log('InternalFormFieldProvider', fieldName);
74
+ return /*#__PURE__*/_react2.default.createElement(_recordProvider.RecordProvider, {
75
+ record: service === null || service === void 0 ? void 0 : (_service$data = service.data) === null || _service$data === void 0 ? void 0 : _service$data.data
76
+ }, /*#__PURE__*/_react2.default.createElement(FormFieldContext.Provider, {
77
+ value: {
78
+ action: action,
79
+ form: form,
80
+ field: field,
81
+ service: service,
82
+ resource: resource,
83
+ fieldName: fieldName
84
+ }
85
+ }, props.children));
86
+ };
87
+
88
+ var WithoutFormFieldResource = /*#__PURE__*/(0, _react2.createContext)(null);
89
+ exports.WithoutFormFieldResource = WithoutFormFieldResource;
90
+
91
+ var FormFieldProvider = function FormFieldProvider(props) {
92
+ console.log('FormFieldProvider', props);
93
+ return /*#__PURE__*/_react2.default.createElement(WithoutFormFieldResource.Provider, {
94
+ value: false
95
+ }, /*#__PURE__*/_react2.default.createElement(_BlockProvider.BlockProvider, _objectSpread({
96
+ block: 'FormField'
97
+ }, props), /*#__PURE__*/_react2.default.createElement(InternalFormFieldProvider, _objectSpread({}, props))));
98
+ };
99
+
100
+ exports.FormFieldProvider = FormFieldProvider;
101
+
102
+ var useFormFieldContext = function useFormFieldContext() {
103
+ return (0, _react2.useContext)(FormFieldContext);
104
+ };
105
+
106
+ exports.useFormFieldContext = useFormFieldContext;
107
+
108
+ var useFormFieldProps = function useFormFieldProps() {
109
+ var ctx = useFormFieldContext();
110
+ (0, _react2.useEffect)(function () {
111
+ var _ctx$form, _ctx$service, _ctx$service$data;
112
+
113
+ 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);
114
+ }, []);
115
+ return {
116
+ form: ctx.form
117
+ };
118
+ };
119
+
120
+ exports.useFormFieldProps = useFormFieldProps;
@@ -11,6 +11,8 @@ var _react = require("@formily/react");
11
11
 
12
12
  var _antd = require("antd");
13
13
 
14
+ var _uniq = _interopRequireDefault(require("lodash/uniq"));
15
+
14
16
  var _react2 = _interopRequireWildcard(require("react"));
15
17
 
16
18
  var _acl = require("../acl");
@@ -25,6 +27,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
27
 
26
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
29
 
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+
28
32
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
29
33
 
30
34
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -35,6 +39,20 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
35
39
 
36
40
  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; }
37
41
 
42
+ 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; } } }; }
43
+
44
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
+
46
+ 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."); }
47
+
48
+ 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); }
49
+
50
+ 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; }
51
+
52
+ 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; }
53
+
54
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
+
38
56
  var KanbanBlockContext = /*#__PURE__*/(0, _react2.createContext)({});
39
57
  exports.KanbanBlockContext = KanbanBlockContext;
40
58
 
@@ -84,8 +102,107 @@ var InternalKanbanBlockProvider = function InternalKanbanBlockProvider(props) {
84
102
  }, props.children);
85
103
  };
86
104
 
105
+ var recursiveProperties = function recursiveProperties(schema) {
106
+ var component = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'CollectionField';
107
+ var associationFields = arguments.length > 2 ? arguments[2] : undefined;
108
+ var appends = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
109
+ schema.mapProperties(function (s) {
110
+ var name = s.name.toString();
111
+
112
+ if (s['x-component'] === component && !appends.includes(name)) {
113
+ // 关联字段和关联的关联字段
114
+ var _name$split = name.split('.'),
115
+ _name$split2 = _slicedToArray(_name$split, 1),
116
+ firstName = _name$split2[0];
117
+
118
+ if (associationFields.has(name)) {
119
+ appends.push(name);
120
+ } else if (associationFields.has(firstName) && !appends.includes(firstName)) {
121
+ appends.push(firstName);
122
+ }
123
+ } else {
124
+ recursiveProperties(s, component, associationFields, appends);
125
+ }
126
+ });
127
+ };
128
+
129
+ var useAssociationNames = function useAssociationNames(collection) {
130
+ var _kanbanSchema$propert, _kanbanSchema$propert2, _kanbanSchema$propert3;
131
+
132
+ var _useCollectionManager = (0, _collectionManager.useCollectionManager)(),
133
+ getCollectionFields = _useCollectionManager.getCollectionFields;
134
+
135
+ var collectionFields = getCollectionFields(collection);
136
+ var associationFields = new Set();
137
+
138
+ var _iterator = _createForOfIteratorHelper(collectionFields),
139
+ _step;
140
+
141
+ try {
142
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
143
+ var collectionField = _step.value;
144
+
145
+ if (collectionField.target) {
146
+ associationFields.add(collectionField.name);
147
+ var fields = getCollectionFields(collectionField.target);
148
+
149
+ var _iterator2 = _createForOfIteratorHelper(fields),
150
+ _step2;
151
+
152
+ try {
153
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
154
+ var field = _step2.value;
155
+
156
+ if (field.target) {
157
+ associationFields.add("".concat(collectionField.name, ".").concat(field.name));
158
+ }
159
+ }
160
+ } catch (err) {
161
+ _iterator2.e(err);
162
+ } finally {
163
+ _iterator2.f();
164
+ }
165
+ }
166
+ }
167
+ } catch (err) {
168
+ _iterator.e(err);
169
+ } finally {
170
+ _iterator.f();
171
+ }
172
+
173
+ var fieldSchema = (0, _react.useFieldSchema)();
174
+ var kanbanSchema = fieldSchema.reduceProperties(function (buf, schema) {
175
+ if (schema['x-component'].startsWith('Kanban')) {
176
+ return schema;
177
+ }
178
+
179
+ return buf;
180
+ }, new _react.Schema({}));
181
+ 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;
182
+ var appends = [];
183
+
184
+ if (gridSchema) {
185
+ recursiveProperties(gridSchema, 'CollectionField', associationFields, appends);
186
+ }
187
+
188
+ return (0, _uniq.default)(appends);
189
+ };
190
+
87
191
  var KanbanBlockProvider = function KanbanBlockProvider(props) {
88
- return /*#__PURE__*/_react2.default.createElement(_BlockProvider.BlockProvider, _objectSpread({}, props), /*#__PURE__*/_react2.default.createElement(InternalKanbanBlockProvider, _objectSpread({}, props)));
192
+ var params = _objectSpread({}, props.params);
193
+
194
+ var appends = useAssociationNames(props.collection);
195
+ console.log('KanbanBlockProvider', appends);
196
+
197
+ if (!Object.keys(params).includes('appends')) {
198
+ params['appends'] = appends;
199
+ }
200
+
201
+ return /*#__PURE__*/_react2.default.createElement(_BlockProvider.BlockProvider, _objectSpread(_objectSpread({}, props), {}, {
202
+ params: params
203
+ }), /*#__PURE__*/_react2.default.createElement(InternalKanbanBlockProvider, _objectSpread(_objectSpread({}, props), {}, {
204
+ params: params
205
+ })));
89
206
  };
90
207
 
91
208
  exports.KanbanBlockProvider = KanbanBlockProvider;
@@ -13,6 +13,10 @@ var _react2 = _interopRequireWildcard(require("react"));
13
13
 
14
14
  var _BlockProvider = require("./BlockProvider");
15
15
 
16
+ var _FormBlockProvider = require("./FormBlockProvider");
17
+
18
+ var _FormFieldProvider = require("./FormFieldProvider");
19
+
16
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
21
 
18
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -37,15 +41,28 @@ var TableFieldContext = /*#__PURE__*/(0, _react2.createContext)({});
37
41
  exports.TableFieldContext = TableFieldContext;
38
42
 
39
43
  var InternalTableFieldProvider = function InternalTableFieldProvider(props) {
44
+ var _formBlockCtx$updateA;
45
+
40
46
  var _props$params = props.params,
41
47
  params = _props$params === void 0 ? {} : _props$params,
42
48
  showIndex = props.showIndex,
43
- dragSort = props.dragSort;
49
+ dragSort = props.dragSort,
50
+ fieldName = props.fieldName;
44
51
  var field = (0, _react.useField)();
45
52
 
46
53
  var _useBlockRequestConte = (0, _BlockProvider.useBlockRequestContext)(),
47
54
  resource = _useBlockRequestConte.resource,
48
- service = _useBlockRequestConte.service; // if (service.loading) {
55
+ service = _useBlockRequestConte.service;
56
+
57
+ var formBlockCtx = (0, _FormBlockProvider.useFormBlockContext)();
58
+ var formFieldCtx = (0, _FormFieldProvider.useFormFieldContext)();
59
+ var fullFieldName = formFieldCtx && formFieldCtx.fieldName ? "".concat(formFieldCtx.fieldName, ".").concat(fieldName) : fieldName;
60
+
61
+ if (!(formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$updateA = formBlockCtx.updateAssociationValues) === null || _formBlockCtx$updateA === void 0 ? void 0 : _formBlockCtx$updateA.includes(fullFieldName))) {
62
+ var _formBlockCtx$updateA2;
63
+
64
+ formBlockCtx === null || formBlockCtx === void 0 ? void 0 : (_formBlockCtx$updateA2 = formBlockCtx.updateAssociationValues) === null || _formBlockCtx$updateA2 === void 0 ? void 0 : _formBlockCtx$updateA2.push(fullFieldName);
65
+ } // if (service.loading) {
49
66
  // return <Spin />;
50
67
  // }
51
68
 
@@ -13,8 +13,12 @@ var _react2 = _interopRequireWildcard(require("react"));
13
13
 
14
14
  var _collectionManager = require("../collection-manager");
15
15
 
16
+ var _recordProvider = require("../record-provider");
17
+
16
18
  var _BlockProvider = require("./BlockProvider");
17
19
 
20
+ var _FormBlockProvider = require("./FormBlockProvider");
21
+
18
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
23
 
20
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -69,7 +73,23 @@ var useAssociationNames = function useAssociationNames(collection) {
69
73
  return names;
70
74
  };
71
75
 
76
+ var recursiveParent = function recursiveParent(schema, component) {
77
+ return schema['x-component'] === component ? schema : schema.parent ? recursiveParent(schema.parent, component) : null;
78
+ };
79
+
72
80
  var TableSelectorProvider = function TableSelectorProvider(props) {
81
+ var fieldSchema = (0, _react.useFieldSchema)();
82
+ var ctx = (0, _FormBlockProvider.useFormBlockContext)();
83
+
84
+ var _useCollectionManager2 = (0, _collectionManager.useCollectionManager)(),
85
+ getCollectionJoinField = _useCollectionManager2.getCollectionJoinField;
86
+
87
+ var record = (0, _recordProvider.useRecord)();
88
+ var collectionFieldSchema = recursiveParent(fieldSchema, 'CollectionField'); // const value = ctx.form.query(collectionFieldSchema?.name).value();
89
+
90
+ var collectionField = getCollectionJoinField(collectionFieldSchema === null || collectionFieldSchema === void 0 ? void 0 : collectionFieldSchema['x-collection-field']);
91
+ console.log('TableSelectorProvider', collectionFieldSchema, collectionField, record);
92
+
73
93
  var params = _objectSpread({}, props.params);
74
94
 
75
95
  var appends = useAssociationNames(props.collection);
@@ -82,6 +102,20 @@ var TableSelectorProvider = function TableSelectorProvider(props) {
82
102
  params['appends'] = appends;
83
103
  }
84
104
 
105
+ if (collectionField) {
106
+ if (['oho', 'o2m'].includes(collectionField.interface)) {
107
+ params['filter'] = {
108
+ $or: [_defineProperty({}, collectionField.foreignKey, {
109
+ $is: null
110
+ }), _defineProperty({}, collectionField.foreignKey, {
111
+ $eq: record === null || record === void 0 ? void 0 : record[collectionField.sourceKey]
112
+ })]
113
+ };
114
+ }
115
+
116
+ if (['obo'].includes(collectionField.interface)) {}
117
+ }
118
+
85
119
  return /*#__PURE__*/_react2.default.createElement(_BlockProvider.BlockProvider, _objectSpread(_objectSpread({}, props), {}, {
86
120
  params: params
87
121
  }), /*#__PURE__*/_react2.default.createElement(InternalTableSelectorProvider, _objectSpread(_objectSpread({}, props), {}, {
@@ -132,14 +166,14 @@ var useTableSelectorProps = function useTableSelectorProps() {
132
166
  ctx.field.data = (ctx === null || ctx === void 0 ? void 0 : (_ctx$field2 = ctx.field) === null || _ctx$field2 === void 0 ? void 0 : _ctx$field2.data) || {};
133
167
  ctx.field.data.selectedRowKeys = selectedRowKeys;
134
168
  },
135
- onRowDragEnd: function onRowDragEnd(_ref) {
169
+ onRowDragEnd: function onRowDragEnd(_ref3) {
136
170
  return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
137
171
  var from, to;
138
172
  return regeneratorRuntime.wrap(function _callee$(_context) {
139
173
  while (1) {
140
174
  switch (_context.prev = _context.next) {
141
175
  case 0:
142
- from = _ref.from, to = _ref.to;
176
+ from = _ref3.from, to = _ref3.to;
143
177
  _context.next = 3;
144
178
  return ctx.resource.move({
145
179
  sourceId: from[ctx.rowKey || 'id'],
@@ -157,11 +191,11 @@ var useTableSelectorProps = function useTableSelectorProps() {
157
191
  }, _callee);
158
192
  }))();
159
193
  },
160
- onChange: function onChange(_ref2) {
194
+ onChange: function onChange(_ref4) {
161
195
  var _ctx$service$params;
162
196
 
163
- var current = _ref2.current,
164
- pageSize = _ref2.pageSize;
197
+ var current = _ref4.current,
198
+ pageSize = _ref4.pageSize;
165
199
  ctx.service.run(_objectSpread(_objectSpread({}, (_ctx$service$params = ctx.service.params) === null || _ctx$service$params === void 0 ? void 0 : _ctx$service$params[0]), {}, {
166
200
  page: current,
167
201
  pageSize: pageSize
@@ -17,6 +17,8 @@ var _reactI18next = require("react-i18next");
17
17
 
18
18
  var _reactRouterDom = require("react-router-dom");
19
19
 
20
+ var _2 = require("../..");
21
+
20
22
  var _apiClient = require("../../api-client");
21
23
 
22
24
  var _collectionManager = require("../../collection-manager");
@@ -88,7 +90,7 @@ var filterValue = function filterValue(value) {
88
90
 
89
91
  if (Array.isArray(value)) {
90
92
  return value.map(function (v) {
91
- return filterValue(value);
93
+ return filterValue(v);
92
94
  });
93
95
  }
94
96
 
@@ -121,7 +123,7 @@ function getFormValues(filterByTk, field, form, fieldNames, getField, resource)
121
123
  continue;
122
124
  }
123
125
 
124
- if (['subTable', 'o2m'].includes(collectionField.interface)) {
126
+ if (['subTable', 'o2m', 'o2o', 'oho', 'obo', 'm2o'].includes(collectionField.interface)) {
125
127
  values[key] = form.values[key];
126
128
  continue;
127
129
  }
@@ -590,6 +592,7 @@ var useUpdateActionProps = function useUpdateActionProps() {
590
592
 
591
593
  var actionSchema = (0, _react.useFieldSchema)();
592
594
  var history = (0, _reactRouterDom.useHistory)();
595
+ var record = (0, _recordProvider.useRecord)();
593
596
 
594
597
  var _useCollection3 = (0, _collectionManager.useCollection)(),
595
598
  fields = _useCollection3.fields,
@@ -597,6 +600,10 @@ var useUpdateActionProps = function useUpdateActionProps() {
597
600
 
598
601
  var compile = (0, _schemaComponent.useCompile)();
599
602
  var actionField = (0, _react.useField)();
603
+
604
+ var _useFormBlockContext = (0, _2.useFormBlockContext)(),
605
+ updateAssociationValues = _useFormBlockContext.updateAssociationValues;
606
+
600
607
  return {
601
608
  onClick: function onClick() {
602
609
  return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
@@ -629,7 +636,8 @@ var useUpdateActionProps = function useUpdateActionProps() {
629
636
  _context8.next = 11;
630
637
  return resource.update({
631
638
  filterByTk: filterByTk,
632
- values: _objectSpread(_objectSpread(_objectSpread({}, values), overwriteValues), assignedValues)
639
+ values: _objectSpread(_objectSpread(_objectSpread({}, values), overwriteValues), assignedValues),
640
+ updateAssociationValues: updateAssociationValues
633
641
  });
634
642
 
635
643
  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';
@@ -106,4 +106,17 @@ Object.keys(_TableSelectorProvider).forEach(function (key) {
106
106
  return _TableSelectorProvider[key];
107
107
  }
108
108
  });
109
+ });
110
+
111
+ var _FormFieldProvider = require("./FormFieldProvider");
112
+
113
+ Object.keys(_FormFieldProvider).forEach(function (key) {
114
+ if (key === "default" || key === "__esModule") return;
115
+ if (key in exports && exports[key] === _FormFieldProvider[key]) return;
116
+ Object.defineProperty(exports, key, {
117
+ enumerable: true,
118
+ get: function get() {
119
+ return _FormFieldProvider[key];
120
+ }
121
+ });
109
122
  });
@@ -106,9 +106,13 @@ var InternalField = function InternalField(props) {
106
106
  };
107
107
 
108
108
  var CollectionField = (0, _react.connect)(function (props) {
109
+ var _fieldSchema$xCompon;
110
+
109
111
  var fieldSchema = (0, _react.useFieldSchema)();
112
+ 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'];
110
113
  return /*#__PURE__*/_react2.default.createElement(_CollectionFieldProvider.CollectionFieldProvider, {
111
- name: fieldSchema.name
114
+ name: fieldSchema.name,
115
+ field: field
112
116
  }, /*#__PURE__*/_react2.default.createElement(InternalField, _objectSpread({}, props)));
113
117
  });
114
118
  exports.CollectionField = CollectionField;
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.CollectionFieldProvider = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = require("@formily/react");
9
+
10
+ var _react2 = _interopRequireDefault(require("react"));
9
11
 
10
12
  var _context = require("./context");
11
13
 
@@ -17,17 +19,21 @@ var CollectionFieldProvider = function CollectionFieldProvider(props) {
17
19
  var name = props.name,
18
20
  field = props.field,
19
21
  children = props.children;
22
+ var fieldSchema = (0, _react.useFieldSchema)();
20
23
 
21
24
  var _useCollection = (0, _hooks.useCollection)(),
22
25
  getField = _useCollection.getField;
23
26
 
24
- var value = field || getField((field === null || field === void 0 ? void 0 : field.name) || name);
27
+ var _useCollectionManager = (0, _hooks.useCollectionManager)(),
28
+ getCollectionJoinField = _useCollectionManager.getCollectionJoinField;
29
+
30
+ 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']);
25
31
 
26
32
  if (!value) {
27
33
  return null;
28
34
  }
29
35
 
30
- return /*#__PURE__*/_react.default.createElement(_context.CollectionFieldContext.Provider, {
36
+ return /*#__PURE__*/_react2.default.createElement(_context.CollectionFieldContext.Provider, {
31
37
  value: value
32
38
  }, children);
33
39
  };
@@ -92,7 +92,7 @@ var getSchema = function getSchema(schema, record, compile) {
92
92
  }, options);
93
93
  }
94
94
  },
95
- title: "".concat(record.title, " - ").concat(compile('{{ t("Add field") }}')),
95
+ title: "".concat(compile(record.title), " - ").concat(compile('{{ t("Add field") }}')),
96
96
  properties: _objectSpread(_objectSpread({
97
97
  summary: {
98
98
  type: 'void',
@@ -83,7 +83,7 @@ var getSchema = function getSchema(schema, record, compile) {
83
83
  }, options);
84
84
  }
85
85
  },
86
- title: "".concat((_record$__parent = record.__parent) === null || _record$__parent === void 0 ? void 0 : _record$__parent.title, " - ").concat(compile('{{ t("Edit field") }}')),
86
+ title: "".concat(compile((_record$__parent = record.__parent) === null || _record$__parent === void 0 ? void 0 : _record$__parent.title), " - ").concat(compile('{{ t("Edit field") }}')),
87
87
  properties: _objectSpread(_objectSpread({
88
88
  summary: {
89
89
  type: 'void',
@@ -88,6 +88,10 @@ var useCollectionManager = function useCollectionManager() {
88
88
  },
89
89
  getCollectionField: getCollectionField,
90
90
  getCollectionJoinField: function getCollectionJoinField(name) {
91
+ if (!name) {
92
+ return;
93
+ }
94
+
91
95
  var _name$split3 = name.split('.'),
92
96
  _name$split4 = _toArray(_name$split3),
93
97
  collectionName = _name$split4[0],
@@ -98,11 +102,22 @@ var useCollectionManager = function useCollectionManager() {
98
102
  }
99
103
 
100
104
  var cName = collectionName;
101
- return fieldNames.reduce(function (result, curFieldName) {
102
- var collectionField = getCollectionField("".concat(cName, ".").concat(curFieldName));
103
- cName = collectionField.target;
104
- return collectionField;
105
- }, null);
105
+ var collectionField;
106
+
107
+ while (cName && fieldNames.length > 0) {
108
+ var _collectionField;
109
+
110
+ var fileName = fieldNames.shift();
111
+ collectionField = getCollectionField("".concat(cName, ".").concat(fileName));
112
+
113
+ if ((_collectionField = collectionField) === null || _collectionField === void 0 ? void 0 : _collectionField.target) {
114
+ cName = collectionField.target;
115
+ } else {
116
+ cName = null;
117
+ }
118
+ }
119
+
120
+ return collectionField;
106
121
  },
107
122
  getInterface: function getInterface(name) {
108
123
  return interfaces[name] ? (0, _shared.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';