@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
@@ -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',
@@ -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,16 +41,16 @@ 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
- import { EnableChildCollections } from './EnableChildCollections';
54
54
  var SchemaSettingsContext = /*#__PURE__*/createContext(null);
55
55
  export var useSchemaSettings = function useSchemaSettings() {
56
56
  return useContext(SchemaSettingsContext);
@@ -81,8 +81,8 @@ export var SchemaSettings = function SchemaSettings(props) {
81
81
  visible = _useState2[0],
82
82
  setVisible = _useState2[1];
83
83
  var DropdownMenu = /*#__PURE__*/React.createElement(Dropdown, {
84
- visible: visible,
85
- onVisibleChange: function onVisibleChange(visible) {
84
+ open: visible,
85
+ onOpenChange: function onOpenChange(visible) {
86
86
  setVisible(visible);
87
87
  },
88
88
  overlay: /*#__PURE__*/React.createElement(Menu, null, props.children),
@@ -952,6 +952,9 @@ SchemaSettings.ModalItem = function ModalItem(props) {
952
952
  effects: effects
953
953
  }).then(function (values) {
954
954
  onSubmit(values);
955
+ return values;
956
+ }).catch(function (err) {
957
+ console.error(err);
955
958
  });
956
959
  case 9:
957
960
  case "end":
@@ -1038,6 +1041,7 @@ SchemaSettings.DefaultSortingRules = function DefaultSortingRules(props) {
1038
1041
  field: {
1039
1042
  type: 'string',
1040
1043
  enum: sortFields,
1044
+ required: true,
1041
1045
  'x-decorator': 'FormItem',
1042
1046
  'x-component': 'Select',
1043
1047
  'x-component-props': {
@@ -1148,14 +1152,20 @@ SchemaSettings.LinkageRules = function LinkageRules(props) {
1148
1152
  }
1149
1153
  });
1150
1154
  };
1151
- export var useDataTemplates = function useDataTemplates() {
1155
+ export var useDataTemplates = function useDataTemplates(schema) {
1152
1156
  var fieldSchema = useFieldSchema();
1157
+ if (schema) {
1158
+ return {
1159
+ templateData: _.cloneDeep(schema['x-data-templates'])
1160
+ };
1161
+ }
1153
1162
  var formSchema = findFormBlock(fieldSchema) || fieldSchema;
1154
1163
  return {
1155
1164
  templateData: _.cloneDeep(formSchema === null || formSchema === void 0 ? void 0 : formSchema['x-data-templates'])
1156
1165
  };
1157
1166
  };
1158
1167
  SchemaSettings.DataTemplates = function DataTemplates(props) {
1168
+ var designerCtx = useContext(SchemaComponentContext);
1159
1169
  var collectionName = props.collectionName;
1160
1170
  var fieldSchema = useFieldSchema();
1161
1171
  var _useDesignable4 = useDesignable(),
@@ -1165,20 +1175,16 @@ SchemaSettings.DataTemplates = function DataTemplates(props) {
1165
1175
  var formSchema = findFormBlock(fieldSchema) || fieldSchema;
1166
1176
  var _useDataTemplates = useDataTemplates(),
1167
1177
  templateData = _useDataTemplates.templateData;
1168
- return /*#__PURE__*/React.createElement(SchemaSettings.ModalItem, {
1169
- title: t('Form data templates'),
1170
- components: {
1171
- ArrayCollapse: ArrayCollapse,
1172
- FormLayout: FormLayout
1173
- },
1174
- width: 770,
1175
- schema: {
1178
+ var schema = useMemo(function () {
1179
+ return {
1176
1180
  type: 'object',
1177
1181
  title: t('Form data templates'),
1178
1182
  properties: {
1179
1183
  fieldReaction: {
1180
1184
  'x-component': FormDataTemplates,
1181
1185
  'x-component-props': {
1186
+ designerCtx: designerCtx,
1187
+ formSchema: formSchema,
1182
1188
  useProps: function useProps() {
1183
1189
  return {
1184
1190
  defaultValues: templateData,
@@ -1188,17 +1194,37 @@ SchemaSettings.DataTemplates = function DataTemplates(props) {
1188
1194
  }
1189
1195
  }
1190
1196
  }
1191
- },
1192
- onSubmit: function onSubmit(v) {
1193
- var _schema5;
1194
- var data = v.fieldReaction || {};
1195
- var schema = (_schema5 = {}, _defineProperty(_schema5, 'x-uid', formSchema['x-uid']), _defineProperty(_schema5, 'x-data-templates', data), _schema5);
1196
- formSchema['x-data-templates'] = data;
1197
- dn.emit('patch', {
1198
- schema: schema
1199
- });
1200
- dn.refresh();
1201
- }
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
1202
1228
  });
1203
1229
  };
1204
1230
  SchemaSettings.EnableChildCollections = function EnableChildCollectionsItem(props) {
@@ -1258,16 +1284,14 @@ SchemaSettings.EnableChildCollections = function EnableChildCollectionsItem(prop
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;
@@ -0,0 +1,18 @@
1
+ import { useField, useFieldSchema } from '@formily/react';
2
+ import { useCollectionManager } from '../../collection-manager';
3
+ /**
4
+ * 是否显示 `允许多选` 开关
5
+ */
6
+ export function useIsShowMultipleSwitch() {
7
+ var _uiSchema$xComponent;
8
+ var field = useField();
9
+ var fieldSchema = useFieldSchema();
10
+ var _useCollectionManager = useCollectionManager(),
11
+ getCollectionField = _useCollectionManager.getCollectionField;
12
+ var collectionField = fieldSchema['x-collection-field'] ? getCollectionField(fieldSchema['x-collection-field']) : null;
13
+ var uiSchema = (collectionField === null || collectionField === void 0 ? void 0 : collectionField.uiSchema) || fieldSchema;
14
+ var hasMultiple = ((_uiSchema$xComponent = uiSchema['x-component-props']) === null || _uiSchema$xComponent === void 0 ? void 0 : _uiSchema$xComponent.multiple) === true;
15
+ return function IsShowMultipleSwitch() {
16
+ return !field.readPretty && fieldSchema['x-component'] !== 'TableField' && hasMultiple;
17
+ };
18
+ }
@@ -10,7 +10,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
10
10
  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
11
  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
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- import { Input, PageHeader as AntdPageHeader, Spin } from 'antd';
13
+ import { PageHeader as AntdPageHeader, Input, Spin } from 'antd';
14
14
  import React, { useContext, useState } from 'react';
15
15
  import { useHistory, useRouteMatch } from 'react-router-dom';
16
16
  import { useAPIClient, useRequest, useSchemaTemplateManager } from '..';
@@ -67,8 +67,8 @@ export var SettingsForm = observer(function (props) {
67
67
  }, /*#__PURE__*/React.createElement(FieldContext.Provider, {
68
68
  value: f
69
69
  }, /*#__PURE__*/React.createElement(Dropdown, {
70
- visible: dropdownVisible,
71
- onVisibleChange: function onVisibleChange(visible) {
70
+ open: dropdownVisible,
71
+ onOpenChange: function onOpenChange(visible) {
72
72
  return setDropdownVisible(visible);
73
73
  },
74
74
  overlayStyle: {