@nocobase/client 0.7.1-alpha.5 → 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
@@ -120,6 +120,7 @@ export default {
120
120
  "Phone": "手机号码",
121
121
  "Email": "电子邮箱",
122
122
  "Number": "数字",
123
+ "Integer": "整数",
123
124
  "Percent": "百分比",
124
125
  "Password": "密码",
125
126
  "Formula": "公式",
@@ -173,7 +174,11 @@ export default {
173
174
  "Many to one description": "用于创建多对一关系,比如一个城市只能属于一个国家,一个国家可以有多个城市。作为字段存在时,它是一个下拉选择用于选择目标数据表的数据。创建后,会在目标数据表里自动生成一个多对一字段。",
174
175
  "Many to many description": "用于创建多对多关系,比如一个学生会有多个老师,一个老师也会有多个学生。作为字段存在时,它是一个下拉选择用于选择目标数据表的数据。",
175
176
  "Generated automatically if left blank": "留空时,自动生成中间表",
176
- "References fields of associated table": "引用关联表的字段",
177
+ "Display association fields": "显示关联表的字段",
178
+ "Field component": "字段组件",
179
+ "Subtable": "子表格",
180
+ "Subform": "子表单",
181
+ "Record picker": "数据选择器",
177
182
  "Toggles the subfield mode": "切换子字段模式",
178
183
  "Selector mode": "选择器模式",
179
184
  "Subtable mode": "子表格模式",
@@ -189,6 +194,7 @@ export default {
189
194
  "Add filter group": "添加筛选分组",
190
195
  "is": "等于",
191
196
  "is not": "不等于",
197
+ "is variable": "为动态变量",
192
198
  "contains": "包含",
193
199
  "does not contain": "不包含",
194
200
  "starts with": "开头是",
@@ -501,10 +507,13 @@ export default {
501
507
  'Branch into "Yes" and "No"': '“是”和“否”分别继续',
502
508
  'Conditions': '条件配置',
503
509
  'Parallel branch': '分支',
510
+ 'Add branch': '增加分支',
504
511
  'All succeeded': '全部成功',
505
512
  'Any succeeded': '任意成功',
513
+ 'Any succeeded or failed': '任意成功或失败',
506
514
  'Continue after all branches succeeded': '全部分支都成功后才能继续',
507
515
  'Continue after any branch succeeded': '任意分支成功后就继续',
516
+ 'Continue after any branch succeeded, or exit after any branch failed': '任意分支成功继续,或失败后退出',
508
517
  'Delay': '延时',
509
518
  'Duration': '时长',
510
519
  'End Status': '到时状态',
@@ -1,16 +1,60 @@
1
+ var _templateObject;
2
+
1
3
  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
4
 
3
5
  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
6
 
5
7
  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
8
 
9
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
10
+
11
+ import { css } from '@emotion/css';
7
12
  import { createForm, onFieldValueChange } from '@formily/core';
8
- import { FieldContext, FormContext } from '@formily/react';
13
+ import { connect, FieldContext, FormContext } from '@formily/react';
9
14
  import { merge } from '@formily/shared';
15
+ import { Cascader } from 'antd';
10
16
  import React, { useContext, useMemo } from 'react';
11
17
  import { SchemaComponent } from '../../core';
12
- import { useComponent } from '../../hooks';
18
+ import { useCompile, useComponent } from '../../hooks';
13
19
  import { FilterContext } from './context';
20
+ import { useFilterOptions } from './useFilterActionProps';
21
+ var VariableCascader = connect(function (props) {
22
+ var fields = useFilterOptions('users');
23
+ var compile = useCompile();
24
+ var value = props.value,
25
+ _onChange = props.onChange;
26
+ return /*#__PURE__*/React.createElement(Cascader, {
27
+ className: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 160px;\n "]))),
28
+ value: value ? value.split('.') : [],
29
+ fieldNames: {
30
+ label: 'title',
31
+ value: 'name',
32
+ children: 'children'
33
+ },
34
+ onChange: function onChange(value) {
35
+ _onChange(value ? value.join('.') : null);
36
+ },
37
+ options: compile([{
38
+ title: '{{t("Current user")}}',
39
+ name: 'currentUser',
40
+ children: fields.filter(function (field) {
41
+ if (!field.target) {
42
+ return true;
43
+ }
44
+
45
+ return field.type === 'belongsTo';
46
+ }).map(function (field) {
47
+ if (field.children) {
48
+ field.children = field.children.filter(function (child) {
49
+ return !child.target;
50
+ });
51
+ }
52
+
53
+ return field;
54
+ })
55
+ }])
56
+ });
57
+ });
14
58
  export var DynamicComponent = function DynamicComponent(props) {
15
59
  var _useContext = useContext(FilterContext),
16
60
  dynamicComponent = _useContext.dynamicComponent;
@@ -49,7 +93,10 @@ export var DynamicComponent = function DynamicComponent(props) {
49
93
  'x-read-pretty': false,
50
94
  'x-validator': undefined,
51
95
  'x-decorator': undefined
52
- })
96
+ }),
97
+ components: {
98
+ VariableCascader: VariableCascader
99
+ }
53
100
  }));
54
101
  };
55
102
 
@@ -1,4 +1,9 @@
1
+ var _templateObject;
2
+
3
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
4
+
1
5
  import { CloseCircleOutlined } from '@ant-design/icons';
6
+ import { css } from '@emotion/css';
2
7
  import { observer } from '@formily/react';
3
8
  import { Cascader, Select, Space } from 'antd';
4
9
  import React, { useContext } from 'react';
@@ -30,6 +35,7 @@ export var FilterItem = observer(function (props) {
30
35
  marginBottom: 8
31
36
  }
32
37
  }, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Cascader, {
38
+ className: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 160px;\n "]))),
33
39
  fieldNames: {
34
40
  label: 'title',
35
41
  value: 'name',
@@ -56,6 +56,8 @@ export var useFilterOptions = function useFilterOptions(collectionName) {
56
56
  operators = _fieldInterface$filte.operators;
57
57
  var option = {
58
58
  name: field.name,
59
+ type: field.type,
60
+ target: field.target,
59
61
  title: (field === null || field === void 0 ? void 0 : (_field$uiSchema = field.uiSchema) === null || _field$uiSchema === void 0 ? void 0 : _field$uiSchema.title) || field.name,
60
62
  schema: field === null || field === void 0 ? void 0 : field.uiSchema,
61
63
  operators: (operators === null || operators === void 0 ? void 0 : (_operators$filter = operators.filter) === null || _operators$filter === void 0 ? void 0 : _operators$filter.call(operators, function (operator) {
@@ -11,14 +11,24 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
11
11
  import { css } from '@emotion/css';
12
12
  import { FormItem as Item } from '@formily/antd';
13
13
  import { useField, useFieldSchema } from '@formily/react';
14
+ import { uid } from '@formily/shared';
14
15
  import React from 'react';
15
16
  import { useTranslation } from 'react-i18next';
16
17
  import { useCompile, useDesignable } from '../..';
17
- import { useFormBlockContext } from '../../../block-provider';
18
+ import { useFilterByTk, useFormBlockContext } from '../../../block-provider';
18
19
  import { useCollection, useCollectionManager } from '../../../collection-manager';
19
20
  import { GeneralSchemaDesigner, SchemaSettings } from '../../../schema-settings';
20
21
  import { BlockItem } from '../block-item';
21
22
  import { HTMLEncode } from '../input/shared';
23
+
24
+ var divWrap = function divWrap(schema) {
25
+ return {
26
+ type: 'void',
27
+ 'x-component': 'div',
28
+ properties: _defineProperty({}, schema.name || uid(), schema)
29
+ };
30
+ };
31
+
22
32
  export var FormItem = function FormItem(props) {
23
33
  var field = useField();
24
34
  return /*#__PURE__*/React.createElement(BlockItem, {
@@ -34,15 +44,20 @@ export var FormItem = function FormItem(props) {
34
44
  })));
35
45
  };
36
46
 
37
- FormItem.Designer = function () {
47
+ FormItem.Designer = function (props) {
38
48
  var _collectionField$uiSc, _collectionField$uiSc2, _fieldSchema$xDecora, _field$componentProps, _field$componentProps2;
39
49
 
40
50
  var _useCollectionManager = useCollectionManager(),
41
- getCollectionFields = _useCollectionManager.getCollectionFields;
51
+ getCollectionFields = _useCollectionManager.getCollectionFields,
52
+ getCollection = _useCollectionManager.getCollection,
53
+ getInterface = _useCollectionManager.getInterface,
54
+ getCollectionJoinField = _useCollectionManager.getCollectionJoinField;
42
55
 
43
56
  var _useCollection = useCollection(),
44
57
  getField = _useCollection.getField;
45
58
 
59
+ var tk = useFilterByTk();
60
+
46
61
  var _useFormBlockContext = useFormBlockContext(),
47
62
  form = _useFormBlockContext.form;
48
63
 
@@ -54,12 +69,16 @@ FormItem.Designer = function () {
54
69
 
55
70
  var _useDesignable = useDesignable(),
56
71
  dn = _useDesignable.dn,
57
- refresh = _useDesignable.refresh;
72
+ refresh = _useDesignable.refresh,
73
+ insertAdjacent = _useDesignable.insertAdjacent,
74
+ insertBeforeBegin = _useDesignable.insertBeforeBegin;
58
75
 
59
76
  var compile = useCompile();
60
- var collectionField = getField(fieldSchema['name']);
77
+ var collectionField = getField(fieldSchema['name']) || getCollectionJoinField(fieldSchema['x-collection-field']);
78
+ var interfaceConfig = getInterface(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface);
61
79
  var originalTitle = collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc = collectionField.uiSchema) === null || _collectionField$uiSc === void 0 ? void 0 : _collectionField$uiSc.title;
62
80
  var targetFields = (collectionField === null || collectionField === void 0 ? void 0 : collectionField.target) ? getCollectionFields(collectionField.target) : [];
81
+ var isSubFormAssocitionField = field.address.segments.includes('__form_grid');
63
82
  var initialValue = {
64
83
  title: field.title === originalTitle ? undefined : field.title
65
84
  };
@@ -177,7 +196,7 @@ FormItem.Designer = function () {
177
196
  });
178
197
  dn.refresh();
179
198
  }
180
- }), !field.readPretty && /*#__PURE__*/React.createElement(SchemaSettings.SwitchItem, {
199
+ }), !field.readPretty && fieldSchema['x-component'] !== 'FormField' && /*#__PURE__*/React.createElement(SchemaSettings.SwitchItem, {
181
200
  key: "required",
182
201
  title: t('Required'),
183
202
  checked: field.required,
@@ -192,6 +211,52 @@ FormItem.Designer = function () {
192
211
  });
193
212
  refresh();
194
213
  }
214
+ }), form && !isSubFormAssocitionField && ['o2o', 'oho', 'obo', 'o2m'].includes(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) && /*#__PURE__*/React.createElement(SchemaSettings.SelectItem, {
215
+ title: t('Field component'),
216
+ options: (collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) === 'o2m' ? [{
217
+ label: t('Record picker'),
218
+ value: 'CollectionField'
219
+ }, {
220
+ label: t('Subtable'),
221
+ value: 'TableField'
222
+ }] : [{
223
+ label: t('Record picker'),
224
+ value: 'CollectionField'
225
+ }, {
226
+ label: t('Subform'),
227
+ value: 'FormField'
228
+ }],
229
+ value: fieldSchema['x-component'],
230
+ onChange: function onChange(v) {
231
+ var _interfaceConfig$sche;
232
+
233
+ var schema = {
234
+ name: collectionField.name,
235
+ type: 'void',
236
+ // title: compile(collectionField.uiSchema?.title),
237
+ 'x-decorator': 'FormItem',
238
+ 'x-designer': 'FormItem.Designer',
239
+ 'x-component': v,
240
+ 'x-component-props': {},
241
+ 'x-collection-field': fieldSchema['x-collection-field']
242
+ };
243
+ interfaceConfig === null || interfaceConfig === void 0 ? void 0 : (_interfaceConfig$sche = interfaceConfig.schemaInitialize) === null || _interfaceConfig$sche === void 0 ? void 0 : _interfaceConfig$sche.call(interfaceConfig, schema, {
244
+ field: collectionField,
245
+ block: 'Form',
246
+ readPretty: field.readPretty,
247
+ action: tk ? 'get' : null
248
+ });
249
+ insertAdjacent('beforeBegin', divWrap(schema), {
250
+ onSuccess: function onSuccess() {
251
+ dn.remove(null, {
252
+ removeParentsIfNoChildren: true,
253
+ breakRemoveOn: {
254
+ 'x-component': 'Grid'
255
+ }
256
+ });
257
+ }
258
+ });
259
+ }
195
260
  }), form && !(form === null || form === void 0 ? void 0 : form.readPretty) && (collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface) !== 'o2m' && /*#__PURE__*/React.createElement(SchemaSettings.SelectItem, {
196
261
  key: "pattern",
197
262
  title: t('Pattern'),
@@ -207,8 +272,6 @@ FormItem.Designer = function () {
207
272
  }],
208
273
  value: readOnlyMode,
209
274
  onChange: function onChange(v) {
210
- console.log('v', v);
211
-
212
275
  var schema = _defineProperty({}, 'x-uid', fieldSchema['x-uid']);
213
276
 
214
277
  switch (v) {
@@ -229,8 +292,7 @@ FormItem.Designer = function () {
229
292
  fieldSchema['x-disabled'] = false;
230
293
  schema['x-read-pretty'] = true;
231
294
  schema['x-disabled'] = false;
232
- field.readPretty = true; // field.disabled = true;
233
-
295
+ field.readPretty = true;
234
296
  break;
235
297
  }
236
298
 
@@ -251,7 +313,7 @@ FormItem.Designer = function () {
251
313
  });
252
314
  dn.refresh();
253
315
  }
254
- }), (collectionField === null || collectionField === void 0 ? void 0 : collectionField.target) && /*#__PURE__*/React.createElement(SchemaSettings.SelectItem, {
316
+ }), (collectionField === null || collectionField === void 0 ? void 0 : collectionField.target) && fieldSchema['x-component'] === 'CollectionField' && /*#__PURE__*/React.createElement(SchemaSettings.SelectItem, {
255
317
  key: "title-field",
256
318
  title: t('Title field'),
257
319
  options: options,
@@ -261,14 +323,15 @@ FormItem.Designer = function () {
261
323
 
262
324
  var fieldNames = _objectSpread(_objectSpread({}, field.componentProps.fieldNames), {}, {
263
325
  label: label
264
- });
326
+ }); // if (fieldSchema['x-component-props']?.['field']?.['uiSchema']?.['x-component-props']) {
327
+ // fieldSchema['x-component-props']['field']['uiSchema']['x-component-props']['fieldNames'] = fieldNames;
328
+ // } else {
329
+ // }
330
+
265
331
 
266
332
  fieldSchema['x-component-props'] = fieldSchema['x-component-props'] || {};
267
333
  fieldSchema['x-component-props']['fieldNames'] = fieldNames;
268
- field.componentProps.fieldNames = fieldNames;
269
- schema['x-component-props'] = {
270
- fieldNames: fieldNames
271
- };
334
+ schema['x-component-props'] = fieldSchema['x-component-props'];
272
335
  dn.emit('patch', {
273
336
  schema: schema
274
337
  });
@@ -0,0 +1 @@
1
+ export declare const FormField: any;
@@ -0,0 +1,29 @@
1
+ import { observer, useField, useFieldSchema } from '@formily/react';
2
+ import React, { useEffect } from 'react';
3
+ import { useFormBlockContext } from '../../../block-provider';
4
+ import { useCollection } from '../../../collection-manager';
5
+ import { useCompile } from '../../hooks';
6
+ export var FormField = observer(function (props) {
7
+ var fieldSchema = useFieldSchema();
8
+
9
+ var _useCollection = useCollection(),
10
+ getField = _useCollection.getField;
11
+
12
+ var field = useField();
13
+ var collectionField = getField(fieldSchema.name);
14
+ var compile = useCompile();
15
+ var ctx = useFormBlockContext();
16
+ useEffect(function () {
17
+ if (!field.title) {
18
+ var _collectionField$uiSc;
19
+
20
+ field.title = compile(collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc = collectionField.uiSchema) === null || _collectionField$uiSc === void 0 ? void 0 : _collectionField$uiSc.title);
21
+ }
22
+
23
+ if (ctx === null || ctx === void 0 ? void 0 : ctx.field) {
24
+ ctx.field.added = ctx.field.added || new Set();
25
+ ctx.field.added.add(fieldSchema.name);
26
+ }
27
+ }, []);
28
+ return /*#__PURE__*/React.createElement("div", null, props.children);
29
+ });
@@ -1,3 +1,4 @@
1
1
  import { Form as FormV2 } from './Form';
2
2
  import { DetailsDesigner } from './Form.Designer';
3
3
  export { FormV2, DetailsDesigner };
4
+ export * from './FormField';
@@ -2,4 +2,5 @@ import { Form as FormV2 } from './Form';
2
2
  import { DetailsDesigner, FormDesigner, ReadPrettyFormDesigner } from './Form.Designer';
3
3
  FormV2.Designer = FormDesigner;
4
4
  FormV2.ReadPrettyDesigner = ReadPrettyFormDesigner;
5
- export { FormV2, DetailsDesigner };
5
+ export { FormV2, DetailsDesigner };
6
+ export * from './FormField';
@@ -14,7 +14,7 @@ import { useTranslation } from 'react-i18next';
14
14
  import { useAPIClient } from '../../../api-client';
15
15
  import { createDesignable, useDesignable } from '../../../schema-component';
16
16
  import { SchemaInitializer } from '../../../schema-initializer';
17
- import { useFormItemInitializerFields } from '../../../schema-initializer/utils';
17
+ import { useAssociatedFormItemInitializerFields, useFormItemInitializerFields } from '../../../schema-initializer/utils';
18
18
  var titleCss = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n pointer-events: none;\n position: absolute;\n font-size: 12px;\n background: #f18b62;\n color: #fff;\n padding: 0 5px;\n line-height: 16px;\n height: 16px;\n border-bottom-right-radius: 2px;\n border-radius: 2px;\n top: 2px;\n left: 2px;\n"])));
19
19
 
20
20
  var gridRowColWrap = function gridRowColWrap(schema) {
@@ -97,6 +97,15 @@ export var KanbanCardDesigner = function KanbanCardDesigner(props) {
97
97
  type: 'itemGroup',
98
98
  title: t('Display fields'),
99
99
  children: fields
100
+ }, {
101
+ type: 'divider'
102
+ }, {
103
+ type: 'itemGroup',
104
+ title: t('Display association fields'),
105
+ children: useAssociatedFormItemInitializerFields({
106
+ readPretty: true,
107
+ block: 'Kanban'
108
+ })
100
109
  }],
101
110
  component: /*#__PURE__*/React.createElement(MenuOutlined, {
102
111
  style: {
@@ -25,7 +25,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
25
25
 
26
26
  import { RecursionField, useFieldSchema } from '@formily/react';
27
27
  import { Select } from 'antd';
28
- import React, { createContext, useContext, useState } from 'react';
28
+ import React, { createContext, useContext, useEffect, useState } from 'react';
29
29
  import { useTableSelectorProps as useTsp } from '../../../block-provider/TableSelectorProvider';
30
30
  import { CollectionProvider, useCollection } from '../../../collection-manager';
31
31
  import { FormProvider, SchemaComponentOptions } from '../../core';
@@ -116,19 +116,36 @@ export var InputRecordPicker = function InputRecordPicker(props) {
116
116
  var fieldSchema = useFieldSchema();
117
117
  var collectionField = useAssociation(props);
118
118
  var compile = useCompile();
119
- var options = (Array.isArray(value) ? value : value ? [value] : []).map(function (option) {
120
- var label = option[fieldNames.label];
121
- return _objectSpread(_objectSpread({}, option), {}, _defineProperty({}, fieldNames.label, compile(label)));
122
- });
123
119
 
124
- var _useState3 = useState(options),
120
+ var _useState3 = useState([]),
125
121
  _useState4 = _slicedToArray(_useState3, 2),
126
122
  selectedRows = _useState4[0],
127
123
  setSelectedRows = _useState4[1];
128
124
 
129
- var values = options === null || options === void 0 ? void 0 : options.map(function (option) {
130
- return option[fieldNames.value];
131
- });
125
+ var _useState5 = useState([]),
126
+ _useState6 = _slicedToArray(_useState5, 2),
127
+ options = _useState6[0],
128
+ setOptions = _useState6[1];
129
+
130
+ useEffect(function () {
131
+ if (value) {
132
+ var opts = (Array.isArray(value) ? value : value ? [value] : []).map(function (option) {
133
+ var label = option[fieldNames.label];
134
+ return _objectSpread(_objectSpread({}, option), {}, _defineProperty({}, fieldNames.label, compile(label)));
135
+ });
136
+ setOptions(opts);
137
+ setSelectedRows(opts);
138
+ }
139
+ }, [value]);
140
+ useEffect(function () {});
141
+
142
+ var getValue = function getValue() {
143
+ if (multiple == null) return null;
144
+ return multiple ? Array.isArray(value) ? value === null || value === void 0 ? void 0 : value.map(function (v) {
145
+ return v[fieldNames.value];
146
+ }) : [] : value === null || value === void 0 ? void 0 : value[fieldNames.value];
147
+ };
148
+
132
149
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Select, _objectSpread(_objectSpread({}, others), {}, {
133
150
  mode: multiple ? 'multiple' : props.mode,
134
151
  fieldNames: fieldNames,
@@ -146,17 +163,17 @@ export var InputRecordPicker = function InputRecordPicker(props) {
146
163
 
147
164
  setSelectedRows([]);
148
165
  } else if (Array.isArray(changed)) {
149
- var _values = options === null || options === void 0 ? void 0 : options.filter(function (option) {
166
+ var values = options === null || options === void 0 ? void 0 : options.filter(function (option) {
150
167
  return changed.includes(option[fieldNames.value]);
151
168
  });
152
169
 
153
- _onChange(_values);
170
+ _onChange(values);
154
171
 
155
- setSelectedRows(_values);
172
+ setSelectedRows(values);
156
173
  }
157
174
  },
158
175
  options: options,
159
- value: multiple ? values : values === null || values === void 0 ? void 0 : values[0],
176
+ value: getValue(),
160
177
  open: false
161
178
  })), /*#__PURE__*/React.createElement(RecordPickerContext.Provider, {
162
179
  value: {
@@ -181,6 +198,9 @@ export var InputRecordPicker = function InputRecordPicker(props) {
181
198
  }
182
199
  }, /*#__PURE__*/React.createElement(RecursionField, {
183
200
  schema: fieldSchema,
184
- onlyRenderProperties: true
201
+ onlyRenderProperties: true,
202
+ filterProperties: function filterProperties(s) {
203
+ return s['x-component'] === 'RecordPicker.Selector';
204
+ }
185
205
  })))))));
186
206
  };
@@ -14,8 +14,8 @@ import { observer, RecursionField, useField, useFieldSchema } from '@formily/rea
14
14
  import { toArr } from '@formily/shared';
15
15
  import React, { useRef, useState } from 'react';
16
16
  import { BlockAssociationContext, WithoutTableFieldResource } from '../../../block-provider';
17
- import { CollectionProvider, useCollection } from '../../../collection-manager';
18
- import { RecordProvider } from '../../../record-provider';
17
+ import { CollectionProvider, useCollection, useCollectionManager } from '../../../collection-manager';
18
+ import { RecordProvider, useRecord } from '../../../record-provider';
19
19
  import { FormProvider } from '../../core';
20
20
  import { useCompile } from '../../hooks';
21
21
  import { ActionContext } from '../action';
@@ -24,6 +24,11 @@ import { useFieldNames } from './useFieldNames';
24
24
  export var ReadPrettyRecordPicker = observer(function (props) {
25
25
  var ellipsis = props.ellipsis;
26
26
  var fieldSchema = useFieldSchema();
27
+ var recordCtx = useRecord();
28
+
29
+ var _useCollectionManager = useCollectionManager(),
30
+ getCollectionJoinField = _useCollectionManager.getCollectionJoinField;
31
+
27
32
  var field = useField();
28
33
  var fieldNames = useFieldNames(props);
29
34
 
@@ -40,7 +45,7 @@ export var ReadPrettyRecordPicker = observer(function (props) {
40
45
  var _useCollection = useCollection(),
41
46
  getField = _useCollection.getField;
42
47
 
43
- var collectionField = getField(fieldSchema.name);
48
+ var collectionField = getField(fieldSchema.name) || getCollectionJoinField(fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema['x-collection-field']);
44
49
 
45
50
  var _useState5 = useState({}),
46
51
  _useState6 = _slicedToArray(_useState5, 2),
@@ -71,6 +76,31 @@ export var ReadPrettyRecordPicker = observer(function (props) {
71
76
  });
72
77
  };
73
78
 
79
+ var renderWithoutTableFieldResourceProvider = function renderWithoutTableFieldResourceProvider() {
80
+ return /*#__PURE__*/React.createElement(WithoutTableFieldResource.Provider, {
81
+ value: true
82
+ }, /*#__PURE__*/React.createElement(FormProvider, null, /*#__PURE__*/React.createElement(RecursionField, {
83
+ schema: fieldSchema,
84
+ onlyRenderProperties: true,
85
+ filterProperties: function filterProperties(s) {
86
+ return s['x-component'] === 'RecordPicker.Viewer';
87
+ }
88
+ })));
89
+ };
90
+
91
+ var renderRecordProvider = function renderRecordProvider() {
92
+ var _fieldSchema$xCollec;
93
+
94
+ var collectionFieldNames = fieldSchema === null || fieldSchema === void 0 ? void 0 : (_fieldSchema$xCollec = fieldSchema['x-collection-field']) === null || _fieldSchema$xCollec === void 0 ? void 0 : _fieldSchema$xCollec.split('.');
95
+ return collectionFieldNames && collectionFieldNames.length > 2 ? /*#__PURE__*/React.createElement(RecordProvider, {
96
+ record: recordCtx[collectionFieldNames[1]]
97
+ }, /*#__PURE__*/React.createElement(RecordProvider, {
98
+ record: record
99
+ }, renderWithoutTableFieldResourceProvider())) : /*#__PURE__*/React.createElement(RecordProvider, {
100
+ record: record
101
+ }, renderWithoutTableFieldResourceProvider());
102
+ };
103
+
74
104
  return collectionField ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(BlockAssociationContext.Provider, {
75
105
  value: "".concat(collectionField.collectionName, ".").concat(collectionField.name)
76
106
  }, /*#__PURE__*/React.createElement(CollectionProvider, {
@@ -84,12 +114,5 @@ export var ReadPrettyRecordPicker = observer(function (props) {
84
114
  setVisible: setVisible,
85
115
  openMode: 'drawer'
86
116
  }
87
- }, /*#__PURE__*/React.createElement(RecordProvider, {
88
- record: record
89
- }, /*#__PURE__*/React.createElement(WithoutTableFieldResource.Provider, {
90
- value: true
91
- }, /*#__PURE__*/React.createElement(FormProvider, null, /*#__PURE__*/React.createElement(RecursionField, {
92
- schema: fieldSchema,
93
- onlyRenderProperties: true
94
- })))))))) : null;
117
+ }, renderRecordProvider())))) : null;
95
118
  });
@@ -6,10 +6,10 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
6
6
 
7
7
  import { useFieldSchema } from "@formily/react";
8
8
  export var useFieldNames = function useFieldNames(props) {
9
- var _fieldSchema$xCompon;
9
+ var _fieldSchema$xCompon, _fieldSchema$xCompon$, _fieldSchema$xCompon$2, _fieldSchema$xCompon$3, _fieldSchema$xCompon2;
10
10
 
11
11
  var fieldSchema = useFieldSchema();
12
- var fieldNames = (fieldSchema === null || fieldSchema === void 0 ? void 0 : (_fieldSchema$xCompon = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon === void 0 ? void 0 : _fieldSchema$xCompon['fieldNames']) || props.fieldNames;
12
+ var fieldNames = ((_fieldSchema$xCompon = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon === void 0 ? void 0 : (_fieldSchema$xCompon$ = _fieldSchema$xCompon['field']) === null || _fieldSchema$xCompon$ === void 0 ? void 0 : (_fieldSchema$xCompon$2 = _fieldSchema$xCompon$['uiSchema']) === null || _fieldSchema$xCompon$2 === void 0 ? void 0 : (_fieldSchema$xCompon$3 = _fieldSchema$xCompon$2['x-component-props']) === null || _fieldSchema$xCompon$3 === void 0 ? void 0 : _fieldSchema$xCompon$3['fieldNames']) || (fieldSchema === null || fieldSchema === void 0 ? void 0 : (_fieldSchema$xCompon2 = fieldSchema['x-component-props']) === null || _fieldSchema$xCompon2 === void 0 ? void 0 : _fieldSchema$xCompon2['fieldNames']) || props.fieldNames;
13
13
  return _objectSpread({
14
14
  label: 'label',
15
15
  value: 'value'
@@ -14,7 +14,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
14
14
 
15
15
  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); }
16
16
 
17
- import { toArr } from '@formily/shared';
17
+ import { castArray } from 'lodash';
18
18
  export var defaultFieldNames = {
19
19
  label: 'label',
20
20
  value: 'value',
@@ -22,7 +22,9 @@ export var defaultFieldNames = {
22
22
  options: 'children'
23
23
  };
24
24
  export var getCurrentOptions = function getCurrentOptions(values, dataSource, fieldNames) {
25
- values = toArr(values).map(function (val) {
25
+ values = castArray(values).filter(function (item) {
26
+ return item != null;
27
+ }).map(function (val) {
26
28
  return _typeof(val) === 'object' ? val[fieldNames.value] : val;
27
29
  });
28
30
 
@@ -6,7 +6,7 @@ export declare const useColumnSchema: () => {
6
6
  } | {
7
7
  columnSchema: import("@formily/react").Schema<any, any, any, any, any, any, any, any, any>;
8
8
  fieldSchema: any;
9
- collectionField: import("../../../").CollectionFieldOptions;
9
+ collectionField: any;
10
10
  uiSchema: any;
11
11
  };
12
12
  export declare const TableColumnDecorator: (props: any) => JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { useField, useFieldSchema } from '@formily/react';
2
2
  import React, { useLayoutEffect } from 'react';
3
- import { SortableItem, useCollection, useCompile, useDesignable, useDesigner } from '../../../';
3
+ import { SortableItem, useCollection, useCollectionManager, useCompile, useDesignable, useDesigner } from '../../../';
4
4
  import { designerCss } from './Table.Column.ActionBar';
5
5
  export var useColumnSchema = function useColumnSchema() {
6
6
  var _useCollection = useCollection(),
@@ -8,6 +8,10 @@ export var useColumnSchema = function useColumnSchema() {
8
8
 
9
9
  var compile = useCompile();
10
10
  var columnSchema = useFieldSchema();
11
+
12
+ var _useCollectionManager = useCollectionManager(),
13
+ getCollectionJoinField = _useCollectionManager.getCollectionJoinField;
14
+
11
15
  var fieldSchema = columnSchema.reduceProperties(function (buf, s) {
12
16
  if (s['x-component'] === 'CollectionField') {
13
17
  return s;
@@ -20,7 +24,7 @@ export var useColumnSchema = function useColumnSchema() {
20
24
  return {};
21
25
  }
22
26
 
23
- var collectionField = getField(fieldSchema.name);
27
+ var collectionField = getField(fieldSchema.name) || getCollectionJoinField(fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema['x-collection-field']);
24
28
  return {
25
29
  columnSchema: columnSchema,
26
30
  fieldSchema: fieldSchema,
@@ -60,5 +64,5 @@ export var TableColumnDecorator = function TableColumnDecorator(props) {
60
64
  fieldSchema: fieldSchema,
61
65
  uiSchema: uiSchema,
62
66
  collectionField: collectionField
63
- }), field.title || compile(uiSchema === null || uiSchema === void 0 ? void 0 : uiSchema.title));
67
+ }), (field === null || field === void 0 ? void 0 : field.title) || compile(uiSchema === null || uiSchema === void 0 ? void 0 : uiSchema.title));
64
68
  };