@nocobase/client 0.9.3-alpha.1 → 0.9.4-alpha.2

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 (331) 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/hooks/index.js +81 -60
  7. package/es/collection-manager/CollectionField.js +3 -3
  8. package/es/collection-manager/CollectionFieldProvider.js +2 -1
  9. package/es/collection-manager/Configuration/AddFieldAction.js +3 -3
  10. package/es/collection-manager/Configuration/CollectionFields.d.ts +1 -1
  11. package/es/collection-manager/Configuration/CollectionFields.js +1 -3
  12. package/es/collection-manager/Configuration/ConfigurationTabs.js +7 -6
  13. package/es/collection-manager/hooks/useCollection.d.ts +1 -1
  14. package/es/collection-manager/hooks/useCollectionDataSource.js +4 -4
  15. package/es/collection-manager/interfaces/m2m.js +1 -1
  16. package/es/collection-manager/interfaces/m2o.js +1 -1
  17. package/es/collection-manager/interfaces/o2m.js +1 -1
  18. package/es/collection-manager/interfaces/o2o.js +2 -2
  19. package/es/collection-manager/templates/expression.js +1 -1
  20. package/es/filter-provider/utils.js +1 -1
  21. package/es/index.d.ts +1 -0
  22. package/es/index.js +1 -0
  23. package/es/locale/en_US.d.ts +16 -1
  24. package/es/locale/en_US.js +17 -2
  25. package/es/locale/es_ES.d.ts +692 -0
  26. package/es/locale/es_ES.js +691 -0
  27. package/es/locale/ja_JP.d.ts +5 -1
  28. package/es/locale/ja_JP.js +6 -2
  29. package/es/locale/pt_BR.d.ts +5 -1
  30. package/es/locale/pt_BR.js +6 -2
  31. package/es/locale/ru_RU.d.ts +5 -1
  32. package/es/locale/ru_RU.js +6 -2
  33. package/es/locale/tr_TR.d.ts +5 -1
  34. package/es/locale/tr_TR.js +6 -2
  35. package/es/locale/zh_CN.d.ts +25 -2
  36. package/es/locale/zh_CN.js +26 -3
  37. package/es/pm/PluginManagerLink.js +22 -14
  38. package/es/record-provider/index.d.ts +4 -0
  39. package/es/record-provider/index.js +3 -0
  40. package/es/schema-component/antd/action/Action.Designer.js +6 -3
  41. package/es/schema-component/antd/action/Action.Drawer.js +5 -2
  42. package/es/schema-component/antd/action/Action.js +2 -2
  43. package/es/schema-component/antd/action/ActionBar.js +25 -18
  44. package/es/schema-component/antd/association-field/AssociationFieldProvider.d.ts +2 -2
  45. package/es/schema-component/antd/association-field/AssociationFieldProvider.js +62 -9
  46. package/es/schema-component/antd/association-field/AssociationSelect.js +10 -65
  47. package/es/schema-component/antd/association-field/Editable.d.ts +1 -1
  48. package/es/schema-component/antd/association-field/Editable.js +32 -40
  49. package/es/schema-component/antd/association-field/InternalNester.js +4 -3
  50. package/es/schema-component/antd/association-field/InternalPicker.js +29 -60
  51. package/es/schema-component/antd/association-field/InternalViewer.js +9 -12
  52. package/es/schema-component/antd/association-field/Nester.js +19 -21
  53. package/es/schema-component/antd/association-field/ReadPretty.d.ts +1 -1
  54. package/es/schema-component/antd/association-field/ReadPretty.js +9 -25
  55. package/es/schema-component/antd/association-field/components/CreateRecordAction.d.ts +2 -0
  56. package/es/schema-component/antd/association-field/components/CreateRecordAction.js +61 -0
  57. package/es/schema-component/antd/association-field/context.d.ts +5 -2
  58. package/es/schema-component/antd/association-field/context.js +1 -1
  59. package/es/schema-component/antd/association-field/hooks.d.ts +3 -0
  60. package/es/schema-component/antd/association-field/hooks.js +10 -10
  61. package/es/schema-component/antd/association-filter/AssociationFilter.Item.js +3 -3
  62. package/es/schema-component/antd/association-select/AssociationSelect.js +49 -231
  63. package/es/schema-component/antd/association-select/useServiceOptions.js +2 -2
  64. package/es/schema-component/antd/collection-select/CollectionSelect.js +5 -0
  65. package/es/schema-component/antd/filter/FilterAction.js +2 -2
  66. package/es/schema-component/antd/form/Form.js +4 -4
  67. package/es/schema-component/antd/form-item/FormItem.js +126 -145
  68. package/es/schema-component/antd/form-item/SchemaSettingOptions.js +3 -3
  69. package/es/schema-component/antd/form-v2/Form.Designer.js +1 -0
  70. package/es/schema-component/antd/form-v2/Templates.d.ts +20 -0
  71. package/es/schema-component/antd/form-v2/Templates.js +42 -12
  72. package/es/schema-component/antd/grid/Grid.js +34 -24
  73. package/es/schema-component/antd/grid-card/GridCard.Decorator.d.ts +5 -0
  74. package/es/schema-component/antd/grid-card/GridCard.Decorator.js +65 -0
  75. package/es/schema-component/antd/grid-card/GridCard.Designer.d.ts +1 -0
  76. package/es/schema-component/antd/grid-card/GridCard.Designer.js +243 -0
  77. package/es/schema-component/antd/grid-card/GridCard.Item.d.ts +1 -0
  78. package/es/schema-component/antd/grid-card/GridCard.Item.js +18 -0
  79. package/es/schema-component/antd/grid-card/GridCard.d.ts +8 -0
  80. package/es/schema-component/antd/grid-card/GridCard.js +103 -0
  81. package/es/schema-component/antd/grid-card/hooks.d.ts +4 -0
  82. package/es/schema-component/antd/grid-card/hooks.js +9 -0
  83. package/es/schema-component/antd/grid-card/index.d.ts +1 -0
  84. package/es/schema-component/antd/grid-card/index.js +1 -0
  85. package/es/schema-component/antd/grid-card/options.d.ts +20 -0
  86. package/es/schema-component/antd/grid-card/options.js +20 -0
  87. package/es/schema-component/antd/icon-picker/IconPicker.js +2 -2
  88. package/es/schema-component/antd/index.d.ts +2 -0
  89. package/es/schema-component/antd/index.js +2 -0
  90. package/es/schema-component/antd/input/EllipsisWithTooltip.js +2 -2
  91. package/es/schema-component/antd/list/List.Decorator.d.ts +5 -0
  92. package/es/schema-component/antd/list/List.Decorator.js +59 -0
  93. package/es/schema-component/antd/list/List.Designer.d.ts +1 -0
  94. package/es/schema-component/antd/list/List.Designer.js +205 -0
  95. package/es/schema-component/antd/list/List.Item.d.ts +1 -0
  96. package/es/schema-component/antd/list/List.Item.js +15 -0
  97. package/es/schema-component/antd/list/List.d.ts +8 -0
  98. package/es/schema-component/antd/list/List.js +83 -0
  99. package/es/schema-component/antd/list/hooks.d.ts +4 -0
  100. package/es/schema-component/antd/list/hooks.js +9 -0
  101. package/es/schema-component/antd/list/index.d.ts +1 -0
  102. package/es/schema-component/antd/list/index.js +1 -0
  103. package/es/schema-component/antd/remote-select/RemoteSelect.js +12 -10
  104. package/es/schema-component/antd/select/Select.js +15 -4
  105. package/es/schema-component/antd/table/Table.Void.Designer.js +1 -0
  106. package/es/schema-component/antd/table-v2/TableBlockDesigner.js +2 -1
  107. package/es/schema-component/antd/table-v2/TableSelectorDesigner.js +1 -0
  108. package/es/schema-component/antd/table-v2/hooks/useUserVariable.d.ts +22 -0
  109. package/es/schema-component/antd/table-v2/hooks/useUserVariable.js +65 -0
  110. package/es/schema-component/antd/variable/Input.js +6 -3
  111. package/es/schema-component/common/dnd-context/index.js +2 -2
  112. package/es/schema-component/common/sortable-item/SortableItem.js +3 -4
  113. package/es/schema-component/core/SchemaComponentProvider.js +2 -2
  114. package/es/schema-initializer/SchemaInitializerProvider.d.ts +1 -0
  115. package/es/schema-initializer/SchemaInitializerProvider.js +23 -10
  116. package/es/schema-initializer/buttons/BlockInitializers.js +10 -0
  117. package/es/schema-initializer/buttons/CustomFormItemInitializers.js +4 -2
  118. package/es/schema-initializer/buttons/FormActionInitializers.d.ts +0 -116
  119. package/es/schema-initializer/buttons/FormActionInitializers.js +106 -100
  120. package/es/schema-initializer/buttons/GanttActionInitializers.d.ts +0 -19
  121. package/es/schema-initializer/buttons/GridCardActionInitializers.d.ts +195 -0
  122. package/es/schema-initializer/buttons/GridCardActionInitializers.js +278 -0
  123. package/es/schema-initializer/buttons/ListActionInitializers.d.ts +195 -0
  124. package/es/schema-initializer/buttons/ListActionInitializers.js +278 -0
  125. package/es/schema-initializer/buttons/TableActionColumnInitializers.js +1 -1
  126. package/es/schema-initializer/buttons/TableActionInitializers.d.ts +0 -20
  127. package/es/schema-initializer/buttons/TableActionInitializers.js +29 -35
  128. package/es/schema-initializer/buttons/TableColumnInitializers.js +4 -1
  129. package/es/schema-initializer/buttons/index.d.ts +3 -0
  130. package/es/schema-initializer/buttons/index.js +3 -0
  131. package/es/schema-initializer/components/BulkEditField.js +7 -5
  132. package/es/schema-initializer/components/CreateRecordAction.d.ts +1 -0
  133. package/es/schema-initializer/components/CreateRecordAction.js +51 -30
  134. package/es/schema-initializer/components/DeletedField.d.ts +1 -0
  135. package/es/schema-initializer/components/DeletedField.js +11 -0
  136. package/es/schema-initializer/components/assigned-field/AssignedField.js +35 -23
  137. package/es/schema-initializer/items/GridCardBlockInitializer.d.ts +1 -0
  138. package/es/schema-initializer/items/GridCardBlockInitializer.js +47 -0
  139. package/es/schema-initializer/items/ListBlockInitializer.d.ts +1 -0
  140. package/es/schema-initializer/items/ListBlockInitializer.js +47 -0
  141. package/es/schema-initializer/items/index.d.ts +3 -1
  142. package/es/schema-initializer/items/index.js +4 -2
  143. package/es/schema-initializer/utils.d.ts +112 -0
  144. package/es/schema-initializer/utils.js +206 -32
  145. package/es/schema-items/GeneralSchemaItems.d.ts +4 -0
  146. package/es/schema-items/GeneralSchemaItems.js +148 -0
  147. package/es/schema-items/index.d.ts +1 -0
  148. package/es/schema-items/index.js +2 -1
  149. package/es/schema-settings/DataTemplates/FormDataTemplates.d.ts +1 -0
  150. package/es/schema-settings/DataTemplates/FormDataTemplates.js +117 -42
  151. package/es/schema-settings/DataTemplates/components/AsDefaultTemplate.js +1 -1
  152. package/es/schema-settings/DataTemplates/components/DataTemplateTitle.js +9 -13
  153. package/es/schema-settings/DataTemplates/components/Designer.d.ts +7 -0
  154. package/es/schema-settings/DataTemplates/components/Designer.js +179 -0
  155. package/es/schema-settings/DataTemplates/hooks/useCollectionState.d.ts +6 -1
  156. package/es/schema-settings/DataTemplates/hooks/useCollectionState.js +204 -96
  157. package/es/schema-settings/GeneralSchemaDesigner.js +19 -15
  158. package/es/schema-settings/SchemaSettings.d.ts +1 -1
  159. package/es/schema-settings/SchemaSettings.js +54 -30
  160. package/es/schema-settings/VariableInput/hooks/useUserVariable.js +1 -1
  161. package/es/schema-settings/hooks/useIsShowMultipleSwitch.d.ts +4 -0
  162. package/es/schema-settings/hooks/useIsShowMultipleSwitch.js +18 -0
  163. package/es/schema-templates/BlockTemplateDetails.js +1 -1
  164. package/es/settings-form/SettingsForm.js +2 -2
  165. package/es/user/CurrentUser.js +120 -12
  166. package/lib/acl/ACLProvider.js +2 -2
  167. package/lib/acl/Configuration/RoleConfigure.js +15 -8
  168. package/lib/api-client/APIClient.d.ts +2 -0
  169. package/lib/api-client/APIClient.js +11 -0
  170. package/lib/block-provider/BlockProvider.js +57 -16
  171. package/lib/block-provider/hooks/index.js +80 -59
  172. package/lib/collection-manager/CollectionField.js +3 -3
  173. package/lib/collection-manager/CollectionFieldProvider.js +2 -1
  174. package/lib/collection-manager/Configuration/AddFieldAction.js +2 -2
  175. package/lib/collection-manager/Configuration/CollectionFields.d.ts +1 -1
  176. package/lib/collection-manager/Configuration/CollectionFields.js +1 -3
  177. package/lib/collection-manager/Configuration/ConfigurationTabs.js +7 -6
  178. package/lib/collection-manager/hooks/useCollection.d.ts +1 -1
  179. package/lib/collection-manager/hooks/useCollectionDataSource.js +4 -4
  180. package/lib/collection-manager/interfaces/m2m.js +1 -1
  181. package/lib/collection-manager/interfaces/m2o.js +1 -1
  182. package/lib/collection-manager/interfaces/o2m.js +1 -1
  183. package/lib/collection-manager/interfaces/o2o.js +2 -2
  184. package/lib/collection-manager/templates/expression.js +1 -1
  185. package/lib/filter-provider/utils.js +1 -1
  186. package/lib/index.d.ts +1 -0
  187. package/lib/index.js +11 -0
  188. package/lib/locale/en_US.d.ts +16 -1
  189. package/lib/locale/en_US.js +17 -2
  190. package/lib/locale/es_ES.d.ts +692 -0
  191. package/lib/locale/es_ES.js +698 -0
  192. package/lib/locale/ja_JP.d.ts +5 -1
  193. package/lib/locale/ja_JP.js +6 -2
  194. package/lib/locale/pt_BR.d.ts +5 -1
  195. package/lib/locale/pt_BR.js +6 -2
  196. package/lib/locale/ru_RU.d.ts +5 -1
  197. package/lib/locale/ru_RU.js +6 -2
  198. package/lib/locale/tr_TR.d.ts +5 -1
  199. package/lib/locale/tr_TR.js +6 -2
  200. package/lib/locale/zh_CN.d.ts +25 -2
  201. package/lib/locale/zh_CN.js +26 -3
  202. package/lib/pm/PluginManagerLink.js +21 -13
  203. package/lib/record-provider/index.d.ts +4 -0
  204. package/lib/record-provider/index.js +5 -1
  205. package/lib/schema-component/antd/action/Action.Designer.js +6 -3
  206. package/lib/schema-component/antd/action/Action.Drawer.js +5 -2
  207. package/lib/schema-component/antd/action/Action.js +2 -2
  208. package/lib/schema-component/antd/action/ActionBar.js +23 -16
  209. package/lib/schema-component/antd/association-field/AssociationFieldProvider.d.ts +2 -2
  210. package/lib/schema-component/antd/association-field/AssociationFieldProvider.js +62 -8
  211. package/lib/schema-component/antd/association-field/AssociationSelect.js +9 -66
  212. package/lib/schema-component/antd/association-field/Editable.d.ts +1 -1
  213. package/lib/schema-component/antd/association-field/Editable.js +33 -42
  214. package/lib/schema-component/antd/association-field/InternalNester.js +2 -2
  215. package/lib/schema-component/antd/association-field/InternalPicker.js +25 -56
  216. package/lib/schema-component/antd/association-field/InternalViewer.js +7 -10
  217. package/lib/schema-component/antd/association-field/Nester.js +19 -21
  218. package/lib/schema-component/antd/association-field/ReadPretty.d.ts +1 -1
  219. package/lib/schema-component/antd/association-field/ReadPretty.js +10 -27
  220. package/lib/schema-component/antd/association-field/components/CreateRecordAction.d.ts +2 -0
  221. package/lib/schema-component/antd/association-field/components/CreateRecordAction.js +71 -0
  222. package/lib/schema-component/antd/association-field/context.d.ts +5 -2
  223. package/lib/schema-component/antd/association-field/context.js +1 -1
  224. package/lib/schema-component/antd/association-field/hooks.d.ts +3 -0
  225. package/lib/schema-component/antd/association-field/hooks.js +10 -10
  226. package/lib/schema-component/antd/association-filter/AssociationFilter.Item.js +3 -3
  227. package/lib/schema-component/antd/association-select/AssociationSelect.js +49 -231
  228. package/lib/schema-component/antd/association-select/useServiceOptions.js +2 -2
  229. package/lib/schema-component/antd/collection-select/CollectionSelect.js +5 -0
  230. package/lib/schema-component/antd/filter/FilterAction.js +2 -2
  231. package/lib/schema-component/antd/form/Form.js +4 -4
  232. package/lib/schema-component/antd/form-item/FormItem.js +122 -141
  233. package/lib/schema-component/antd/form-item/SchemaSettingOptions.js +3 -3
  234. package/lib/schema-component/antd/form-v2/Form.Designer.js +1 -0
  235. package/lib/schema-component/antd/form-v2/Templates.d.ts +20 -0
  236. package/lib/schema-component/antd/form-v2/Templates.js +41 -11
  237. package/lib/schema-component/antd/grid/Grid.js +33 -23
  238. package/lib/schema-component/antd/grid-card/GridCard.Decorator.d.ts +5 -0
  239. package/lib/schema-component/antd/grid-card/GridCard.Decorator.js +77 -0
  240. package/lib/schema-component/antd/grid-card/GridCard.Designer.d.ts +1 -0
  241. package/lib/schema-component/antd/grid-card/GridCard.Designer.js +253 -0
  242. package/lib/schema-component/antd/grid-card/GridCard.Item.d.ts +1 -0
  243. package/lib/schema-component/antd/grid-card/GridCard.Item.js +26 -0
  244. package/lib/schema-component/antd/grid-card/GridCard.d.ts +8 -0
  245. package/lib/schema-component/antd/grid-card/GridCard.js +112 -0
  246. package/lib/schema-component/antd/grid-card/hooks.d.ts +4 -0
  247. package/lib/schema-component/antd/grid-card/hooks.js +16 -0
  248. package/lib/schema-component/antd/grid-card/index.d.ts +1 -0
  249. package/lib/schema-component/antd/grid-card/index.js +16 -0
  250. package/lib/schema-component/antd/grid-card/options.d.ts +20 -0
  251. package/lib/schema-component/antd/grid-card/options.js +31 -0
  252. package/lib/schema-component/antd/icon-picker/IconPicker.js +2 -2
  253. package/lib/schema-component/antd/index.d.ts +2 -0
  254. package/lib/schema-component/antd/index.js +22 -0
  255. package/lib/schema-component/antd/input/EllipsisWithTooltip.js +2 -2
  256. package/lib/schema-component/antd/list/List.Decorator.d.ts +5 -0
  257. package/lib/schema-component/antd/list/List.Decorator.js +71 -0
  258. package/lib/schema-component/antd/list/List.Designer.d.ts +1 -0
  259. package/lib/schema-component/antd/list/List.Designer.js +213 -0
  260. package/lib/schema-component/antd/list/List.Item.d.ts +1 -0
  261. package/lib/schema-component/antd/list/List.Item.js +23 -0
  262. package/lib/schema-component/antd/list/List.d.ts +8 -0
  263. package/lib/schema-component/antd/list/List.js +92 -0
  264. package/lib/schema-component/antd/list/hooks.d.ts +4 -0
  265. package/lib/schema-component/antd/list/hooks.js +16 -0
  266. package/lib/schema-component/antd/list/index.d.ts +1 -0
  267. package/lib/schema-component/antd/list/index.js +16 -0
  268. package/lib/schema-component/antd/remote-select/RemoteSelect.js +11 -9
  269. package/lib/schema-component/antd/select/Select.js +14 -3
  270. package/lib/schema-component/antd/table/Table.Void.Designer.js +1 -0
  271. package/lib/schema-component/antd/table-v2/TableBlockDesigner.js +2 -1
  272. package/lib/schema-component/antd/table-v2/TableSelectorDesigner.js +1 -0
  273. package/lib/schema-component/antd/table-v2/hooks/useUserVariable.d.ts +22 -0
  274. package/lib/schema-component/antd/table-v2/hooks/useUserVariable.js +73 -0
  275. package/lib/schema-component/antd/variable/Input.js +6 -3
  276. package/lib/schema-component/common/dnd-context/index.js +2 -2
  277. package/lib/schema-component/common/sortable-item/SortableItem.js +3 -4
  278. package/lib/schema-component/core/SchemaComponentProvider.js +2 -2
  279. package/lib/schema-initializer/SchemaInitializerProvider.d.ts +1 -0
  280. package/lib/schema-initializer/SchemaInitializerProvider.js +22 -9
  281. package/lib/schema-initializer/buttons/BlockInitializers.js +10 -0
  282. package/lib/schema-initializer/buttons/CustomFormItemInitializers.js +4 -2
  283. package/lib/schema-initializer/buttons/FormActionInitializers.d.ts +0 -116
  284. package/lib/schema-initializer/buttons/FormActionInitializers.js +106 -100
  285. package/lib/schema-initializer/buttons/GanttActionInitializers.d.ts +0 -19
  286. package/lib/schema-initializer/buttons/GridCardActionInitializers.d.ts +195 -0
  287. package/lib/schema-initializer/buttons/GridCardActionInitializers.js +285 -0
  288. package/lib/schema-initializer/buttons/ListActionInitializers.d.ts +195 -0
  289. package/lib/schema-initializer/buttons/ListActionInitializers.js +285 -0
  290. package/lib/schema-initializer/buttons/TableActionColumnInitializers.js +1 -1
  291. package/lib/schema-initializer/buttons/TableActionInitializers.d.ts +0 -20
  292. package/lib/schema-initializer/buttons/TableActionInitializers.js +29 -35
  293. package/lib/schema-initializer/buttons/TableColumnInitializers.js +4 -1
  294. package/lib/schema-initializer/buttons/index.d.ts +3 -0
  295. package/lib/schema-initializer/buttons/index.js +22 -0
  296. package/lib/schema-initializer/components/BulkEditField.js +7 -5
  297. package/lib/schema-initializer/components/CreateRecordAction.d.ts +1 -0
  298. package/lib/schema-initializer/components/CreateRecordAction.js +54 -32
  299. package/lib/schema-initializer/components/DeletedField.d.ts +1 -0
  300. package/lib/schema-initializer/components/DeletedField.js +19 -0
  301. package/lib/schema-initializer/components/assigned-field/AssignedField.js +34 -22
  302. package/lib/schema-initializer/items/GridCardBlockInitializer.d.ts +1 -0
  303. package/lib/schema-initializer/items/GridCardBlockInitializer.js +55 -0
  304. package/lib/schema-initializer/items/ListBlockInitializer.d.ts +1 -0
  305. package/lib/schema-initializer/items/ListBlockInitializer.js +55 -0
  306. package/lib/schema-initializer/items/index.d.ts +3 -1
  307. package/lib/schema-initializer/items/index.js +33 -11
  308. package/lib/schema-initializer/utils.d.ts +112 -0
  309. package/lib/schema-initializer/utils.js +209 -33
  310. package/lib/schema-items/GeneralSchemaItems.d.ts +4 -0
  311. package/lib/schema-items/GeneralSchemaItems.js +156 -0
  312. package/lib/schema-items/index.d.ts +1 -0
  313. package/lib/schema-items/index.js +11 -0
  314. package/lib/schema-settings/DataTemplates/FormDataTemplates.d.ts +1 -0
  315. package/lib/schema-settings/DataTemplates/FormDataTemplates.js +119 -41
  316. package/lib/schema-settings/DataTemplates/components/AsDefaultTemplate.js +1 -1
  317. package/lib/schema-settings/DataTemplates/components/DataTemplateTitle.js +10 -14
  318. package/lib/schema-settings/DataTemplates/components/Designer.d.ts +7 -0
  319. package/lib/schema-settings/DataTemplates/components/Designer.js +188 -0
  320. package/lib/schema-settings/DataTemplates/hooks/useCollectionState.d.ts +6 -1
  321. package/lib/schema-settings/DataTemplates/hooks/useCollectionState.js +204 -95
  322. package/lib/schema-settings/GeneralSchemaDesigner.js +21 -15
  323. package/lib/schema-settings/SchemaSettings.d.ts +1 -1
  324. package/lib/schema-settings/SchemaSettings.js +53 -29
  325. package/lib/schema-settings/VariableInput/hooks/useUserVariable.js +1 -1
  326. package/lib/schema-settings/hooks/useIsShowMultipleSwitch.d.ts +4 -0
  327. package/lib/schema-settings/hooks/useIsShowMultipleSwitch.js +24 -0
  328. package/lib/settings-form/SettingsForm.js +2 -2
  329. package/lib/user/CurrentUser.js +118 -10
  330. package/package.json +5 -5
  331. package/tsconfig.json +8 -0
@@ -5,12 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useCollectionState = void 0;
8
+ var _client = require("@nocobase/utils/client");
9
+ var _lodash = _interopRequireDefault(require("lodash"));
8
10
  var _react = _interopRequireWildcard(require("react"));
9
11
  var _collectionManager = require("../../../collection-manager");
10
12
  var _schemaComponent = require("../../../schema-component");
11
13
  var _TreeLabel = require("../TreeLabel");
12
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
18
+ 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."); }
19
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
20
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
14
21
  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; }
15
22
  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; }
16
23
  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; }
@@ -32,6 +39,7 @@ var useCollectionState = function useCollectionState(currentCollectionName) {
32
39
  _useState2 = _slicedToArray(_useState, 1),
33
40
  collectionList = _useState2[0];
34
41
  var compile = (0, _schemaComponent.useCompile)();
42
+ var dataFields = {};
35
43
  function getCollectionList() {
36
44
  var collections = getAllCollectionsInheritChain(currentCollectionName);
37
45
  return collections.map(function (name) {
@@ -42,115 +50,216 @@ var useCollectionState = function useCollectionState(currentCollectionName) {
42
50
  };
43
51
  });
44
52
  }
45
- var getEnableFieldTree = function getEnableFieldTree(collectionName) {
46
- if (!collectionName) {
53
+ // 过滤掉系统字段
54
+ var systemKeys = [
55
+ // 'id',
56
+ 'sort', 'createdById', 'createdBy', 'createdAt', 'updatedById', 'updatedBy', 'updatedAt'];
57
+ /**
58
+ * maxDepth: 从 0 开始,0 表示一层,1 表示两层,以此类推
59
+ */
60
+ var traverseFields = function traverseFields(collectionName, _ref) {
61
+ var _ref$exclude = _ref.exclude,
62
+ exclude = _ref$exclude === void 0 ? [] : _ref$exclude,
63
+ _ref$depth = _ref.depth,
64
+ depth = _ref$depth === void 0 ? 0 : _ref$depth,
65
+ maxDepth = _ref.maxDepth,
66
+ _ref$prefix = _ref.prefix,
67
+ prefix = _ref$prefix === void 0 ? '' : _ref$prefix;
68
+ if (depth > maxDepth) {
47
69
  return [];
48
70
  }
49
- // 过滤掉系统字段
50
- var systemKeys = [
51
- // 'id',
52
- 'sort', 'createdById', 'createdBy', 'createdAt', 'updatedById', 'updatedBy', 'updatedAt'];
53
- var traverseAssociations = function traverseAssociations(collectionName, _ref) {
54
- var prefix = _ref.prefix,
55
- maxDepth = _ref.maxDepth,
56
- depth = _ref.depth,
57
- _ref$exclude = _ref.exclude,
58
- exclude = _ref$exclude === void 0 ? [] : _ref$exclude;
59
- if (depth > maxDepth) {
60
- return [];
71
+ return getCollectionFields(collectionName).map(function (field) {
72
+ var _field$uiSchema;
73
+ if (exclude.includes(field.name)) {
74
+ return;
61
75
  }
62
- return getCollectionFields(collectionName).map(function (field) {
63
- var _field$uiSchema;
64
- if (!field.target || !field.interface) {
65
- return;
66
- }
67
- if (exclude.includes(field.name)) {
68
- return;
69
- }
70
- var option = {
71
- type: 'preloading',
72
- tag: compile((_field$uiSchema = field.uiSchema) === null || _field$uiSchema === void 0 ? void 0 : _field$uiSchema.title) || field.name
73
- };
74
- var value = prefix ? "".concat(prefix, ".").concat(field.name) : field.name;
75
- return {
76
- title: /*#__PURE__*/_react.default.createElement(_TreeLabel.TreeNode, option),
77
- key: value,
78
- children: traverseAssociations(getCollectionFields(field.target), {
79
- prefix: value,
80
- depth: depth + 1,
81
- maxDepth: maxDepth,
82
- exclude: exclude
83
- })
84
- };
85
- }).filter(Boolean);
86
- };
87
- var traverseFields = function traverseFields(collectionName, _ref2) {
88
- var _ref2$exclude = _ref2.exclude,
89
- exclude = _ref2$exclude === void 0 ? [] : _ref2$exclude,
90
- _ref2$depth = _ref2.depth,
91
- depth = _ref2$depth === void 0 ? 0 : _ref2$depth,
92
- maxDepth = _ref2.maxDepth,
93
- _ref2$prefix = _ref2.prefix,
94
- prefix = _ref2$prefix === void 0 ? '' : _ref2$prefix;
95
- if (depth > maxDepth) {
96
- return [];
76
+ if (!field.interface) {
77
+ return;
97
78
  }
98
- return getCollectionFields(collectionName).map(function (field) {
99
- var _field$uiSchema2;
100
- if (exclude.includes(field.name)) {
101
- return;
102
- }
103
- if (!field.interface) {
104
- return;
105
- }
106
- if (['sort', 'password', 'sequence'].includes(field.type)) {
107
- return;
108
- }
109
- var node = {
110
- type: 'duplicate',
111
- tag: compile((_field$uiSchema2 = field.uiSchema) === null || _field$uiSchema2 === void 0 ? void 0 : _field$uiSchema2.title) || field.name
112
- };
113
- var option = _objectSpread(_objectSpread({}, node), {}, {
114
- title: /*#__PURE__*/_react.default.createElement(_TreeLabel.TreeNode, node),
115
- key: prefix ? "".concat(prefix, ".").concat(field.name) : field.name
79
+ if (['sort', 'password', 'sequence'].includes(field.type)) {
80
+ return;
81
+ }
82
+ var node = {
83
+ type: 'duplicate',
84
+ tag: compile((_field$uiSchema = field.uiSchema) === null || _field$uiSchema === void 0 ? void 0 : _field$uiSchema.title) || field.name
85
+ };
86
+ var option = _objectSpread(_objectSpread({}, node), {}, {
87
+ title: /*#__PURE__*/_react.default.createElement(_TreeLabel.TreeNode, node),
88
+ key: prefix ? "".concat(prefix, ".").concat(field.name) : field.name,
89
+ isLeaf: true,
90
+ field: field
91
+ });
92
+ // 多对多和多对一只展示关系字段
93
+ if (['belongsTo', 'belongsToMany'].includes(field.type)) {
94
+ node['type'] = 'reference';
95
+ option['type'] = 'reference';
96
+ option['title'] = /*#__PURE__*/_react.default.createElement(_TreeLabel.TreeNode, _objectSpread(_objectSpread({}, node), {}, {
97
+ type: 'reference'
98
+ }));
99
+ option.isLeaf = false;
100
+ option['children'] = traverseAssociations(field.target, {
101
+ depth: depth + 1,
102
+ maxDepth: maxDepth,
103
+ prefix: option.key,
104
+ exclude: systemKeys
116
105
  });
117
- // 多对多的只展示关系字段
118
- if (['belongsTo', 'belongsToMany'].includes(field.type)) {
119
- node['type'] = 'reference';
120
- option['type'] = 'reference';
121
- option['title'] = /*#__PURE__*/_react.default.createElement(_TreeLabel.TreeNode, _objectSpread(_objectSpread({}, node), {}, {
122
- type: 'reference'
123
- }));
124
- option['children'] = traverseAssociations(field.target, {
125
- depth: depth + 1,
126
- maxDepth: maxDepth,
127
- prefix: option.key,
128
- exclude: systemKeys
129
- });
130
- } else if (['hasOne', 'hasMany'].includes(field.type)) {
131
- option['children'] = traverseFields(field.target, {
132
- depth: depth + 1,
133
- maxDepth: maxDepth,
134
- prefix: option.key,
135
- exclude: ['id'].concat(systemKeys)
136
- });
137
- }
138
- return option;
139
- }).filter(Boolean);
140
- };
106
+ } else if (['hasOne', 'hasMany'].includes(field.type)) {
107
+ option.isLeaf = false;
108
+ option['children'] = traverseFields(field.target, {
109
+ depth: depth + 1,
110
+ maxDepth: maxDepth,
111
+ prefix: option.key,
112
+ exclude: ['id'].concat(systemKeys)
113
+ });
114
+ }
115
+ return option;
116
+ }).filter(Boolean);
117
+ };
118
+ var traverseAssociations = function traverseAssociations(collectionName, _ref2) {
119
+ var prefix = _ref2.prefix,
120
+ maxDepth = _ref2.maxDepth,
121
+ _ref2$depth = _ref2.depth,
122
+ depth = _ref2$depth === void 0 ? 0 : _ref2$depth,
123
+ _ref2$exclude = _ref2.exclude,
124
+ exclude = _ref2$exclude === void 0 ? [] : _ref2$exclude;
125
+ if (depth > maxDepth) {
126
+ return [];
127
+ }
128
+ return getCollectionFields(collectionName).map(function (field) {
129
+ var _field$uiSchema2;
130
+ if (!field.target || !field.interface) {
131
+ return;
132
+ }
133
+ if (exclude.includes(field.name)) {
134
+ return;
135
+ }
136
+ var option = {
137
+ type: 'preloading',
138
+ tag: compile((_field$uiSchema2 = field.uiSchema) === null || _field$uiSchema2 === void 0 ? void 0 : _field$uiSchema2.title) || field.name
139
+ };
140
+ var value = prefix ? "".concat(prefix, ".").concat(field.name) : field.name;
141
+ return {
142
+ title: /*#__PURE__*/_react.default.createElement(_TreeLabel.TreeNode, option),
143
+ key: value,
144
+ isLeaf: false,
145
+ field: field,
146
+ children: traverseAssociations(field.target, {
147
+ prefix: value,
148
+ depth: depth + 1,
149
+ maxDepth: maxDepth,
150
+ exclude: exclude
151
+ })
152
+ };
153
+ }).filter(Boolean);
154
+ };
155
+ /**
156
+ * fields: 通过在 x-reactions 字段中传递 $self 得到的,相当于 useField 的返回值,目的是修改其中的状态页面会更新
157
+ */
158
+ var getEnableFieldTree = (0, _react.useCallback)(function (collectionName, fields) {
159
+ dataFields = fields;
160
+ if (!collectionName) {
161
+ return [];
162
+ }
141
163
  try {
142
164
  return traverseFields(collectionName, {
143
165
  exclude: ['id'].concat(systemKeys),
144
- maxDepth: 3
166
+ maxDepth: 1
145
167
  });
146
168
  } catch (error) {
147
169
  console.error(error);
148
170
  return [];
149
171
  }
150
- };
172
+ }, []);
173
+ var onLoadData = (0, _react.useCallback)(function (node) {
174
+ return new Promise(function (resolve) {
175
+ if (node.children.length) {
176
+ node.children.forEach(function (child) {
177
+ loadChildren({
178
+ node: child,
179
+ traverseAssociations: traverseAssociations,
180
+ traverseFields: traverseFields,
181
+ systemKeys: systemKeys,
182
+ dataFields: dataFields
183
+ });
184
+ });
185
+ return resolve(void 0);
186
+ }
187
+ loadChildren({
188
+ node: node,
189
+ traverseAssociations: traverseAssociations,
190
+ traverseFields: traverseFields,
191
+ systemKeys: systemKeys,
192
+ dataFields: dataFields
193
+ });
194
+ resolve(void 0);
195
+ });
196
+ }, []);
197
+ var onCheck = (0, _react.useCallback)(function (checkedKeys, _ref3) {
198
+ var node = _ref3.node,
199
+ checked = _ref3.checked;
200
+ if (checked) {
201
+ var parentKey = node.key.split('.').slice(0, -1).join('.');
202
+ try {
203
+ // 当子节点被选中时,也选中所有祖先节点,提高用户辨识度
204
+ while (parentKey) {
205
+ if (parentKey) {
206
+ checkedKeys.checked = _lodash.default.uniq([].concat(_toConsumableArray(checkedKeys.checked), [parentKey]));
207
+ }
208
+ parentKey = parentKey.split('.').slice(0, -1).join('.');
209
+ }
210
+ } catch (err) {
211
+ (0, _client.error)(err);
212
+ }
213
+ }
214
+ dataFields.value = checkedKeys;
215
+ }, []);
151
216
  return {
152
217
  collectionList: collectionList,
153
- getEnableFieldTree: getEnableFieldTree
218
+ getEnableFieldTree: getEnableFieldTree,
219
+ onLoadData: onLoadData,
220
+ onCheck: onCheck
154
221
  };
155
222
  };
156
- exports.useCollectionState = useCollectionState;
223
+ // 广度优先遍历查找一个 key 相等的节点并返回
224
+ exports.useCollectionState = useCollectionState;
225
+ function findNode(treeData, item) {
226
+ var queue = _toConsumableArray(treeData);
227
+ while (queue.length) {
228
+ var node = queue.shift();
229
+ if (node.key === item.key) {
230
+ return node;
231
+ }
232
+ if (node.children) {
233
+ queue.push.apply(queue, _toConsumableArray(node.children));
234
+ }
235
+ }
236
+ }
237
+ function loadChildren(_ref4) {
238
+ var node = _ref4.node,
239
+ traverseAssociations = _ref4.traverseAssociations,
240
+ traverseFields = _ref4.traverseFields,
241
+ systemKeys = _ref4.systemKeys,
242
+ dataFields = _ref4.dataFields;
243
+ var activeNode = findNode(dataFields.componentProps.treeData, node);
244
+ var children = [];
245
+ // 多对多和多对一只展示关系字段
246
+ if (['belongsTo', 'belongsToMany'].includes(node.field.type)) {
247
+ children = traverseAssociations(node.field.target, {
248
+ exclude: systemKeys,
249
+ prefix: node.key,
250
+ maxDepth: 1
251
+ });
252
+ } else if (['hasOne', 'hasMany'].includes(node.field.type)) {
253
+ children = traverseFields(node.field.target, {
254
+ exclude: ['id'].concat(_toConsumableArray(systemKeys)),
255
+ prefix: node.key,
256
+ maxDepth: 1
257
+ });
258
+ }
259
+ if (children.length) {
260
+ activeNode.children = children;
261
+ } else {
262
+ activeNode.isLeaf = true;
263
+ }
264
+ return children;
265
+ }
@@ -10,12 +10,14 @@ var _css = require("@emotion/css");
10
10
  var _react = require("@formily/react");
11
11
  var _antd = require("antd");
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
- var _react2 = _interopRequireDefault(require("react"));
13
+ var _react2 = _interopRequireWildcard(require("react"));
14
14
  var _reactI18next = require("react-i18next");
15
15
  var _schemaComponent = require("../schema-component");
16
16
  var _utils = require("../schema-initializer/utils");
17
17
  var _SchemaSettings = require("./SchemaSettings");
18
18
  var _templateObject;
19
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
22
  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; }
21
23
  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; }
@@ -25,7 +27,7 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
25
27
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
26
28
  var titleCss = (0, _css.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"])));
27
29
  var GeneralSchemaDesigner = function GeneralSchemaDesigner(props) {
28
- var _ctx$renderSchemaInit, _rowCtx$cols;
30
+ var _rowCtx$cols2, _ctx$renderSchemaInit;
29
31
  var disableInitializer = props.disableInitializer,
30
32
  title = props.title,
31
33
  template = props.template,
@@ -44,12 +46,25 @@ var GeneralSchemaDesigner = function GeneralSchemaDesigner(props) {
44
46
  field: field,
45
47
  fieldSchema: fieldSchema
46
48
  };
47
- if (!designable) {
48
- return null;
49
- }
50
49
  var rowCtx = (0, _schemaComponent.useGridRowContext)();
51
50
  var ctx = (0, _schemaComponent.useGridContext)();
52
51
  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;
52
+ var initializerProps = (0, _react2.useMemo)(function () {
53
+ var _rowCtx$cols;
54
+ return {
55
+ insertPosition: 'afterEnd',
56
+ wrap: (rowCtx === null || rowCtx === void 0 ? void 0 : (_rowCtx$cols = rowCtx.cols) === null || _rowCtx$cols === void 0 ? void 0 : _rowCtx$cols.length) > 1 ? undefined : _utils.gridRowColWrap,
57
+ component: /*#__PURE__*/_react2.default.createElement(_icons.PlusOutlined, {
58
+ style: {
59
+ cursor: 'pointer',
60
+ fontSize: 14
61
+ }
62
+ })
63
+ };
64
+ }, [rowCtx === null || rowCtx === void 0 ? void 0 : (_rowCtx$cols2 = rowCtx.cols) === null || _rowCtx$cols2 === void 0 ? void 0 : _rowCtx$cols2.length]);
65
+ if (!designable) {
66
+ return null;
67
+ }
53
68
  return /*#__PURE__*/_react2.default.createElement("div", {
54
69
  className: 'general-schema-designer'
55
70
  }, title && /*#__PURE__*/_react2.default.createElement("div", {
@@ -65,16 +80,7 @@ var GeneralSchemaDesigner = function GeneralSchemaDesigner(props) {
65
80
  }, /*#__PURE__*/_react2.default.createElement(_antd.Space, {
66
81
  size: 2,
67
82
  align: 'center'
68
- }, draggable && /*#__PURE__*/_react2.default.createElement(_schemaComponent.DragHandler, null, /*#__PURE__*/_react2.default.createElement(_icons.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, {
69
- insertPosition: 'afterEnd',
70
- wrap: (rowCtx === null || rowCtx === void 0 ? void 0 : (_rowCtx$cols = rowCtx.cols) === null || _rowCtx$cols === void 0 ? void 0 : _rowCtx$cols.length) > 1 ? undefined : _utils.gridRowColWrap,
71
- component: /*#__PURE__*/_react2.default.createElement(_icons.PlusOutlined, {
72
- style: {
73
- cursor: 'pointer',
74
- fontSize: 14
75
- }
76
- })
77
- })), /*#__PURE__*/_react2.default.createElement(_SchemaSettings.SchemaSettings, _objectSpread({
83
+ }, draggable && /*#__PURE__*/_react2.default.createElement(_schemaComponent.DragHandler, null, /*#__PURE__*/_react2.default.createElement(_icons.DragOutlined, null)), !disableInitializer && ((ctx === null || ctx === void 0 ? void 0 : ctx.InitializerComponent) ? /*#__PURE__*/_react2.default.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__*/_react2.default.createElement(_SchemaSettings.SchemaSettings, _objectSpread({
78
84
  title: /*#__PURE__*/_react2.default.createElement(_icons.MenuOutlined, {
79
85
  style: {
80
86
  cursor: 'pointer',
@@ -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;
@@ -23,9 +23,9 @@ var _utilts = require("../schema-component/antd/association-filter/utilts");
23
23
  var _schemaTemplates = require("../schema-templates");
24
24
  var _BlockTemplate = require("../schema-templates/BlockTemplate");
25
25
  var _DataTemplates = require("./DataTemplates");
26
+ var _EnableChildCollections = require("./EnableChildCollections");
26
27
  var _LinkageRules = require("./LinkageRules");
27
28
  var _actionHooks = require("./LinkageRules/action-hooks");
28
- var _EnableChildCollections = require("./EnableChildCollections");
29
29
  var _templateObject;
30
30
  var _excluded = ["children", "fieldSchema"],
31
31
  _excluded2 = ["title", "dn"],
@@ -92,8 +92,8 @@ var SchemaSettings = function SchemaSettings(props) {
92
92
  visible = _useState2[0],
93
93
  setVisible = _useState2[1];
94
94
  var DropdownMenu = /*#__PURE__*/_react2.default.createElement(_antd2.Dropdown, {
95
- visible: visible,
96
- onVisibleChange: function onVisibleChange(visible) {
95
+ open: visible,
96
+ onOpenChange: function onOpenChange(visible) {
97
97
  setVisible(visible);
98
98
  },
99
99
  overlay: /*#__PURE__*/_react2.default.createElement(_antd2.Menu, null, props.children),
@@ -964,6 +964,9 @@ SchemaSettings.ModalItem = function ModalItem(props) {
964
964
  effects: effects
965
965
  }).then(function (values) {
966
966
  onSubmit(values);
967
+ return values;
968
+ }).catch(function (err) {
969
+ console.error(err);
967
970
  });
968
971
  case 9:
969
972
  case "end":
@@ -1050,6 +1053,7 @@ SchemaSettings.DefaultSortingRules = function DefaultSortingRules(props) {
1050
1053
  field: {
1051
1054
  type: 'string',
1052
1055
  enum: sortFields,
1056
+ required: true,
1053
1057
  'x-decorator': 'FormItem',
1054
1058
  'x-component': 'Select',
1055
1059
  'x-component-props': {
@@ -1160,8 +1164,13 @@ SchemaSettings.LinkageRules = function LinkageRules(props) {
1160
1164
  }
1161
1165
  });
1162
1166
  };
1163
- var useDataTemplates = function useDataTemplates() {
1167
+ var useDataTemplates = function useDataTemplates(schema) {
1164
1168
  var fieldSchema = (0, _react.useFieldSchema)();
1169
+ if (schema) {
1170
+ return {
1171
+ templateData: _lodash.default.cloneDeep(schema['x-data-templates'])
1172
+ };
1173
+ }
1165
1174
  var formSchema = (0, _2.findFormBlock)(fieldSchema) || fieldSchema;
1166
1175
  return {
1167
1176
  templateData: _lodash.default.cloneDeep(formSchema === null || formSchema === void 0 ? void 0 : formSchema['x-data-templates'])
@@ -1169,6 +1178,7 @@ var useDataTemplates = function useDataTemplates() {
1169
1178
  };
1170
1179
  exports.useDataTemplates = useDataTemplates;
1171
1180
  SchemaSettings.DataTemplates = function DataTemplates(props) {
1181
+ var designerCtx = (0, _react2.useContext)(_2.SchemaComponentContext);
1172
1182
  var collectionName = props.collectionName;
1173
1183
  var fieldSchema = (0, _react.useFieldSchema)();
1174
1184
  var _useDesignable4 = (0, _2.useDesignable)(),
@@ -1178,20 +1188,16 @@ SchemaSettings.DataTemplates = function DataTemplates(props) {
1178
1188
  var formSchema = (0, _2.findFormBlock)(fieldSchema) || fieldSchema;
1179
1189
  var _useDataTemplates = useDataTemplates(),
1180
1190
  templateData = _useDataTemplates.templateData;
1181
- return /*#__PURE__*/_react2.default.createElement(SchemaSettings.ModalItem, {
1182
- title: t('Form data templates'),
1183
- components: {
1184
- ArrayCollapse: _antd.ArrayCollapse,
1185
- FormLayout: _antd.FormLayout
1186
- },
1187
- width: 770,
1188
- schema: {
1191
+ var schema = (0, _react2.useMemo)(function () {
1192
+ return {
1189
1193
  type: 'object',
1190
1194
  title: t('Form data templates'),
1191
1195
  properties: {
1192
1196
  fieldReaction: {
1193
1197
  'x-component': _DataTemplates.FormDataTemplates,
1194
1198
  'x-component-props': {
1199
+ designerCtx: designerCtx,
1200
+ formSchema: formSchema,
1195
1201
  useProps: function useProps() {
1196
1202
  return {
1197
1203
  defaultValues: templateData,
@@ -1201,17 +1207,37 @@ SchemaSettings.DataTemplates = function DataTemplates(props) {
1201
1207
  }
1202
1208
  }
1203
1209
  }
1204
- },
1205
- onSubmit: function onSubmit(v) {
1206
- var _schema5;
1207
- var data = v.fieldReaction || {};
1208
- var schema = (_schema5 = {}, _defineProperty(_schema5, 'x-uid', formSchema['x-uid']), _defineProperty(_schema5, 'x-data-templates', data), _schema5);
1209
- formSchema['x-data-templates'] = data;
1210
- dn.emit('patch', {
1211
- schema: schema
1212
- });
1213
- dn.refresh();
1214
- }
1210
+ };
1211
+ }, [templateData]);
1212
+ var onSubmit = (0, _react2.useCallback)(function (v) {
1213
+ var _schema5;
1214
+ var data = _objectSpread(_objectSpread({}, formSchema['x-data-templates'] || {}), v.fieldReaction);
1215
+ // Tree 组件开启 checkStrictly 属性时,会导致 checkedKeys 的值是一个对象,而不是数组,所以这里需要转换一下以支持旧版本
1216
+ data.items.forEach(function (item) {
1217
+ item.fields = Array.isArray(item.fields) ? item.fields : item.fields.checked;
1218
+ });
1219
+ var schema = (_schema5 = {}, _defineProperty(_schema5, 'x-uid', formSchema['x-uid']), _defineProperty(_schema5, 'x-data-templates', data), _schema5);
1220
+ formSchema['x-data-templates'] = data;
1221
+ dn.emit('patch', {
1222
+ schema: schema
1223
+ });
1224
+ dn.refresh();
1225
+ }, []);
1226
+ var title = (0, _react2.useMemo)(function () {
1227
+ return t('Form data templates');
1228
+ }, []);
1229
+ var components = (0, _react2.useMemo)(function () {
1230
+ return {
1231
+ ArrayCollapse: _antd.ArrayCollapse,
1232
+ FormLayout: _antd.FormLayout
1233
+ };
1234
+ }, []);
1235
+ return /*#__PURE__*/_react2.default.createElement(SchemaSettings.ModalItem, {
1236
+ title: title,
1237
+ components: components,
1238
+ width: 770,
1239
+ schema: schema,
1240
+ onSubmit: onSubmit
1215
1241
  });
1216
1242
  };
1217
1243
  SchemaSettings.EnableChildCollections = function EnableChildCollectionsItem(props) {
@@ -1271,16 +1297,14 @@ SchemaSettings.EnableChildCollections = function EnableChildCollectionsItem(prop
1271
1297
  var schema = _defineProperty({}, 'x-uid', uid);
1272
1298
  fieldSchema['x-enable-children'] = enableChildren;
1273
1299
  fieldSchema['x-allow-add-to-current'] = v.allowAddToCurrent;
1274
- fieldSchema['x-component-props'] = {
1275
- openMode: 'drawer',
1300
+ fieldSchema['x-component-props'] = _objectSpread(_objectSpread({}, fieldSchema['x-component-props']), {}, {
1276
1301
  component: 'CreateRecordAction'
1277
- };
1302
+ });
1278
1303
  schema['x-enable-children'] = enableChildren;
1279
1304
  schema['x-allow-add-to-current'] = v.allowAddToCurrent;
1280
- schema['x-component-props'] = {
1281
- openMode: 'drawer',
1305
+ schema['x-component-props'] = _objectSpread(_objectSpread({}, fieldSchema['x-component-props']), {}, {
1282
1306
  component: 'CreateRecordAction'
1283
- };
1307
+ });
1284
1308
  dn.emit('patch', {
1285
1309
  schema: schema
1286
1310
  });
@@ -17,7 +17,7 @@ var getChildren = function getChildren(options, _ref) {
17
17
  return [];
18
18
  }
19
19
  var result = options.map(function (option) {
20
- if (option.type !== 'belongsTo' && option.type !== 'hasOne' || !option.target) {
20
+ if (!option.target) {
21
21
  var _option$schema;
22
22
  return {
23
23
  key: option.name,
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 是否显示 `允许多选` 开关
3
+ */
4
+ export declare function useIsShowMultipleSwitch(): () => boolean;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIsShowMultipleSwitch = useIsShowMultipleSwitch;
7
+ var _react = require("@formily/react");
8
+ var _collectionManager = require("../../collection-manager");
9
+ /**
10
+ * 是否显示 `允许多选` 开关
11
+ */
12
+ function useIsShowMultipleSwitch() {
13
+ var _uiSchema$xComponent;
14
+ var field = (0, _react.useField)();
15
+ var fieldSchema = (0, _react.useFieldSchema)();
16
+ var _useCollectionManager = (0, _collectionManager.useCollectionManager)(),
17
+ getCollectionField = _useCollectionManager.getCollectionField;
18
+ var collectionField = fieldSchema['x-collection-field'] ? getCollectionField(fieldSchema['x-collection-field']) : null;
19
+ var uiSchema = (collectionField === null || collectionField === void 0 ? void 0 : collectionField.uiSchema) || fieldSchema;
20
+ var hasMultiple = ((_uiSchema$xComponent = uiSchema['x-component-props']) === null || _uiSchema$xComponent === void 0 ? void 0 : _uiSchema$xComponent.multiple) === true;
21
+ return function IsShowMultipleSwitch() {
22
+ return !field.readPretty && fieldSchema['x-component'] !== 'TableField' && hasMultiple;
23
+ };
24
+ }
@@ -77,8 +77,8 @@ var SettingsForm = (0, _react.observer)(function (props) {
77
77
  }, /*#__PURE__*/_react2.default.createElement(_react.FieldContext.Provider, {
78
78
  value: f
79
79
  }, /*#__PURE__*/_react2.default.createElement(_antd2.Dropdown, {
80
- visible: dropdownVisible,
81
- onVisibleChange: function onVisibleChange(visible) {
80
+ open: dropdownVisible,
81
+ onOpenChange: function onOpenChange(visible) {
82
82
  return setDropdownVisible(visible);
83
83
  },
84
84
  overlayStyle: {