@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
@@ -138,19 +138,36 @@ var InputRecordPicker = function InputRecordPicker(props) {
138
138
  var fieldSchema = (0, _react.useFieldSchema)();
139
139
  var collectionField = useAssociation(props);
140
140
  var compile = (0, _hooks.useCompile)();
141
- var options = (Array.isArray(value) ? value : value ? [value] : []).map(function (option) {
142
- var label = option[fieldNames.label];
143
- return _objectSpread(_objectSpread({}, option), {}, _defineProperty({}, fieldNames.label, compile(label)));
144
- });
145
141
 
146
- var _useState3 = (0, _react2.useState)(options),
142
+ var _useState3 = (0, _react2.useState)([]),
147
143
  _useState4 = _slicedToArray(_useState3, 2),
148
144
  selectedRows = _useState4[0],
149
145
  setSelectedRows = _useState4[1];
150
146
 
151
- var values = options === null || options === void 0 ? void 0 : options.map(function (option) {
152
- return option[fieldNames.value];
153
- });
147
+ var _useState5 = (0, _react2.useState)([]),
148
+ _useState6 = _slicedToArray(_useState5, 2),
149
+ options = _useState6[0],
150
+ setOptions = _useState6[1];
151
+
152
+ (0, _react2.useEffect)(function () {
153
+ if (value) {
154
+ var opts = (Array.isArray(value) ? value : value ? [value] : []).map(function (option) {
155
+ var label = option[fieldNames.label];
156
+ return _objectSpread(_objectSpread({}, option), {}, _defineProperty({}, fieldNames.label, compile(label)));
157
+ });
158
+ setOptions(opts);
159
+ setSelectedRows(opts);
160
+ }
161
+ }, [value]);
162
+ (0, _react2.useEffect)(function () {});
163
+
164
+ var getValue = function getValue() {
165
+ if (multiple == null) return null;
166
+ return multiple ? Array.isArray(value) ? value === null || value === void 0 ? void 0 : value.map(function (v) {
167
+ return v[fieldNames.value];
168
+ }) : [] : value === null || value === void 0 ? void 0 : value[fieldNames.value];
169
+ };
170
+
154
171
  return /*#__PURE__*/_react2.default.createElement("div", null, /*#__PURE__*/_react2.default.createElement(_antd.Select, _objectSpread(_objectSpread({}, others), {}, {
155
172
  mode: multiple ? 'multiple' : props.mode,
156
173
  fieldNames: fieldNames,
@@ -168,17 +185,17 @@ var InputRecordPicker = function InputRecordPicker(props) {
168
185
 
169
186
  setSelectedRows([]);
170
187
  } else if (Array.isArray(changed)) {
171
- var _values = options === null || options === void 0 ? void 0 : options.filter(function (option) {
188
+ var values = options === null || options === void 0 ? void 0 : options.filter(function (option) {
172
189
  return changed.includes(option[fieldNames.value]);
173
190
  });
174
191
 
175
- _onChange(_values);
192
+ _onChange(values);
176
193
 
177
- setSelectedRows(_values);
194
+ setSelectedRows(values);
178
195
  }
179
196
  },
180
197
  options: options,
181
- value: multiple ? values : values === null || values === void 0 ? void 0 : values[0],
198
+ value: getValue(),
182
199
  open: false
183
200
  })), /*#__PURE__*/_react2.default.createElement(RecordPickerContext.Provider, {
184
201
  value: {
@@ -203,7 +220,10 @@ var InputRecordPicker = function InputRecordPicker(props) {
203
220
  }
204
221
  }, /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
205
222
  schema: fieldSchema,
206
- onlyRenderProperties: true
223
+ onlyRenderProperties: true,
224
+ filterProperties: function filterProperties(s) {
225
+ return s['x-component'] === 'RecordPicker.Selector';
226
+ }
207
227
  })))))));
208
228
  };
209
229
 
@@ -48,6 +48,11 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
48
48
  var ReadPrettyRecordPicker = (0, _react.observer)(function (props) {
49
49
  var ellipsis = props.ellipsis;
50
50
  var fieldSchema = (0, _react.useFieldSchema)();
51
+ var recordCtx = (0, _recordProvider.useRecord)();
52
+
53
+ var _useCollectionManager = (0, _collectionManager.useCollectionManager)(),
54
+ getCollectionJoinField = _useCollectionManager.getCollectionJoinField;
55
+
51
56
  var field = (0, _react.useField)();
52
57
  var fieldNames = (0, _useFieldNames.useFieldNames)(props);
53
58
 
@@ -64,7 +69,7 @@ var ReadPrettyRecordPicker = (0, _react.observer)(function (props) {
64
69
  var _useCollection = (0, _collectionManager.useCollection)(),
65
70
  getField = _useCollection.getField;
66
71
 
67
- var collectionField = getField(fieldSchema.name);
72
+ var collectionField = getField(fieldSchema.name) || getCollectionJoinField(fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema['x-collection-field']);
68
73
 
69
74
  var _useState5 = (0, _react2.useState)({}),
70
75
  _useState6 = _slicedToArray(_useState5, 2),
@@ -95,6 +100,31 @@ var ReadPrettyRecordPicker = (0, _react.observer)(function (props) {
95
100
  });
96
101
  };
97
102
 
103
+ var renderWithoutTableFieldResourceProvider = function renderWithoutTableFieldResourceProvider() {
104
+ return /*#__PURE__*/_react2.default.createElement(_blockProvider.WithoutTableFieldResource.Provider, {
105
+ value: true
106
+ }, /*#__PURE__*/_react2.default.createElement(_core.FormProvider, null, /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
107
+ schema: fieldSchema,
108
+ onlyRenderProperties: true,
109
+ filterProperties: function filterProperties(s) {
110
+ return s['x-component'] === 'RecordPicker.Viewer';
111
+ }
112
+ })));
113
+ };
114
+
115
+ var renderRecordProvider = function renderRecordProvider() {
116
+ var _fieldSchema$xCollec;
117
+
118
+ 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('.');
119
+ return collectionFieldNames && collectionFieldNames.length > 2 ? /*#__PURE__*/_react2.default.createElement(_recordProvider.RecordProvider, {
120
+ record: recordCtx[collectionFieldNames[1]]
121
+ }, /*#__PURE__*/_react2.default.createElement(_recordProvider.RecordProvider, {
122
+ record: record
123
+ }, renderWithoutTableFieldResourceProvider())) : /*#__PURE__*/_react2.default.createElement(_recordProvider.RecordProvider, {
124
+ record: record
125
+ }, renderWithoutTableFieldResourceProvider());
126
+ };
127
+
98
128
  return collectionField ? /*#__PURE__*/_react2.default.createElement("div", null, /*#__PURE__*/_react2.default.createElement(_blockProvider.BlockAssociationContext.Provider, {
99
129
  value: "".concat(collectionField.collectionName, ".").concat(collectionField.name)
100
130
  }, /*#__PURE__*/_react2.default.createElement(_collectionManager.CollectionProvider, {
@@ -108,13 +138,6 @@ var ReadPrettyRecordPicker = (0, _react.observer)(function (props) {
108
138
  setVisible: setVisible,
109
139
  openMode: 'drawer'
110
140
  }
111
- }, /*#__PURE__*/_react2.default.createElement(_recordProvider.RecordProvider, {
112
- record: record
113
- }, /*#__PURE__*/_react2.default.createElement(_blockProvider.WithoutTableFieldResource.Provider, {
114
- value: true
115
- }, /*#__PURE__*/_react2.default.createElement(_core.FormProvider, null, /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
116
- schema: fieldSchema,
117
- onlyRenderProperties: true
118
- })))))))) : null;
141
+ }, renderRecordProvider())))) : null;
119
142
  });
120
143
  exports.ReadPrettyRecordPicker = ReadPrettyRecordPicker;
@@ -14,10 +14,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
14
14
  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; }
15
15
 
16
16
  var useFieldNames = function useFieldNames(props) {
17
- var _fieldSchema$xCompon;
17
+ var _fieldSchema$xCompon, _fieldSchema$xCompon$, _fieldSchema$xCompon$2, _fieldSchema$xCompon$3, _fieldSchema$xCompon2;
18
18
 
19
19
  var fieldSchema = (0, _react.useFieldSchema)();
20
- 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;
20
+ 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;
21
21
  return _objectSpread({
22
22
  label: 'label',
23
23
  value: 'value'
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getCurrentOptions = exports.defaultFieldNames = void 0;
7
7
 
8
- var _shared = require("@formily/shared");
8
+ var _lodash = require("lodash");
9
9
 
10
10
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
11
11
 
@@ -32,7 +32,9 @@ var defaultFieldNames = {
32
32
  exports.defaultFieldNames = defaultFieldNames;
33
33
 
34
34
  var getCurrentOptions = function getCurrentOptions(values, dataSource, fieldNames) {
35
- values = (0, _shared.toArr)(values).map(function (val) {
35
+ values = (0, _lodash.castArray)(values).filter(function (item) {
36
+ return item != null;
37
+ }).map(function (val) {
36
38
  return _typeof(val) === 'object' ? val[fieldNames.value] : val;
37
39
  });
38
40
 
@@ -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;
@@ -25,6 +25,10 @@ var useColumnSchema = function useColumnSchema() {
25
25
 
26
26
  var compile = (0, _.useCompile)();
27
27
  var columnSchema = (0, _react.useFieldSchema)();
28
+
29
+ var _useCollectionManager = (0, _.useCollectionManager)(),
30
+ getCollectionJoinField = _useCollectionManager.getCollectionJoinField;
31
+
28
32
  var fieldSchema = columnSchema.reduceProperties(function (buf, s) {
29
33
  if (s['x-component'] === 'CollectionField') {
30
34
  return s;
@@ -37,7 +41,7 @@ var useColumnSchema = function useColumnSchema() {
37
41
  return {};
38
42
  }
39
43
 
40
- var collectionField = getField(fieldSchema.name);
44
+ var collectionField = getField(fieldSchema.name) || getCollectionJoinField(fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema['x-collection-field']);
41
45
  return {
42
46
  columnSchema: columnSchema,
43
47
  fieldSchema: fieldSchema,
@@ -80,7 +84,7 @@ var TableColumnDecorator = function TableColumnDecorator(props) {
80
84
  fieldSchema: fieldSchema,
81
85
  uiSchema: uiSchema,
82
86
  collectionField: collectionField
83
- }), field.title || compile(uiSchema === null || uiSchema === void 0 ? void 0 : uiSchema.title));
87
+ }), (field === null || field === void 0 ? void 0 : field.title) || compile(uiSchema === null || uiSchema === void 0 ? void 0 : uiSchema.title));
84
88
  };
85
89
 
86
90
  exports.TableColumnDecorator = TableColumnDecorator;
@@ -56,6 +56,10 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
56
56
  var uiSchema = props.uiSchema,
57
57
  fieldSchema = props.fieldSchema,
58
58
  collectionField = props.collectionField;
59
+
60
+ var _useCollectionManager2 = (0, _collectionManager.useCollectionManager)(),
61
+ getInterface = _useCollectionManager2.getInterface;
62
+
59
63
  var field = (0, _react.useField)();
60
64
 
61
65
  var _useTranslation = (0, _reactI18next.useTranslation)(),
@@ -68,6 +72,7 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
68
72
 
69
73
  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']) || (uiSchema === null || uiSchema === void 0 ? void 0 : (_uiSchema$xComponent = uiSchema['x-component-props']) === null || _uiSchema$xComponent === void 0 ? void 0 : _uiSchema$xComponent['fieldNames']);
70
74
  var options = useLabelFields(collectionField === null || collectionField === void 0 ? void 0 : collectionField.target);
75
+ var intefaceCfg = getInterface(collectionField === null || collectionField === void 0 ? void 0 : collectionField.interface);
71
76
  return /*#__PURE__*/_react2.default.createElement(_schemaSettings.GeneralSchemaDesigner, {
72
77
  disableInitializer: true
73
78
  }, /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.ModalItem, {
@@ -79,7 +84,7 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
79
84
  title: {
80
85
  // title: t('Column title'),
81
86
  default: columnSchema === null || columnSchema === void 0 ? void 0 : columnSchema.title,
82
- description: "".concat(t('Original title: ')).concat(collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc = collectionField.uiSchema) === null || _collectionField$uiSc === void 0 ? void 0 : _collectionField$uiSc.title),
87
+ description: "".concat(t('Original title: ')).concat((collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc = collectionField.uiSchema) === null || _collectionField$uiSc === void 0 ? void 0 : _collectionField$uiSc.title) || (fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema.title)),
83
88
  'x-decorator': 'FormItem',
84
89
  'x-component': 'Input',
85
90
  'x-component-props': {}
@@ -102,7 +107,7 @@ var TableColumnDesigner = function TableColumnDesigner(props) {
102
107
 
103
108
  dn.refresh();
104
109
  }
105
- }), /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.SwitchItem, {
110
+ }), intefaceCfg && intefaceCfg.sortable === true && /*#__PURE__*/_react2.default.createElement(_schemaSettings.SchemaSettings.SwitchItem, {
106
111
  title: t('Sortable'),
107
112
  checked: field.componentProps.sorter,
108
113
  onChange: function onChange(v) {
@@ -82,6 +82,7 @@ var useTableColumns = function useTableColumns() {
82
82
  }
83
83
  }, []);
84
84
  var dataIndex = (collectionFields === null || collectionFields === void 0 ? void 0 : collectionFields.length) > 0 ? collectionFields[0].name : s.name;
85
+ console.log('useTableColumns', s.name, s, field.value);
85
86
  return {
86
87
  title: /*#__PURE__*/_react2.default.createElement(_react.RecursionField, {
87
88
  name: s.name,
@@ -95,8 +96,9 @@ var useTableColumns = function useTableColumns() {
95
96
  render: function render(v, record) {
96
97
  var _field$value;
97
98
 
98
- var index = (_field$value = field.value) === null || _field$value === void 0 ? void 0 : _field$value.indexOf(record);
99
- console.log((Date.now() - start) / 1000);
99
+ var index = (_field$value = field.value) === null || _field$value === void 0 ? void 0 : _field$value.indexOf(record); // console.log((Date.now() - start) / 1000);
100
+
101
+ console.log('useTableColumns.index', index, record);
100
102
  return /*#__PURE__*/_react2.default.createElement(_2.RecordIndexProvider, {
101
103
  index: index
102
104
  }, /*#__PURE__*/_react2.default.createElement(_2.RecordProvider, {
@@ -11,6 +11,8 @@ var _react = require("@formily/react");
11
11
 
12
12
  var _react2 = _interopRequireWildcard(require("react"));
13
13
 
14
+ var _blockProvider = require("../../../block-provider");
15
+
14
16
  var _collectionManager = require("../../../collection-manager");
15
17
 
16
18
  var _hooks = require("../../hooks");
@@ -36,12 +38,18 @@ var TableField = (0, _react.observer)(function (props) {
36
38
  var field = (0, _react.useField)();
37
39
  var collectionField = getField(fieldSchema.name);
38
40
  var compile = (0, _hooks.useCompile)();
41
+ var ctx = (0, _blockProvider.useFormBlockContext)();
39
42
  (0, _react2.useEffect)(function () {
40
43
  if (!field.title) {
41
44
  var _collectionField$uiSc;
42
45
 
43
46
  field.title = compile(collectionField === null || collectionField === void 0 ? void 0 : (_collectionField$uiSc = collectionField.uiSchema) === null || _collectionField$uiSc === void 0 ? void 0 : _collectionField$uiSc.title);
44
47
  }
48
+
49
+ if (ctx === null || ctx === void 0 ? void 0 : ctx.field) {
50
+ ctx.field.added = ctx.field.added || new Set();
51
+ ctx.field.added.add(fieldSchema.name);
52
+ }
45
53
  }, []);
46
54
  return /*#__PURE__*/_react2.default.createElement("div", null, props.children);
47
55
  });
@@ -29,6 +29,30 @@ var TableColumnInitializers = function TableColumnInitializers(props) {
29
29
  var _useTranslation = (0, _reactI18next.useTranslation)(),
30
30
  t = _useTranslation.t;
31
31
 
32
+ var associatedFields = (0, _utils.useAssociatedTableColumnInitializerFields)();
33
+ var fieldItems = [{
34
+ type: 'itemGroup',
35
+ title: t('Display fields'),
36
+ children: (0, _utils.useTableColumnInitializerFields)()
37
+ }];
38
+
39
+ if ((associatedFields === null || associatedFields === void 0 ? void 0 : associatedFields.length) > 0) {
40
+ fieldItems.push({
41
+ type: 'divider'
42
+ }, {
43
+ type: 'itemGroup',
44
+ title: t('Display association fields'),
45
+ children: associatedFields
46
+ });
47
+ }
48
+
49
+ fieldItems.push({
50
+ type: 'divider'
51
+ }, {
52
+ type: 'item',
53
+ title: t('Action column'),
54
+ component: 'TableActionColumnInitializer'
55
+ });
32
56
  return /*#__PURE__*/_react.default.createElement(_SchemaInitializer.SchemaInitializer.Button, {
33
57
  insertPosition: 'beforeEnd',
34
58
  icon: 'SettingOutlined',
@@ -45,17 +69,7 @@ var TableColumnInitializers = function TableColumnInitializers(props) {
45
69
  properties: _defineProperty({}, s.name, _objectSpread({}, s))
46
70
  };
47
71
  },
48
- items: (0, _utils.itemsMerge)([{
49
- type: 'itemGroup',
50
- title: t('Display fields'),
51
- children: (0, _utils.useTableColumnInitializerFields)()
52
- }, {
53
- type: 'divider'
54
- }, {
55
- type: 'item',
56
- title: t('Action column'),
57
- component: 'TableActionColumnInitializer'
58
- }], items)
72
+ items: (0, _utils.itemsMerge)(fieldItems, items)
59
73
  }, t('Configure columns'));
60
74
  };
61
75
 
@@ -27,14 +27,6 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
27
27
 
28
28
  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; }
29
29
 
30
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
31
-
32
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
-
34
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
35
-
36
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
37
-
38
30
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
39
31
 
40
32
  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."); }
@@ -55,46 +47,40 @@ var AssignedField = function AssignedField(props) {
55
47
 
56
48
  var compile = (0, _schemaComponent.useCompile)();
57
49
  var field = (0, _react.useField)();
58
- var fieldSchema = (0, _react.useFieldSchema)();
50
+ var fieldSchema = (0, _react.useFieldSchema)(); // const [type, setType] = useState<string>('constantValue');
59
51
 
60
- var _useState = (0, _react2.useState)('constantValue'),
52
+ var _useState = (0, _react2.useState)((_field$value$value = field === null || field === void 0 ? void 0 : (_field$value = field.value) === null || _field$value === void 0 ? void 0 : _field$value.value) !== null && _field$value$value !== void 0 ? _field$value$value : ''),
61
53
  _useState2 = _slicedToArray(_useState, 2),
62
- type = _useState2[0],
63
- setType = _useState2[1];
64
-
65
- var _useState3 = (0, _react2.useState)((_field$value$value = field === null || field === void 0 ? void 0 : (_field$value = field.value) === null || _field$value === void 0 ? void 0 : _field$value.value) !== null && _field$value$value !== void 0 ? _field$value$value : ''),
66
- _useState4 = _slicedToArray(_useState3, 2),
67
- value = _useState4[0],
68
- setValue = _useState4[1];
69
-
70
- var _useState5 = (0, _react2.useState)([]),
71
- _useState6 = _slicedToArray(_useState5, 2),
72
- options = _useState6[0],
73
- setOptions = _useState6[1];
74
-
75
- var _useCollection = (0, _collectionManager.useCollection)(),
76
- getField = _useCollection.getField;
77
-
78
- var collectionField = getField(fieldSchema.name);
79
- var uiSchema = collectionField.uiSchema;
80
- var currentUser = (0, _schemaComponent.useFilterOptions)('users');
81
- var currentRecord = (0, _schemaComponent.useFilterOptions)(collectionField.collectionName);
82
- (0, _react2.useEffect)(function () {
83
- var opt = [{
84
- name: 'currentUser',
85
- title: t('Current user'),
86
- children: _toConsumableArray(currentUser)
87
- }, {
88
- name: 'currentRecord',
89
- title: t('Current record'),
90
- children: _toConsumableArray(currentRecord)
91
- }];
92
- setOptions(compile(opt));
93
- }, []);
54
+ value = _useState2[0],
55
+ setValue = _useState2[1]; // const [options, setOptions] = useState<any[]>([]);
56
+ // const { getField } = useCollection();
57
+ // const collectionField = getField(fieldSchema.name);
58
+ // const { uiSchema } = collectionField;
59
+ // const currentUser = useFilterOptions('users');
60
+ // const currentRecord = useFilterOptions(collectionField.collectionName);
61
+ // useEffect(() => {
62
+ // const opt = [
63
+ // {
64
+ // name: 'currentUser',
65
+ // title: t('Current user'),
66
+ // children: [...currentUser],
67
+ // },
68
+ // {
69
+ // name: 'currentRecord',
70
+ // title: t('Current record'),
71
+ // children: [...currentRecord],
72
+ // },
73
+ // ];
74
+ // setOptions(compile(opt));
75
+ // }, []);
76
+
94
77
 
95
78
  var valueChangeHandler = function valueChangeHandler(val) {
96
79
  setValue(val);
97
- };
80
+ }; // const typeChangeHandler = (val) => {
81
+ // setType(val);
82
+ // };
83
+
98
84
 
99
85
  return /*#__PURE__*/_react2.default.createElement(_collectionManager.CollectionField, _objectSpread(_objectSpread({}, props), {}, {
100
86
  value: field.value,
@@ -74,7 +74,9 @@ export declare const removeGridFormItem: (schema: any, cb: any) => void;
74
74
  export declare const useRemoveGridFormItem: () => (schema: any, cb: any) => void;
75
75
  export declare const findTableColumn: (schema: Schema, key: string, action: string, deepth?: number) => unknown;
76
76
  export declare const useTableColumnInitializerFields: () => SchemaInitializerItemOptions[];
77
+ export declare const useAssociatedTableColumnInitializerFields: () => SchemaInitializerItemOptions[];
77
78
  export declare const useFormItemInitializerFields: (options?: any) => SchemaInitializerItemOptions[];
79
+ export declare const useAssociatedFormItemInitializerFields: (options?: any) => SchemaInitializerItemOptions[];
78
80
  export declare const useCustomFormItemInitializerFields: (options?: any) => SchemaInitializerItemOptions[];
79
81
  export declare const useCurrentSchema: (action: string, key: string, find?: (schema: Schema, key: string, action: string) => any, rm?: (schema: any, cb: any) => any) => {
80
82
  schema: any;