@nocobase/client 0.9.2-alpha.4 → 0.9.4-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 (441) hide show
  1. package/es/acl/ACLProvider.js +2 -2
  2. package/es/acl/Configuration/RoleConfigure.js +15 -8
  3. package/es/api-client/APIClient.d.ts +2 -0
  4. package/es/api-client/APIClient.js +11 -0
  5. package/es/block-provider/BlockProvider.js +58 -17
  6. package/es/block-provider/DetailsBlockProvider.js +13 -1
  7. package/es/block-provider/FormBlockProvider.js +30 -13
  8. package/es/block-provider/hooks/index.d.ts +10 -0
  9. package/es/block-provider/hooks/index.js +521 -283
  10. package/es/collection-manager/CollectionField.js +3 -3
  11. package/es/collection-manager/CollectionFieldProvider.js +2 -1
  12. package/es/collection-manager/Configuration/AddFieldAction.js +3 -3
  13. package/es/collection-manager/Configuration/CollectionFields.d.ts +1 -1
  14. package/es/collection-manager/Configuration/CollectionFields.js +2 -5
  15. package/es/collection-manager/Configuration/ConfigurationTabs.js +7 -6
  16. package/es/collection-manager/Configuration/EditFieldAction.js +0 -1
  17. package/es/collection-manager/Configuration/OverridingCollectionField.js +0 -1
  18. package/es/collection-manager/action-hooks.d.ts +1 -1
  19. package/es/collection-manager/action-hooks.js +18 -7
  20. package/es/collection-manager/hooks/useCollection.d.ts +1 -1
  21. package/es/collection-manager/hooks/useCollectionDataSource.js +4 -4
  22. package/es/collection-manager/interfaces/createdBy.js +1 -1
  23. package/es/collection-manager/interfaces/linkTo.js +3 -39
  24. package/es/collection-manager/interfaces/m2m.js +4 -38
  25. package/es/collection-manager/interfaces/m2o.js +4 -38
  26. package/es/collection-manager/interfaces/o2m.js +4 -68
  27. package/es/collection-manager/interfaces/o2o.js +25 -119
  28. package/es/collection-manager/interfaces/updatedBy.js +1 -1
  29. package/es/collection-manager/templates/expression.js +1 -1
  30. package/es/collection-manager/templates/tree.js +2 -2
  31. package/es/filter-provider/FilterProvider.js +3 -1
  32. package/es/filter-provider/utils.js +1 -1
  33. package/es/index.d.ts +1 -0
  34. package/es/index.js +1 -0
  35. package/es/locale/en_US.d.ts +19 -1
  36. package/es/locale/en_US.js +22 -4
  37. package/es/locale/es_ES.d.ts +692 -0
  38. package/es/locale/es_ES.js +691 -0
  39. package/es/locale/ja_JP.d.ts +8 -1
  40. package/es/locale/ja_JP.js +9 -2
  41. package/es/locale/pt_BR.d.ts +5 -1
  42. package/es/locale/pt_BR.js +6 -2
  43. package/es/locale/ru_RU.d.ts +5 -1
  44. package/es/locale/ru_RU.js +6 -2
  45. package/es/locale/tr_TR.d.ts +5 -1
  46. package/es/locale/tr_TR.js +6 -2
  47. package/es/locale/zh_CN.d.ts +27 -1
  48. package/es/locale/zh_CN.js +28 -2
  49. package/es/record-provider/index.d.ts +4 -0
  50. package/es/record-provider/index.js +3 -0
  51. package/es/schema-component/antd/action/Action.Designer.js +10 -8
  52. package/es/schema-component/antd/action/Action.Drawer.js +4 -1
  53. package/es/schema-component/antd/action/ActionBar.js +25 -18
  54. package/es/schema-component/antd/association-field/AssociationFieldProvider.d.ts +2 -0
  55. package/es/schema-component/antd/association-field/AssociationFieldProvider.js +30 -0
  56. package/es/schema-component/antd/association-field/AssociationSelect.d.ts +14 -0
  57. package/es/schema-component/antd/association-field/AssociationSelect.js +63 -0
  58. package/es/schema-component/antd/association-field/Editable.d.ts +2 -0
  59. package/es/schema-component/antd/association-field/Editable.js +112 -0
  60. package/es/schema-component/antd/association-field/FileManager.d.ts +4 -0
  61. package/es/schema-component/antd/association-field/FileManager.js +243 -0
  62. package/es/schema-component/antd/association-field/InternalNester.d.ts +1 -0
  63. package/es/schema-component/antd/association-field/InternalNester.js +29 -0
  64. package/es/schema-component/antd/association-field/InternalPicker.d.ts +2 -0
  65. package/es/schema-component/antd/association-field/InternalPicker.js +236 -0
  66. package/es/schema-component/antd/association-field/InternalSubTable.d.ts +1 -0
  67. package/es/schema-component/antd/association-field/InternalSubTable.js +28 -0
  68. package/es/schema-component/antd/association-field/InternalViewer.d.ts +2 -0
  69. package/es/schema-component/antd/association-field/InternalViewer.js +112 -0
  70. package/es/schema-component/antd/association-field/Nester.d.ts +1 -0
  71. package/es/schema-component/antd/association-field/Nester.js +71 -0
  72. package/es/schema-component/antd/association-field/ReadPretty.d.ts +2 -0
  73. package/es/schema-component/antd/association-field/ReadPretty.js +22 -0
  74. package/es/schema-component/antd/association-field/SubTable.d.ts +1 -0
  75. package/es/schema-component/antd/association-field/SubTable.js +25 -0
  76. package/es/schema-component/antd/association-field/components/CreateRecordAction.d.ts +2 -0
  77. package/es/schema-component/antd/association-field/components/CreateRecordAction.js +61 -0
  78. package/es/schema-component/antd/association-field/context.d.ts +8 -0
  79. package/es/schema-component/antd/association-field/context.js +2 -0
  80. package/es/schema-component/antd/association-field/hooks.d.ts +9 -0
  81. package/es/schema-component/antd/association-field/hooks.js +96 -0
  82. package/es/schema-component/antd/association-field/index.d.ts +1 -0
  83. package/es/schema-component/antd/association-field/index.js +14 -0
  84. package/es/schema-component/antd/association-field/schema.d.ts +142 -0
  85. package/es/schema-component/antd/association-field/schema.js +141 -0
  86. package/es/schema-component/antd/association-field/util.d.ts +8 -0
  87. package/es/schema-component/antd/association-field/util.js +84 -0
  88. package/es/schema-component/antd/association-filter/AssociationFilter.Item.js +3 -3
  89. package/es/schema-component/antd/association-select/AssociationSelect.js +49 -231
  90. package/es/schema-component/antd/association-select/useServiceOptions.js +2 -2
  91. package/es/schema-component/antd/collection-select/CollectionSelect.js +5 -0
  92. package/es/schema-component/antd/expand-action/Expand.Action.Design.d.ts +1 -0
  93. package/es/schema-component/antd/expand-action/Expand.Action.Design.js +112 -0
  94. package/es/schema-component/antd/expand-action/Expand.Action.d.ts +1 -0
  95. package/es/schema-component/antd/expand-action/Expand.Action.js +40 -0
  96. package/es/schema-component/antd/expand-action/index.d.ts +1 -0
  97. package/es/schema-component/antd/expand-action/index.js +5 -0
  98. package/es/schema-component/antd/filter/Filter.Action.Designer.js +10 -12
  99. package/es/schema-component/antd/filter/FilterItem.js +1 -1
  100. package/es/schema-component/antd/filter/useOperators.d.ts +1 -1
  101. package/es/schema-component/antd/form/Form.js +4 -4
  102. package/es/schema-component/antd/form-item/FormItem.d.ts +2 -1
  103. package/es/schema-component/antd/form-item/FormItem.js +263 -168
  104. package/es/schema-component/antd/form-item/SchemaSettingOptions.js +39 -61
  105. package/es/schema-component/antd/form-v2/Form.Designer.js +1 -0
  106. package/es/schema-component/antd/form-v2/Templates.d.ts +20 -0
  107. package/es/schema-component/antd/form-v2/Templates.js +40 -12
  108. package/es/schema-component/antd/form-v2/utils.js +3 -1
  109. package/es/schema-component/antd/gantt/components/other/tooltip.js +1 -1
  110. package/es/schema-component/antd/grid/Grid.js +34 -24
  111. package/es/schema-component/antd/grid-card/GridCard.Decorator.d.ts +5 -0
  112. package/es/schema-component/antd/grid-card/GridCard.Decorator.js +65 -0
  113. package/es/schema-component/antd/grid-card/GridCard.Designer.d.ts +1 -0
  114. package/es/schema-component/antd/grid-card/GridCard.Designer.js +243 -0
  115. package/es/schema-component/antd/grid-card/GridCard.Item.d.ts +1 -0
  116. package/es/schema-component/antd/grid-card/GridCard.Item.js +18 -0
  117. package/es/schema-component/antd/grid-card/GridCard.d.ts +8 -0
  118. package/es/schema-component/antd/grid-card/GridCard.js +103 -0
  119. package/es/schema-component/antd/grid-card/hooks.d.ts +4 -0
  120. package/es/schema-component/antd/grid-card/hooks.js +9 -0
  121. package/es/schema-component/antd/grid-card/index.d.ts +1 -0
  122. package/es/schema-component/antd/grid-card/index.js +1 -0
  123. package/es/schema-component/antd/grid-card/options.d.ts +20 -0
  124. package/es/schema-component/antd/grid-card/options.js +20 -0
  125. package/es/schema-component/antd/index.d.ts +5 -1
  126. package/es/schema-component/antd/index.js +5 -1
  127. package/es/schema-component/antd/list/List.Decorator.d.ts +5 -0
  128. package/es/schema-component/antd/list/List.Decorator.js +59 -0
  129. package/es/schema-component/antd/list/List.Designer.d.ts +1 -0
  130. package/es/schema-component/antd/list/List.Designer.js +205 -0
  131. package/es/schema-component/antd/list/List.Item.d.ts +1 -0
  132. package/es/schema-component/antd/list/List.Item.js +15 -0
  133. package/es/schema-component/antd/list/List.d.ts +8 -0
  134. package/es/schema-component/antd/list/List.js +83 -0
  135. package/es/schema-component/antd/list/hooks.d.ts +4 -0
  136. package/es/schema-component/antd/list/hooks.js +9 -0
  137. package/es/schema-component/antd/list/index.d.ts +1 -0
  138. package/es/schema-component/antd/list/index.js +1 -0
  139. package/es/schema-component/antd/menu/Menu.js +6 -3
  140. package/es/schema-component/antd/record-picker/InputRecordPicker.d.ts +1 -0
  141. package/es/schema-component/antd/record-picker/InputRecordPicker.js +32 -12
  142. package/es/schema-component/antd/remote-select/RemoteSelect.js +23 -23
  143. package/es/schema-component/antd/select/Select.js +2 -0
  144. package/es/schema-component/antd/table/Table.Void.Designer.js +1 -0
  145. package/es/schema-component/antd/table-v2/Table.Column.Designer.js +18 -9
  146. package/es/schema-component/antd/table-v2/Table.Index.d.ts +1 -0
  147. package/es/schema-component/antd/table-v2/Table.Index.js +6 -0
  148. package/es/schema-component/antd/table-v2/Table.js +9 -5
  149. package/es/schema-component/antd/table-v2/TableBlockDesigner.js +2 -1
  150. package/es/schema-component/antd/table-v2/TableSelectorDesigner.js +1 -0
  151. package/es/schema-component/antd/table-v2/hooks/useUserVariable.d.ts +22 -0
  152. package/es/schema-component/antd/table-v2/hooks/useUserVariable.js +65 -0
  153. package/es/schema-component/antd/table-v2/index.js +3 -1
  154. package/es/schema-component/antd/table-v2/utils.js +1 -1
  155. package/es/schema-component/antd/variable/Input.js +11 -8
  156. package/es/schema-component/antd/variable/TextArea.js +2 -5
  157. package/es/schema-component/common/dnd-context/index.js +3 -2
  158. package/es/schema-component/common/sortable-item/SortableItem.js +4 -1
  159. package/es/schema-component/common/utils/uitls.js +1 -1
  160. package/es/schema-component/core/SchemaComponentProvider.js +2 -2
  161. package/es/schema-component/hooks/index.d.ts +1 -0
  162. package/es/schema-component/hooks/index.js +2 -1
  163. package/es/schema-component/hooks/useFieldModeOptions.d.ts +4 -0
  164. package/es/schema-component/hooks/useFieldModeOptions.js +105 -0
  165. package/es/schema-initializer/SchemaInitializerProvider.d.ts +1 -0
  166. package/es/schema-initializer/SchemaInitializerProvider.js +23 -10
  167. package/es/schema-initializer/buttons/BlockInitializers.js +10 -0
  168. package/es/schema-initializer/buttons/CustomFormItemInitializers.js +4 -2
  169. package/es/schema-initializer/buttons/FormActionInitializers.d.ts +0 -116
  170. package/es/schema-initializer/buttons/FormActionInitializers.js +106 -100
  171. package/es/schema-initializer/buttons/GanttActionInitializers.d.ts +0 -19
  172. package/es/schema-initializer/buttons/GridCardActionInitializers.d.ts +195 -0
  173. package/es/schema-initializer/buttons/GridCardActionInitializers.js +278 -0
  174. package/es/schema-initializer/buttons/ListActionInitializers.d.ts +195 -0
  175. package/es/schema-initializer/buttons/ListActionInitializers.js +278 -0
  176. package/es/schema-initializer/buttons/TableActionColumnInitializers.js +1 -1
  177. package/es/schema-initializer/buttons/TableActionInitializers.d.ts +0 -20
  178. package/es/schema-initializer/buttons/TableActionInitializers.js +29 -35
  179. package/es/schema-initializer/buttons/TableColumnInitializers.js +4 -1
  180. package/es/schema-initializer/buttons/index.d.ts +3 -0
  181. package/es/schema-initializer/buttons/index.js +3 -0
  182. package/es/schema-initializer/components/BulkEditField.js +7 -5
  183. package/es/schema-initializer/components/CreateRecordAction.d.ts +2 -1
  184. package/es/schema-initializer/components/CreateRecordAction.js +55 -33
  185. package/es/schema-initializer/components/DeletedField.d.ts +1 -0
  186. package/es/schema-initializer/components/DeletedField.js +11 -0
  187. package/es/schema-initializer/components/assigned-field/AssignedField.js +35 -23
  188. package/es/schema-initializer/items/ExpandActionInitializer.d.ts +0 -1
  189. package/es/schema-initializer/items/ExpandActionInitializer.js +9 -34
  190. package/es/schema-initializer/items/GridCardBlockInitializer.d.ts +1 -0
  191. package/es/schema-initializer/items/GridCardBlockInitializer.js +47 -0
  192. package/es/schema-initializer/items/ListBlockInitializer.d.ts +1 -0
  193. package/es/schema-initializer/items/ListBlockInitializer.js +47 -0
  194. package/es/schema-initializer/items/SelectActionInitializer.d.ts +1 -0
  195. package/es/schema-initializer/items/SelectActionInitializer.js +65 -0
  196. package/es/schema-initializer/items/index.d.ts +3 -0
  197. package/es/schema-initializer/items/index.js +3 -0
  198. package/es/schema-initializer/utils.d.ts +112 -0
  199. package/es/schema-initializer/utils.js +224 -38
  200. package/es/schema-items/GeneralSchemaItems.d.ts +4 -0
  201. package/es/schema-items/GeneralSchemaItems.js +148 -0
  202. package/es/schema-items/index.d.ts +1 -0
  203. package/es/schema-items/index.js +2 -1
  204. package/es/schema-settings/DataTemplates/FormDataTemplates.d.ts +1 -0
  205. package/es/schema-settings/DataTemplates/FormDataTemplates.js +117 -42
  206. package/es/schema-settings/DataTemplates/components/Designer.d.ts +7 -0
  207. package/es/schema-settings/DataTemplates/components/Designer.js +179 -0
  208. package/es/schema-settings/DataTemplates/hooks/useCollectionState.d.ts +6 -1
  209. package/es/schema-settings/DataTemplates/hooks/useCollectionState.js +204 -96
  210. package/es/schema-settings/GeneralSchemaDesigner.js +19 -15
  211. package/es/schema-settings/LinkageRules/FilterDynamicComponent.js +1 -1
  212. package/es/schema-settings/LinkageRules/Variables.d.ts +1 -1
  213. package/es/schema-settings/LinkageRules/Variables.js +7 -4
  214. package/es/schema-settings/SchemaSettings.d.ts +1 -1
  215. package/es/schema-settings/SchemaSettings.js +53 -29
  216. package/es/schema-settings/VariableInput/hooks/useUserVariable.js +1 -1
  217. package/es/schema-settings/hooks/useIsShowMultipleSwitch.d.ts +4 -0
  218. package/es/schema-settings/hooks/useIsShowMultipleSwitch.js +18 -0
  219. package/es/schema-templates/BlockTemplateDetails.js +1 -1
  220. package/es/user/CurrentUser.js +118 -10
  221. package/lib/acl/ACLProvider.js +2 -2
  222. package/lib/acl/Configuration/RoleConfigure.js +15 -8
  223. package/lib/api-client/APIClient.d.ts +2 -0
  224. package/lib/api-client/APIClient.js +11 -0
  225. package/lib/block-provider/BlockProvider.js +57 -16
  226. package/lib/block-provider/DetailsBlockProvider.js +13 -1
  227. package/lib/block-provider/FormBlockProvider.js +31 -15
  228. package/lib/block-provider/hooks/index.d.ts +10 -0
  229. package/lib/block-provider/hooks/index.js +531 -290
  230. package/lib/collection-manager/CollectionField.js +3 -3
  231. package/lib/collection-manager/CollectionFieldProvider.js +2 -1
  232. package/lib/collection-manager/Configuration/AddFieldAction.js +2 -2
  233. package/lib/collection-manager/Configuration/CollectionFields.d.ts +1 -1
  234. package/lib/collection-manager/Configuration/CollectionFields.js +2 -5
  235. package/lib/collection-manager/Configuration/ConfigurationTabs.js +7 -6
  236. package/lib/collection-manager/Configuration/EditFieldAction.js +0 -1
  237. package/lib/collection-manager/Configuration/OverridingCollectionField.js +0 -1
  238. package/lib/collection-manager/action-hooks.d.ts +1 -1
  239. package/lib/collection-manager/action-hooks.js +18 -7
  240. package/lib/collection-manager/hooks/useCollection.d.ts +1 -1
  241. package/lib/collection-manager/hooks/useCollectionDataSource.js +4 -4
  242. package/lib/collection-manager/interfaces/createdBy.js +1 -1
  243. package/lib/collection-manager/interfaces/linkTo.js +2 -38
  244. package/lib/collection-manager/interfaces/m2m.js +3 -37
  245. package/lib/collection-manager/interfaces/m2o.js +3 -37
  246. package/lib/collection-manager/interfaces/o2m.js +6 -70
  247. package/lib/collection-manager/interfaces/o2o.js +30 -124
  248. package/lib/collection-manager/interfaces/updatedBy.js +1 -1
  249. package/lib/collection-manager/templates/expression.js +1 -1
  250. package/lib/collection-manager/templates/tree.js +2 -2
  251. package/lib/filter-provider/FilterProvider.js +3 -1
  252. package/lib/filter-provider/utils.js +1 -1
  253. package/lib/index.d.ts +1 -0
  254. package/lib/index.js +11 -0
  255. package/lib/locale/en_US.d.ts +19 -1
  256. package/lib/locale/en_US.js +22 -4
  257. package/lib/locale/es_ES.d.ts +692 -0
  258. package/lib/locale/es_ES.js +698 -0
  259. package/lib/locale/ja_JP.d.ts +8 -1
  260. package/lib/locale/ja_JP.js +9 -2
  261. package/lib/locale/pt_BR.d.ts +5 -1
  262. package/lib/locale/pt_BR.js +6 -2
  263. package/lib/locale/ru_RU.d.ts +5 -1
  264. package/lib/locale/ru_RU.js +6 -2
  265. package/lib/locale/tr_TR.d.ts +5 -1
  266. package/lib/locale/tr_TR.js +6 -2
  267. package/lib/locale/zh_CN.d.ts +27 -1
  268. package/lib/locale/zh_CN.js +28 -2
  269. package/lib/record-provider/index.d.ts +4 -0
  270. package/lib/record-provider/index.js +5 -1
  271. package/lib/schema-component/antd/action/Action.Designer.js +10 -8
  272. package/lib/schema-component/antd/action/Action.Drawer.js +4 -1
  273. package/lib/schema-component/antd/action/ActionBar.js +23 -16
  274. package/lib/schema-component/antd/association-field/AssociationFieldProvider.d.ts +2 -0
  275. package/lib/schema-component/antd/association-field/AssociationFieldProvider.js +40 -0
  276. package/lib/schema-component/antd/association-field/AssociationSelect.d.ts +14 -0
  277. package/lib/schema-component/antd/association-field/AssociationSelect.js +72 -0
  278. package/lib/schema-component/antd/association-field/Editable.d.ts +2 -0
  279. package/lib/schema-component/antd/association-field/Editable.js +121 -0
  280. package/lib/schema-component/antd/association-field/FileManager.d.ts +4 -0
  281. package/lib/schema-component/antd/association-field/FileManager.js +253 -0
  282. package/lib/schema-component/antd/association-field/InternalNester.d.ts +1 -0
  283. package/lib/schema-component/antd/association-field/InternalNester.js +39 -0
  284. package/lib/schema-component/antd/association-field/InternalPicker.d.ts +2 -0
  285. package/lib/schema-component/antd/association-field/InternalPicker.js +246 -0
  286. package/lib/schema-component/antd/association-field/InternalSubTable.d.ts +1 -0
  287. package/lib/schema-component/antd/association-field/InternalSubTable.js +39 -0
  288. package/lib/schema-component/antd/association-field/InternalViewer.d.ts +2 -0
  289. package/lib/schema-component/antd/association-field/InternalViewer.js +123 -0
  290. package/lib/schema-component/antd/association-field/Nester.d.ts +1 -0
  291. package/lib/schema-component/antd/association-field/Nester.js +80 -0
  292. package/lib/schema-component/antd/association-field/ReadPretty.d.ts +2 -0
  293. package/lib/schema-component/antd/association-field/ReadPretty.js +30 -0
  294. package/lib/schema-component/antd/association-field/SubTable.d.ts +1 -0
  295. package/lib/schema-component/antd/association-field/SubTable.js +33 -0
  296. package/lib/schema-component/antd/association-field/components/CreateRecordAction.d.ts +2 -0
  297. package/lib/schema-component/antd/association-field/components/CreateRecordAction.js +71 -0
  298. package/lib/schema-component/antd/association-field/context.d.ts +8 -0
  299. package/lib/schema-component/antd/association-field/context.js +9 -0
  300. package/lib/schema-component/antd/association-field/hooks.d.ts +9 -0
  301. package/lib/schema-component/antd/association-field/hooks.js +107 -0
  302. package/lib/schema-component/antd/association-field/index.d.ts +1 -0
  303. package/lib/schema-component/antd/association-field/index.js +21 -0
  304. package/lib/schema-component/antd/association-field/schema.d.ts +142 -0
  305. package/lib/schema-component/antd/association-field/schema.js +148 -0
  306. package/lib/schema-component/antd/association-field/util.d.ts +8 -0
  307. package/lib/schema-component/antd/association-field/util.js +98 -0
  308. package/lib/schema-component/antd/association-filter/AssociationFilter.Item.js +3 -3
  309. package/lib/schema-component/antd/association-select/AssociationSelect.js +49 -231
  310. package/lib/schema-component/antd/association-select/useServiceOptions.js +2 -2
  311. package/lib/schema-component/antd/collection-select/CollectionSelect.js +5 -0
  312. package/lib/schema-component/antd/expand-action/Expand.Action.Design.d.ts +1 -0
  313. package/lib/schema-component/antd/expand-action/Expand.Action.Design.js +120 -0
  314. package/lib/schema-component/antd/expand-action/Expand.Action.d.ts +1 -0
  315. package/lib/schema-component/antd/expand-action/Expand.Action.js +48 -0
  316. package/lib/schema-component/antd/expand-action/index.d.ts +1 -0
  317. package/lib/schema-component/antd/expand-action/index.js +12 -0
  318. package/lib/schema-component/antd/filter/Filter.Action.Designer.js +10 -12
  319. package/lib/schema-component/antd/filter/FilterItem.js +1 -1
  320. package/lib/schema-component/antd/filter/useOperators.d.ts +1 -1
  321. package/lib/schema-component/antd/form/Form.js +4 -4
  322. package/lib/schema-component/antd/form-item/FormItem.d.ts +2 -1
  323. package/lib/schema-component/antd/form-item/FormItem.js +258 -162
  324. package/lib/schema-component/antd/form-item/SchemaSettingOptions.js +37 -59
  325. package/lib/schema-component/antd/form-v2/Form.Designer.js +1 -0
  326. package/lib/schema-component/antd/form-v2/Templates.d.ts +20 -0
  327. package/lib/schema-component/antd/form-v2/Templates.js +39 -11
  328. package/lib/schema-component/antd/form-v2/utils.js +3 -1
  329. package/lib/schema-component/antd/gantt/components/other/tooltip.js +1 -1
  330. package/lib/schema-component/antd/grid/Grid.js +33 -23
  331. package/lib/schema-component/antd/grid-card/GridCard.Decorator.d.ts +5 -0
  332. package/lib/schema-component/antd/grid-card/GridCard.Decorator.js +77 -0
  333. package/lib/schema-component/antd/grid-card/GridCard.Designer.d.ts +1 -0
  334. package/lib/schema-component/antd/grid-card/GridCard.Designer.js +253 -0
  335. package/lib/schema-component/antd/grid-card/GridCard.Item.d.ts +1 -0
  336. package/lib/schema-component/antd/grid-card/GridCard.Item.js +26 -0
  337. package/lib/schema-component/antd/grid-card/GridCard.d.ts +8 -0
  338. package/lib/schema-component/antd/grid-card/GridCard.js +112 -0
  339. package/lib/schema-component/antd/grid-card/hooks.d.ts +4 -0
  340. package/lib/schema-component/antd/grid-card/hooks.js +16 -0
  341. package/lib/schema-component/antd/grid-card/index.d.ts +1 -0
  342. package/lib/schema-component/antd/grid-card/index.js +16 -0
  343. package/lib/schema-component/antd/grid-card/options.d.ts +20 -0
  344. package/lib/schema-component/antd/grid-card/options.js +31 -0
  345. package/lib/schema-component/antd/index.d.ts +5 -1
  346. package/lib/schema-component/antd/index.js +55 -11
  347. package/lib/schema-component/antd/list/List.Decorator.d.ts +5 -0
  348. package/lib/schema-component/antd/list/List.Decorator.js +71 -0
  349. package/lib/schema-component/antd/list/List.Designer.d.ts +1 -0
  350. package/lib/schema-component/antd/list/List.Designer.js +213 -0
  351. package/lib/schema-component/antd/list/List.Item.d.ts +1 -0
  352. package/lib/schema-component/antd/list/List.Item.js +23 -0
  353. package/lib/schema-component/antd/list/List.d.ts +8 -0
  354. package/lib/schema-component/antd/list/List.js +92 -0
  355. package/lib/schema-component/antd/list/hooks.d.ts +4 -0
  356. package/lib/schema-component/antd/list/hooks.js +16 -0
  357. package/lib/schema-component/antd/list/index.d.ts +1 -0
  358. package/lib/schema-component/antd/list/index.js +16 -0
  359. package/lib/schema-component/antd/menu/Menu.js +6 -3
  360. package/lib/schema-component/antd/record-picker/InputRecordPicker.d.ts +1 -0
  361. package/lib/schema-component/antd/record-picker/InputRecordPicker.js +34 -13
  362. package/lib/schema-component/antd/remote-select/RemoteSelect.js +22 -22
  363. package/lib/schema-component/antd/select/Select.js +2 -0
  364. package/lib/schema-component/antd/table/Table.Void.Designer.js +1 -0
  365. package/lib/schema-component/antd/table-v2/Table.Column.Designer.js +18 -9
  366. package/lib/schema-component/antd/table-v2/Table.Index.d.ts +1 -0
  367. package/lib/schema-component/antd/table-v2/Table.Index.js +14 -0
  368. package/lib/schema-component/antd/table-v2/Table.js +9 -5
  369. package/lib/schema-component/antd/table-v2/TableBlockDesigner.js +2 -1
  370. package/lib/schema-component/antd/table-v2/TableSelectorDesigner.js +1 -0
  371. package/lib/schema-component/antd/table-v2/hooks/useUserVariable.d.ts +22 -0
  372. package/lib/schema-component/antd/table-v2/hooks/useUserVariable.js +73 -0
  373. package/lib/schema-component/antd/table-v2/index.js +3 -1
  374. package/lib/schema-component/antd/table-v2/utils.js +1 -1
  375. package/lib/schema-component/antd/variable/Input.js +11 -8
  376. package/lib/schema-component/antd/variable/TextArea.js +2 -5
  377. package/lib/schema-component/common/dnd-context/index.js +3 -2
  378. package/lib/schema-component/common/sortable-item/SortableItem.js +4 -1
  379. package/lib/schema-component/common/utils/uitls.js +1 -1
  380. package/lib/schema-component/core/SchemaComponentProvider.js +2 -2
  381. package/lib/schema-component/hooks/index.d.ts +1 -0
  382. package/lib/schema-component/hooks/index.js +11 -0
  383. package/lib/schema-component/hooks/useFieldModeOptions.d.ts +4 -0
  384. package/lib/schema-component/hooks/useFieldModeOptions.js +112 -0
  385. package/lib/schema-initializer/SchemaInitializerProvider.d.ts +1 -0
  386. package/lib/schema-initializer/SchemaInitializerProvider.js +22 -9
  387. package/lib/schema-initializer/buttons/BlockInitializers.js +10 -0
  388. package/lib/schema-initializer/buttons/CustomFormItemInitializers.js +4 -2
  389. package/lib/schema-initializer/buttons/FormActionInitializers.d.ts +0 -116
  390. package/lib/schema-initializer/buttons/FormActionInitializers.js +106 -100
  391. package/lib/schema-initializer/buttons/GanttActionInitializers.d.ts +0 -19
  392. package/lib/schema-initializer/buttons/GridCardActionInitializers.d.ts +195 -0
  393. package/lib/schema-initializer/buttons/GridCardActionInitializers.js +285 -0
  394. package/lib/schema-initializer/buttons/ListActionInitializers.d.ts +195 -0
  395. package/lib/schema-initializer/buttons/ListActionInitializers.js +285 -0
  396. package/lib/schema-initializer/buttons/TableActionColumnInitializers.js +1 -1
  397. package/lib/schema-initializer/buttons/TableActionInitializers.d.ts +0 -20
  398. package/lib/schema-initializer/buttons/TableActionInitializers.js +29 -35
  399. package/lib/schema-initializer/buttons/TableColumnInitializers.js +4 -1
  400. package/lib/schema-initializer/buttons/index.d.ts +3 -0
  401. package/lib/schema-initializer/buttons/index.js +22 -0
  402. package/lib/schema-initializer/components/BulkEditField.js +7 -5
  403. package/lib/schema-initializer/components/CreateRecordAction.d.ts +2 -1
  404. package/lib/schema-initializer/components/CreateRecordAction.js +58 -35
  405. package/lib/schema-initializer/components/DeletedField.d.ts +1 -0
  406. package/lib/schema-initializer/components/DeletedField.js +19 -0
  407. package/lib/schema-initializer/components/assigned-field/AssignedField.js +34 -22
  408. package/lib/schema-initializer/items/ExpandActionInitializer.d.ts +0 -1
  409. package/lib/schema-initializer/items/ExpandActionInitializer.js +11 -37
  410. package/lib/schema-initializer/items/GridCardBlockInitializer.d.ts +1 -0
  411. package/lib/schema-initializer/items/GridCardBlockInitializer.js +55 -0
  412. package/lib/schema-initializer/items/ListBlockInitializer.d.ts +1 -0
  413. package/lib/schema-initializer/items/ListBlockInitializer.js +55 -0
  414. package/lib/schema-initializer/items/SelectActionInitializer.d.ts +1 -0
  415. package/lib/schema-initializer/items/SelectActionInitializer.js +73 -0
  416. package/lib/schema-initializer/items/index.d.ts +3 -0
  417. package/lib/schema-initializer/items/index.js +33 -0
  418. package/lib/schema-initializer/utils.d.ts +112 -0
  419. package/lib/schema-initializer/utils.js +227 -39
  420. package/lib/schema-items/GeneralSchemaItems.d.ts +4 -0
  421. package/lib/schema-items/GeneralSchemaItems.js +156 -0
  422. package/lib/schema-items/index.d.ts +1 -0
  423. package/lib/schema-items/index.js +11 -0
  424. package/lib/schema-settings/DataTemplates/FormDataTemplates.d.ts +1 -0
  425. package/lib/schema-settings/DataTemplates/FormDataTemplates.js +119 -41
  426. package/lib/schema-settings/DataTemplates/components/Designer.d.ts +7 -0
  427. package/lib/schema-settings/DataTemplates/components/Designer.js +188 -0
  428. package/lib/schema-settings/DataTemplates/hooks/useCollectionState.d.ts +6 -1
  429. package/lib/schema-settings/DataTemplates/hooks/useCollectionState.js +204 -95
  430. package/lib/schema-settings/GeneralSchemaDesigner.js +21 -15
  431. package/lib/schema-settings/LinkageRules/FilterDynamicComponent.js +1 -1
  432. package/lib/schema-settings/LinkageRules/Variables.d.ts +1 -1
  433. package/lib/schema-settings/LinkageRules/Variables.js +7 -4
  434. package/lib/schema-settings/SchemaSettings.d.ts +1 -1
  435. package/lib/schema-settings/SchemaSettings.js +53 -29
  436. package/lib/schema-settings/VariableInput/hooks/useUserVariable.js +1 -1
  437. package/lib/schema-settings/hooks/useIsShowMultipleSwitch.d.ts +4 -0
  438. package/lib/schema-settings/hooks/useIsShowMultipleSwitch.js +24 -0
  439. package/lib/user/CurrentUser.js +116 -8
  440. package/package.json +5 -6
  441. package/tsconfig.json +8 -0
@@ -1,4 +1,8 @@
1
1
  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); }
2
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ 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."); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
2
6
  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; }
3
7
  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
8
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -10,7 +14,9 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
10
14
  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; }
11
15
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
16
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- import React, { useState } from 'react';
17
+ import { error } from '@nocobase/utils/client';
18
+ import _ from 'lodash';
19
+ import React, { useCallback, useState } from 'react';
14
20
  import { useCollectionManager } from '../../../collection-manager';
15
21
  import { useCompile } from '../../../schema-component';
16
22
  import { TreeNode } from '../TreeLabel';
@@ -24,6 +30,7 @@ export var useCollectionState = function useCollectionState(currentCollectionNam
24
30
  _useState2 = _slicedToArray(_useState, 1),
25
31
  collectionList = _useState2[0];
26
32
  var compile = useCompile();
33
+ var dataFields = {};
27
34
  function getCollectionList() {
28
35
  var collections = getAllCollectionsInheritChain(currentCollectionName);
29
36
  return collections.map(function (name) {
@@ -34,114 +41,215 @@ export var useCollectionState = function useCollectionState(currentCollectionNam
34
41
  };
35
42
  });
36
43
  }
37
- var getEnableFieldTree = function getEnableFieldTree(collectionName) {
38
- if (!collectionName) {
44
+ // 过滤掉系统字段
45
+ var systemKeys = [
46
+ // 'id',
47
+ 'sort', 'createdById', 'createdBy', 'createdAt', 'updatedById', 'updatedBy', 'updatedAt'];
48
+ /**
49
+ * maxDepth: 从 0 开始,0 表示一层,1 表示两层,以此类推
50
+ */
51
+ var traverseFields = function traverseFields(collectionName, _ref) {
52
+ var _ref$exclude = _ref.exclude,
53
+ exclude = _ref$exclude === void 0 ? [] : _ref$exclude,
54
+ _ref$depth = _ref.depth,
55
+ depth = _ref$depth === void 0 ? 0 : _ref$depth,
56
+ maxDepth = _ref.maxDepth,
57
+ _ref$prefix = _ref.prefix,
58
+ prefix = _ref$prefix === void 0 ? '' : _ref$prefix;
59
+ if (depth > maxDepth) {
39
60
  return [];
40
61
  }
41
- // 过滤掉系统字段
42
- var systemKeys = [
43
- // 'id',
44
- 'sort', 'createdById', 'createdBy', 'createdAt', 'updatedById', 'updatedBy', 'updatedAt'];
45
- var traverseAssociations = function traverseAssociations(collectionName, _ref) {
46
- var prefix = _ref.prefix,
47
- maxDepth = _ref.maxDepth,
48
- depth = _ref.depth,
49
- _ref$exclude = _ref.exclude,
50
- exclude = _ref$exclude === void 0 ? [] : _ref$exclude;
51
- if (depth > maxDepth) {
52
- return [];
62
+ return getCollectionFields(collectionName).map(function (field) {
63
+ var _field$uiSchema;
64
+ if (exclude.includes(field.name)) {
65
+ return;
53
66
  }
54
- return getCollectionFields(collectionName).map(function (field) {
55
- var _field$uiSchema;
56
- if (!field.target || !field.interface) {
57
- return;
58
- }
59
- if (exclude.includes(field.name)) {
60
- return;
61
- }
62
- var option = {
63
- type: 'preloading',
64
- tag: compile((_field$uiSchema = field.uiSchema) === null || _field$uiSchema === void 0 ? void 0 : _field$uiSchema.title) || field.name
65
- };
66
- var value = prefix ? "".concat(prefix, ".").concat(field.name) : field.name;
67
- return {
68
- title: /*#__PURE__*/React.createElement(TreeNode, option),
69
- key: value,
70
- children: traverseAssociations(getCollectionFields(field.target), {
71
- prefix: value,
72
- depth: depth + 1,
73
- maxDepth: maxDepth,
74
- exclude: exclude
75
- })
76
- };
77
- }).filter(Boolean);
78
- };
79
- var traverseFields = function traverseFields(collectionName, _ref2) {
80
- var _ref2$exclude = _ref2.exclude,
81
- exclude = _ref2$exclude === void 0 ? [] : _ref2$exclude,
82
- _ref2$depth = _ref2.depth,
83
- depth = _ref2$depth === void 0 ? 0 : _ref2$depth,
84
- maxDepth = _ref2.maxDepth,
85
- _ref2$prefix = _ref2.prefix,
86
- prefix = _ref2$prefix === void 0 ? '' : _ref2$prefix;
87
- if (depth > maxDepth) {
88
- return [];
67
+ if (!field.interface) {
68
+ return;
89
69
  }
90
- return getCollectionFields(collectionName).map(function (field) {
91
- var _field$uiSchema2;
92
- if (exclude.includes(field.name)) {
93
- return;
94
- }
95
- if (!field.interface) {
96
- return;
97
- }
98
- if (['sort', 'password', 'sequence'].includes(field.type)) {
99
- return;
100
- }
101
- var node = {
102
- type: 'duplicate',
103
- tag: compile((_field$uiSchema2 = field.uiSchema) === null || _field$uiSchema2 === void 0 ? void 0 : _field$uiSchema2.title) || field.name
104
- };
105
- var option = _objectSpread(_objectSpread({}, node), {}, {
106
- title: /*#__PURE__*/React.createElement(TreeNode, node),
107
- key: prefix ? "".concat(prefix, ".").concat(field.name) : field.name
70
+ if (['sort', 'password', 'sequence'].includes(field.type)) {
71
+ return;
72
+ }
73
+ var node = {
74
+ type: 'duplicate',
75
+ tag: compile((_field$uiSchema = field.uiSchema) === null || _field$uiSchema === void 0 ? void 0 : _field$uiSchema.title) || field.name
76
+ };
77
+ var option = _objectSpread(_objectSpread({}, node), {}, {
78
+ title: /*#__PURE__*/React.createElement(TreeNode, node),
79
+ key: prefix ? "".concat(prefix, ".").concat(field.name) : field.name,
80
+ isLeaf: true,
81
+ field: field
82
+ });
83
+ // 多对多和多对一只展示关系字段
84
+ if (['belongsTo', 'belongsToMany'].includes(field.type)) {
85
+ node['type'] = 'reference';
86
+ option['type'] = 'reference';
87
+ option['title'] = /*#__PURE__*/React.createElement(TreeNode, _objectSpread(_objectSpread({}, node), {}, {
88
+ type: 'reference'
89
+ }));
90
+ option.isLeaf = false;
91
+ option['children'] = traverseAssociations(field.target, {
92
+ depth: depth + 1,
93
+ maxDepth: maxDepth,
94
+ prefix: option.key,
95
+ exclude: systemKeys
108
96
  });
109
- // 多对多的只展示关系字段
110
- if (['belongsTo', 'belongsToMany'].includes(field.type)) {
111
- node['type'] = 'reference';
112
- option['type'] = 'reference';
113
- option['title'] = /*#__PURE__*/React.createElement(TreeNode, _objectSpread(_objectSpread({}, node), {}, {
114
- type: 'reference'
115
- }));
116
- option['children'] = traverseAssociations(field.target, {
117
- depth: depth + 1,
118
- maxDepth: maxDepth,
119
- prefix: option.key,
120
- exclude: systemKeys
121
- });
122
- } else if (['hasOne', 'hasMany'].includes(field.type)) {
123
- option['children'] = traverseFields(field.target, {
124
- depth: depth + 1,
125
- maxDepth: maxDepth,
126
- prefix: option.key,
127
- exclude: ['id'].concat(systemKeys)
128
- });
129
- }
130
- return option;
131
- }).filter(Boolean);
132
- };
97
+ } else if (['hasOne', 'hasMany'].includes(field.type)) {
98
+ option.isLeaf = false;
99
+ option['children'] = traverseFields(field.target, {
100
+ depth: depth + 1,
101
+ maxDepth: maxDepth,
102
+ prefix: option.key,
103
+ exclude: ['id'].concat(systemKeys)
104
+ });
105
+ }
106
+ return option;
107
+ }).filter(Boolean);
108
+ };
109
+ var traverseAssociations = function traverseAssociations(collectionName, _ref2) {
110
+ var prefix = _ref2.prefix,
111
+ maxDepth = _ref2.maxDepth,
112
+ _ref2$depth = _ref2.depth,
113
+ depth = _ref2$depth === void 0 ? 0 : _ref2$depth,
114
+ _ref2$exclude = _ref2.exclude,
115
+ exclude = _ref2$exclude === void 0 ? [] : _ref2$exclude;
116
+ if (depth > maxDepth) {
117
+ return [];
118
+ }
119
+ return getCollectionFields(collectionName).map(function (field) {
120
+ var _field$uiSchema2;
121
+ if (!field.target || !field.interface) {
122
+ return;
123
+ }
124
+ if (exclude.includes(field.name)) {
125
+ return;
126
+ }
127
+ var option = {
128
+ type: 'preloading',
129
+ tag: compile((_field$uiSchema2 = field.uiSchema) === null || _field$uiSchema2 === void 0 ? void 0 : _field$uiSchema2.title) || field.name
130
+ };
131
+ var value = prefix ? "".concat(prefix, ".").concat(field.name) : field.name;
132
+ return {
133
+ title: /*#__PURE__*/React.createElement(TreeNode, option),
134
+ key: value,
135
+ isLeaf: false,
136
+ field: field,
137
+ children: traverseAssociations(field.target, {
138
+ prefix: value,
139
+ depth: depth + 1,
140
+ maxDepth: maxDepth,
141
+ exclude: exclude
142
+ })
143
+ };
144
+ }).filter(Boolean);
145
+ };
146
+ /**
147
+ * fields: 通过在 x-reactions 字段中传递 $self 得到的,相当于 useField 的返回值,目的是修改其中的状态页面会更新
148
+ */
149
+ var getEnableFieldTree = useCallback(function (collectionName, fields) {
150
+ dataFields = fields;
151
+ if (!collectionName) {
152
+ return [];
153
+ }
133
154
  try {
134
155
  return traverseFields(collectionName, {
135
156
  exclude: ['id'].concat(systemKeys),
136
- maxDepth: 3
157
+ maxDepth: 1
137
158
  });
138
159
  } catch (error) {
139
160
  console.error(error);
140
161
  return [];
141
162
  }
142
- };
163
+ }, []);
164
+ var onLoadData = useCallback(function (node) {
165
+ return new Promise(function (resolve) {
166
+ if (node.children.length) {
167
+ node.children.forEach(function (child) {
168
+ loadChildren({
169
+ node: child,
170
+ traverseAssociations: traverseAssociations,
171
+ traverseFields: traverseFields,
172
+ systemKeys: systemKeys,
173
+ dataFields: dataFields
174
+ });
175
+ });
176
+ return resolve(void 0);
177
+ }
178
+ loadChildren({
179
+ node: node,
180
+ traverseAssociations: traverseAssociations,
181
+ traverseFields: traverseFields,
182
+ systemKeys: systemKeys,
183
+ dataFields: dataFields
184
+ });
185
+ resolve(void 0);
186
+ });
187
+ }, []);
188
+ var onCheck = useCallback(function (checkedKeys, _ref3) {
189
+ var node = _ref3.node,
190
+ checked = _ref3.checked;
191
+ if (checked) {
192
+ var parentKey = node.key.split('.').slice(0, -1).join('.');
193
+ try {
194
+ // 当子节点被选中时,也选中所有祖先节点,提高用户辨识度
195
+ while (parentKey) {
196
+ if (parentKey) {
197
+ checkedKeys.checked = _.uniq([].concat(_toConsumableArray(checkedKeys.checked), [parentKey]));
198
+ }
199
+ parentKey = parentKey.split('.').slice(0, -1).join('.');
200
+ }
201
+ } catch (err) {
202
+ error(err);
203
+ }
204
+ }
205
+ dataFields.value = checkedKeys;
206
+ }, []);
143
207
  return {
144
208
  collectionList: collectionList,
145
- getEnableFieldTree: getEnableFieldTree
209
+ getEnableFieldTree: getEnableFieldTree,
210
+ onLoadData: onLoadData,
211
+ onCheck: onCheck
146
212
  };
147
- };
213
+ };
214
+ // 广度优先遍历查找一个 key 相等的节点并返回
215
+ function findNode(treeData, item) {
216
+ var queue = _toConsumableArray(treeData);
217
+ while (queue.length) {
218
+ var node = queue.shift();
219
+ if (node.key === item.key) {
220
+ return node;
221
+ }
222
+ if (node.children) {
223
+ queue.push.apply(queue, _toConsumableArray(node.children));
224
+ }
225
+ }
226
+ }
227
+ function loadChildren(_ref4) {
228
+ var node = _ref4.node,
229
+ traverseAssociations = _ref4.traverseAssociations,
230
+ traverseFields = _ref4.traverseFields,
231
+ systemKeys = _ref4.systemKeys,
232
+ dataFields = _ref4.dataFields;
233
+ var activeNode = findNode(dataFields.componentProps.treeData, node);
234
+ var children = [];
235
+ // 多对多和多对一只展示关系字段
236
+ if (['belongsTo', 'belongsToMany'].includes(node.field.type)) {
237
+ children = traverseAssociations(node.field.target, {
238
+ exclude: systemKeys,
239
+ prefix: node.key,
240
+ maxDepth: 1
241
+ });
242
+ } else if (['hasOne', 'hasMany'].includes(node.field.type)) {
243
+ children = traverseFields(node.field.target, {
244
+ exclude: ['id'].concat(_toConsumableArray(systemKeys)),
245
+ prefix: node.key,
246
+ maxDepth: 1
247
+ });
248
+ }
249
+ if (children.length) {
250
+ activeNode.children = children;
251
+ } else {
252
+ activeNode.isLeaf = true;
253
+ }
254
+ return children;
255
+ }
@@ -11,14 +11,14 @@ import { css } from '@emotion/css';
11
11
  import { useField, useFieldSchema } from '@formily/react';
12
12
  import { Space } from 'antd';
13
13
  import classNames from 'classnames';
14
- import React from 'react';
14
+ import React, { useMemo } from 'react';
15
15
  import { useTranslation } from 'react-i18next';
16
16
  import { DragHandler, useCompile, useDesignable, useGridContext, useGridRowContext } from '../schema-component';
17
17
  import { gridRowColWrap } from '../schema-initializer/utils';
18
18
  import { SchemaSettings } from './SchemaSettings';
19
19
  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;\n line-height: 16px;\n height: 16px;\n border-bottom-right-radius: 2px;\n border-radius: 2px;\n top: 2px;\n left: 2px;\n .title-tag {\n padding: 0 3px;\n border-radius: 2px;\n background: #f18b62;\n color: #fff;\n display: block;\n }\n"])));
20
20
  export var GeneralSchemaDesigner = function GeneralSchemaDesigner(props) {
21
- var _ctx$renderSchemaInit, _rowCtx$cols;
21
+ var _rowCtx$cols2, _ctx$renderSchemaInit;
22
22
  var disableInitializer = props.disableInitializer,
23
23
  title = props.title,
24
24
  template = props.template,
@@ -37,12 +37,25 @@ export var GeneralSchemaDesigner = function GeneralSchemaDesigner(props) {
37
37
  field: field,
38
38
  fieldSchema: fieldSchema
39
39
  };
40
- if (!designable) {
41
- return null;
42
- }
43
40
  var rowCtx = useGridRowContext();
44
41
  var ctx = useGridContext();
45
42
  var templateName = ['FormItem', 'ReadPrettyFormItem'].includes(template === null || template === void 0 ? void 0 : template.componentName) ? "".concat(template === null || template === void 0 ? void 0 : template.name, " ").concat(t('(Fields only)')) : template === null || template === void 0 ? void 0 : template.name;
43
+ var initializerProps = useMemo(function () {
44
+ var _rowCtx$cols;
45
+ return {
46
+ insertPosition: 'afterEnd',
47
+ wrap: (rowCtx === null || rowCtx === void 0 ? void 0 : (_rowCtx$cols = rowCtx.cols) === null || _rowCtx$cols === void 0 ? void 0 : _rowCtx$cols.length) > 1 ? undefined : gridRowColWrap,
48
+ component: /*#__PURE__*/React.createElement(PlusOutlined, {
49
+ style: {
50
+ cursor: 'pointer',
51
+ fontSize: 14
52
+ }
53
+ })
54
+ };
55
+ }, [rowCtx === null || rowCtx === void 0 ? void 0 : (_rowCtx$cols2 = rowCtx.cols) === null || _rowCtx$cols2 === void 0 ? void 0 : _rowCtx$cols2.length]);
56
+ if (!designable) {
57
+ return null;
58
+ }
46
59
  return /*#__PURE__*/React.createElement("div", {
47
60
  className: 'general-schema-designer'
48
61
  }, title && /*#__PURE__*/React.createElement("div", {
@@ -58,16 +71,7 @@ export var GeneralSchemaDesigner = function GeneralSchemaDesigner(props) {
58
71
  }, /*#__PURE__*/React.createElement(Space, {
59
72
  size: 2,
60
73
  align: 'center'
61
- }, draggable && /*#__PURE__*/React.createElement(DragHandler, null, /*#__PURE__*/React.createElement(DragOutlined, null)), !disableInitializer && (ctx === null || ctx === void 0 ? void 0 : (_ctx$renderSchemaInit = ctx.renderSchemaInitializer) === null || _ctx$renderSchemaInit === void 0 ? void 0 : _ctx$renderSchemaInit.call(ctx, {
62
- insertPosition: 'afterEnd',
63
- wrap: (rowCtx === null || rowCtx === void 0 ? void 0 : (_rowCtx$cols = rowCtx.cols) === null || _rowCtx$cols === void 0 ? void 0 : _rowCtx$cols.length) > 1 ? undefined : gridRowColWrap,
64
- component: /*#__PURE__*/React.createElement(PlusOutlined, {
65
- style: {
66
- cursor: 'pointer',
67
- fontSize: 14
68
- }
69
- })
70
- })), /*#__PURE__*/React.createElement(SchemaSettings, _objectSpread({
74
+ }, draggable && /*#__PURE__*/React.createElement(DragHandler, null, /*#__PURE__*/React.createElement(DragOutlined, null)), !disableInitializer && ((ctx === null || ctx === void 0 ? void 0 : ctx.InitializerComponent) ? /*#__PURE__*/React.createElement(ctx.InitializerComponent, _objectSpread({}, initializerProps)) : ctx === null || ctx === void 0 ? void 0 : (_ctx$renderSchemaInit = ctx.renderSchemaInitializer) === null || _ctx$renderSchemaInit === void 0 ? void 0 : _ctx$renderSchemaInit.call(ctx, initializerProps)), /*#__PURE__*/React.createElement(SchemaSettings, _objectSpread({
71
75
  title: /*#__PURE__*/React.createElement(MenuOutlined, {
72
76
  style: {
73
77
  cursor: 'pointer',
@@ -6,7 +6,7 @@ export function FilterDynamicComponent(props) {
6
6
  onChange = props.onChange,
7
7
  renderSchemaComponent = props.renderSchemaComponent,
8
8
  collectionName = props.collectionName;
9
- var scope = useVariableOptions(collectionName);
9
+ var scope = useVariableOptions(collectionName, ['o2m', 'm2m']);
10
10
  return /*#__PURE__*/React.createElement(Variable.Input, {
11
11
  value: value,
12
12
  onChange: onChange,
@@ -1,4 +1,4 @@
1
- export declare function useVariableOptions(collectionName: any): {
1
+ export declare function useVariableOptions(collectionName: any, excludes?: any): {
2
2
  label: any;
3
3
  value: any;
4
4
  key: any;
@@ -6,8 +6,9 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
6
6
  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; }
7
7
  import { useCompile } from '../../schema-component';
8
8
  import { useCollectionManager } from '../../collection-manager';
9
- var supportsType = ['checkbox', 'number', 'percent', 'integer', 'input', 'textarea', 'email', 'phone', 'datetime', 'createdAt', 'updatedAt', 'radioGroup', 'checkboxGroup', 'select', 'multipleSelect', 'formula', 'oho', 'obo', 'm2o', 'o2m', 'm2m'];
9
+ var supportsType = ['id', 'checkbox', 'number', 'percent', 'integer', 'input', 'textarea', 'email', 'phone', 'datetime', 'createdAt', 'updatedAt', 'radioGroup', 'checkboxGroup', 'select', 'multipleSelect', 'formula', 'oho', 'obo', 'm2o', 'o2m', 'm2m'];
10
10
  var useVariableTypes = function useVariableTypes(currentCollection) {
11
+ var excludes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
11
12
  var _useCollectionManager = useCollectionManager(),
12
13
  getCollectionFields = _useCollectionManager.getCollectionFields,
13
14
  getInterface = _useCollectionManager.getInterface,
@@ -20,7 +21,9 @@ var useVariableTypes = function useVariableTypes(currentCollection) {
20
21
  options: function options() {
21
22
  var field2option = function field2option(field, depth) {
22
23
  var _field$uiSchema;
23
- if (!field.interface || !supportsType.includes(field.interface)) {
24
+ if (!field.interface || !supportsType.filter(function (v) {
25
+ return !excludes.includes(v);
26
+ }).includes(field.interface)) {
24
27
  return;
25
28
  }
26
29
  var fieldInterface = getInterface(field.interface);
@@ -76,9 +79,9 @@ var useVariableTypes = function useVariableTypes(currentCollection) {
76
79
  }]
77
80
  }];
78
81
  };
79
- export function useVariableOptions(collectionName) {
82
+ export function useVariableOptions(collectionName, excludes) {
80
83
  var compile = useCompile();
81
- var options = useVariableTypes(collectionName).map(function (item) {
84
+ var options = useVariableTypes(collectionName, excludes).map(function (item) {
82
85
  var options = typeof item.options === 'function' ? item.options() : item.options;
83
86
  return {
84
87
  label: compile(item.title),
@@ -53,7 +53,7 @@ interface SwitchItemProps extends Omit<MenuItemProps, 'onChange'> {
53
53
  checked?: boolean;
54
54
  onChange?: (v: boolean) => void;
55
55
  }
56
- export declare const useDataTemplates: () => {
56
+ export declare const useDataTemplates: (schema?: Schema) => {
57
57
  templateData: any;
58
58
  };
59
59
  export declare const isShowDefaultValue: (collectionField: CollectionFieldOptions, getInterface: any) => boolean;
@@ -41,13 +41,14 @@ import _, { cloneDeep } from 'lodash';
41
41
  import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';
42
42
  import { createPortal } from 'react-dom';
43
43
  import { useTranslation } from 'react-i18next';
44
- import { APIClientProvider, ActionContext, CollectionManagerContext, FormProvider, RemoteSchemaComponent, SchemaComponent, SchemaComponentOptions, createDesignable, findFormBlock, useAPIClient, useCollection, useCollectionManager, useCompile, useDesignable, useLinkageCollectionFilterOptions } from '..';
44
+ import { APIClientProvider, ActionContext, CollectionManagerContext, FormProvider, RemoteSchemaComponent, SchemaComponent, SchemaComponentContext, SchemaComponentOptions, createDesignable, findFormBlock, useAPIClient, useCollection, useCollectionManager, useCompile, useDesignable, useLinkageCollectionFilterOptions } from '..';
45
45
  import { findFilterTargets, updateFilterTargets } from '../block-provider/hooks';
46
46
  import { isSameCollection, useSupportedBlocks } from '../filter-provider/utils';
47
47
  import { getTargetKey } from '../schema-component/antd/association-filter/utilts';
48
48
  import { useSchemaTemplateManager } from '../schema-templates';
49
49
  import { useBlockTemplateContext } from '../schema-templates/BlockTemplate';
50
50
  import { FormDataTemplates } from './DataTemplates';
51
+ import { EnableChildCollections } from './EnableChildCollections';
51
52
  import { FormLinkageRules } from './LinkageRules';
52
53
  import { useLinkageCollectionFieldOptions } from './LinkageRules/action-hooks';
53
54
  var SchemaSettingsContext = /*#__PURE__*/createContext(null);
@@ -951,6 +952,9 @@ SchemaSettings.ModalItem = function ModalItem(props) {
951
952
  effects: effects
952
953
  }).then(function (values) {
953
954
  onSubmit(values);
955
+ return values;
956
+ }).catch(function (err) {
957
+ console.error(err);
954
958
  });
955
959
  case 9:
956
960
  case "end":
@@ -1037,6 +1041,7 @@ SchemaSettings.DefaultSortingRules = function DefaultSortingRules(props) {
1037
1041
  field: {
1038
1042
  type: 'string',
1039
1043
  enum: sortFields,
1044
+ required: true,
1040
1045
  'x-decorator': 'FormItem',
1041
1046
  'x-component': 'Select',
1042
1047
  'x-component-props': {
@@ -1147,14 +1152,20 @@ SchemaSettings.LinkageRules = function LinkageRules(props) {
1147
1152
  }
1148
1153
  });
1149
1154
  };
1150
- export var useDataTemplates = function useDataTemplates() {
1155
+ export var useDataTemplates = function useDataTemplates(schema) {
1151
1156
  var fieldSchema = useFieldSchema();
1157
+ if (schema) {
1158
+ return {
1159
+ templateData: _.cloneDeep(schema['x-data-templates'])
1160
+ };
1161
+ }
1152
1162
  var formSchema = findFormBlock(fieldSchema) || fieldSchema;
1153
1163
  return {
1154
1164
  templateData: _.cloneDeep(formSchema === null || formSchema === void 0 ? void 0 : formSchema['x-data-templates'])
1155
1165
  };
1156
1166
  };
1157
1167
  SchemaSettings.DataTemplates = function DataTemplates(props) {
1168
+ var designerCtx = useContext(SchemaComponentContext);
1158
1169
  var collectionName = props.collectionName;
1159
1170
  var fieldSchema = useFieldSchema();
1160
1171
  var _useDesignable4 = useDesignable(),
@@ -1164,20 +1175,16 @@ SchemaSettings.DataTemplates = function DataTemplates(props) {
1164
1175
  var formSchema = findFormBlock(fieldSchema) || fieldSchema;
1165
1176
  var _useDataTemplates = useDataTemplates(),
1166
1177
  templateData = _useDataTemplates.templateData;
1167
- return /*#__PURE__*/React.createElement(SchemaSettings.ModalItem, {
1168
- title: t('Form data templates'),
1169
- components: {
1170
- ArrayCollapse: ArrayCollapse,
1171
- FormLayout: FormLayout
1172
- },
1173
- width: 770,
1174
- schema: {
1178
+ var schema = useMemo(function () {
1179
+ return {
1175
1180
  type: 'object',
1176
1181
  title: t('Form data templates'),
1177
1182
  properties: {
1178
1183
  fieldReaction: {
1179
1184
  'x-component': FormDataTemplates,
1180
1185
  'x-component-props': {
1186
+ designerCtx: designerCtx,
1187
+ formSchema: formSchema,
1181
1188
  useProps: function useProps() {
1182
1189
  return {
1183
1190
  defaultValues: templateData,
@@ -1187,20 +1194,40 @@ SchemaSettings.DataTemplates = function DataTemplates(props) {
1187
1194
  }
1188
1195
  }
1189
1196
  }
1190
- },
1191
- onSubmit: function onSubmit(v) {
1192
- var _schema5;
1193
- var data = v.fieldReaction || {};
1194
- var schema = (_schema5 = {}, _defineProperty(_schema5, 'x-uid', formSchema['x-uid']), _defineProperty(_schema5, 'x-data-templates', data), _schema5);
1195
- formSchema['x-data-templates'] = data;
1196
- dn.emit('patch', {
1197
- schema: schema
1198
- });
1199
- dn.refresh();
1200
- }
1197
+ };
1198
+ }, [templateData]);
1199
+ var onSubmit = useCallback(function (v) {
1200
+ var _schema5;
1201
+ var data = _objectSpread(_objectSpread({}, formSchema['x-data-templates'] || {}), v.fieldReaction);
1202
+ // Tree 组件开启 checkStrictly 属性时,会导致 checkedKeys 的值是一个对象,而不是数组,所以这里需要转换一下以支持旧版本
1203
+ data.items.forEach(function (item) {
1204
+ item.fields = Array.isArray(item.fields) ? item.fields : item.fields.checked;
1205
+ });
1206
+ var schema = (_schema5 = {}, _defineProperty(_schema5, 'x-uid', formSchema['x-uid']), _defineProperty(_schema5, 'x-data-templates', data), _schema5);
1207
+ formSchema['x-data-templates'] = data;
1208
+ dn.emit('patch', {
1209
+ schema: schema
1210
+ });
1211
+ dn.refresh();
1212
+ }, []);
1213
+ var title = useMemo(function () {
1214
+ return t('Form data templates');
1215
+ }, []);
1216
+ var components = useMemo(function () {
1217
+ return {
1218
+ ArrayCollapse: ArrayCollapse,
1219
+ FormLayout: FormLayout
1220
+ };
1221
+ }, []);
1222
+ return /*#__PURE__*/React.createElement(SchemaSettings.ModalItem, {
1223
+ title: title,
1224
+ components: components,
1225
+ width: 770,
1226
+ schema: schema,
1227
+ onSubmit: onSubmit
1201
1228
  });
1202
1229
  };
1203
- SchemaSettings.EnableChildCollections = function EnableChildCollections(props) {
1230
+ SchemaSettings.EnableChildCollections = function EnableChildCollectionsItem(props) {
1204
1231
  var collectionName = props.collectionName;
1205
1232
  var fieldSchema = useFieldSchema();
1206
1233
  var _useDesignable5 = useDesignable(),
@@ -1240,7 +1267,6 @@ SchemaSettings.EnableChildCollections = function EnableChildCollections(props) {
1240
1267
  }
1241
1268
  },
1242
1269
  onSubmit: function onSubmit(v) {
1243
- console.log(v);
1244
1270
  var enableChildren = [];
1245
1271
  var _iterator2 = _createForOfIteratorHelper(v.enableChildren.childrenCollections),
1246
1272
  _step2;
@@ -1258,16 +1284,14 @@ SchemaSettings.EnableChildCollections = function EnableChildCollections(props) {
1258
1284
  var schema = _defineProperty({}, 'x-uid', uid);
1259
1285
  fieldSchema['x-enable-children'] = enableChildren;
1260
1286
  fieldSchema['x-allow-add-to-current'] = v.allowAddToCurrent;
1261
- fieldSchema['x-component-props'] = {
1262
- openMode: 'drawer',
1287
+ fieldSchema['x-component-props'] = _objectSpread(_objectSpread({}, fieldSchema['x-component-props']), {}, {
1263
1288
  component: 'CreateRecordAction'
1264
- };
1289
+ });
1265
1290
  schema['x-enable-children'] = enableChildren;
1266
1291
  schema['x-allow-add-to-current'] = v.allowAddToCurrent;
1267
- schema['x-component-props'] = {
1268
- openMode: 'drawer',
1292
+ schema['x-component-props'] = _objectSpread(_objectSpread({}, fieldSchema['x-component-props']), {}, {
1269
1293
  component: 'CreateRecordAction'
1270
- };
1294
+ });
1271
1295
  dn.emit('patch', {
1272
1296
  schema: schema
1273
1297
  });
@@ -11,7 +11,7 @@ var getChildren = function getChildren(options, _ref) {
11
11
  return [];
12
12
  }
13
13
  var result = options.map(function (option) {
14
- if (option.type !== 'belongsTo' && option.type !== 'hasOne' || !option.target) {
14
+ if (!option.target) {
15
15
  var _option$schema;
16
16
  return {
17
17
  key: option.name,
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 是否显示 `允许多选` 开关
3
+ */
4
+ export declare function useIsShowMultipleSwitch(): () => boolean;