@leav/ui 0.4.0-c0da988 → 0.4.0-c10dd58e

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 (250) hide show
  1. package/README.md +1 -0
  2. package/dist/__mocks__/common/form.d.ts +632 -0
  3. package/dist/__mocks__/common/form.js +32 -23
  4. package/dist/__mocks__/common/form.js.map +1 -1
  5. package/dist/_gqlTypes/index.d.ts +3274 -2037
  6. package/dist/_gqlTypes/index.js +1579 -1209
  7. package/dist/_gqlTypes/index.js.map +1 -1
  8. package/dist/_queries/attributes/attributeDetailsFragment.js +1 -0
  9. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  10. package/dist/_queries/records/activateRecordsMutation.d.ts +1 -0
  11. package/dist/_queries/records/activateRecordsMutation.js +15 -0
  12. package/dist/_queries/records/activateRecordsMutation.js.map +1 -0
  13. package/dist/_queries/records/getRecordFormQuery.js +14 -5
  14. package/dist/_queries/records/getRecordFormQuery.js.map +1 -1
  15. package/dist/_queries/trees/treeNodeChildrenQuery.js +12 -2
  16. package/dist/_queries/trees/treeNodeChildrenQuery.js.map +1 -1
  17. package/dist/components/CreateDirectory/CreateDirectory.js +3 -3
  18. package/dist/components/CreateDirectory/CreateDirectory.js.map +1 -1
  19. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/DeleteButton/DeleteButton.js +3 -2
  20. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/DeleteButton/DeleteButton.js.map +1 -1
  21. package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.js +8 -1
  22. package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.js.map +1 -1
  23. package/dist/components/Explorer/DataView.d.ts +2 -1
  24. package/dist/components/Explorer/DataView.js +21 -12
  25. package/dist/components/Explorer/DataView.js.map +1 -1
  26. package/dist/components/Explorer/Explorer.d.ts +8 -6
  27. package/dist/components/Explorer/Explorer.js +12 -9
  28. package/dist/components/Explorer/Explorer.js.map +1 -1
  29. package/dist/components/Explorer/ExplorerToolbar.d.ts +2 -1
  30. package/dist/components/Explorer/ExplorerToolbar.js +5 -4
  31. package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
  32. package/dist/components/Explorer/TableCell.js +22 -11
  33. package/dist/components/Explorer/TableCell.js.map +1 -1
  34. package/dist/components/Explorer/_queries/useExplorerData.js +7 -3
  35. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  36. package/dist/components/Explorer/_types.d.ts +9 -3
  37. package/dist/components/Explorer/_types.js.map +1 -1
  38. package/dist/components/Explorer/actions-item/useEditItemAction.d.ts +2 -1
  39. package/dist/components/Explorer/actions-item/useEditItemAction.js +2 -1
  40. package/dist/components/Explorer/actions-item/useEditItemAction.js.map +1 -1
  41. package/dist/components/Explorer/actions-item/{useRemoveItemAction.d.ts → useEditStatusItemAction.d.ts} +2 -2
  42. package/dist/components/Explorer/actions-item/{useRemoveItemAction.js → useEditStatusItemAction.js} +71 -24
  43. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -0
  44. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +3 -1
  45. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +14 -6
  46. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  47. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js +4 -0
  48. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js.map +1 -1
  49. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.js +2 -2
  50. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.js.map +1 -1
  51. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js +3 -2
  52. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js.map +1 -1
  53. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.d.ts +1 -0
  54. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
  55. package/dist/components/Explorer/useColumnWidth.js +2 -1
  56. package/dist/components/Explorer/useColumnWidth.js.map +1 -1
  57. package/dist/components/Explorer/usePagination.d.ts +2 -1
  58. package/dist/components/Explorer/usePagination.js.map +1 -1
  59. package/dist/components/Explorer/useSearchInput.d.ts +3 -1
  60. package/dist/components/Explorer/useSearchInput.js +2 -1
  61. package/dist/components/Explorer/useSearchInput.js.map +1 -1
  62. package/dist/components/Explorer/useViewSettingsReducer.d.ts +1 -1
  63. package/dist/components/Explorer/useViewSettingsReducer.js +31 -16
  64. package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
  65. package/dist/components/ImportModal/ImportModalConfigStep/ImportModalConfigStep.js +1 -1
  66. package/dist/components/ImportModal/ImportModalConfigStep/ImportModalConfigStep.js.map +1 -1
  67. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js +1 -0
  68. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js.map +1 -1
  69. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +3 -3
  70. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +1 -1
  71. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.utils.js +2 -2
  72. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.utils.js.map +1 -1
  73. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js +3 -3
  74. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js.map +1 -1
  75. package/dist/components/LinkSelect/LinkSelect.d.ts +15 -0
  76. package/dist/components/LinkSelect/LinkSelect.js +88 -0
  77. package/dist/components/LinkSelect/LinkSelect.js.map +1 -0
  78. package/dist/components/LinkSelect/index.d.ts +2 -0
  79. package/dist/components/{SelectTreeNodeModal → LinkSelect}/index.js +2 -1
  80. package/dist/components/LinkSelect/index.js.map +1 -0
  81. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -4
  82. package/dist/components/RecordEdition/EditRecord/EditRecord.js +15 -28
  83. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  84. package/dist/components/RecordEdition/EditRecordButtons/EditRecordButtons.d.ts +2 -0
  85. package/dist/components/RecordEdition/EditRecordButtons/EditRecordButtons.js +43 -0
  86. package/dist/components/RecordEdition/EditRecordButtons/EditRecordButtons.js.map +1 -0
  87. package/dist/components/RecordEdition/EditRecordButtons/SidebarButton.d.ts +2 -0
  88. package/dist/components/RecordEdition/EditRecordButtons/SidebarButton.js +25 -0
  89. package/dist/components/RecordEdition/EditRecordButtons/SidebarButton.js.map +1 -0
  90. package/dist/components/RecordEdition/EditRecordButtons/index.d.ts +2 -0
  91. package/dist/components/RecordEdition/EditRecordButtons/index.js +6 -0
  92. package/dist/components/RecordEdition/EditRecordButtons/index.js.map +1 -0
  93. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js +68 -27
  94. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js.map +1 -1
  95. package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +14 -8
  96. package/dist/components/RecordEdition/EditRecordContent/_types.js.map +1 -1
  97. package/dist/components/RecordEdition/EditRecordContent/antdUtils.d.ts +6 -0
  98. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +7 -1
  99. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  100. package/dist/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.d.ts +15 -2
  101. package/dist/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.js +47 -24
  102. package/dist/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.js.map +1 -1
  103. package/dist/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.d.ts +13 -0
  104. package/dist/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.js +119 -0
  105. package/dist/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.js.map +1 -0
  106. package/dist/components/RecordEdition/EditRecordContent/hooks/useTabManagement.d.ts +12 -0
  107. package/dist/components/RecordEdition/EditRecordContent/hooks/useTabManagement.js +39 -0
  108. package/dist/components/RecordEdition/EditRecordContent/hooks/useTabManagement.js.map +1 -0
  109. package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.d.ts +2 -2
  110. package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js +3 -5
  111. package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js.map +1 -1
  112. package/dist/components/RecordEdition/EditRecordContent/uiElements/FormTabs/FormTabs.js +25 -5
  113. package/dist/components/RecordEdition/EditRecordContent/uiElements/FormTabs/FormTabs.js.map +1 -1
  114. package/dist/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.d.ts +1 -1
  115. package/dist/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.js +1 -3
  116. package/dist/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.js.map +1 -1
  117. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.d.ts +2 -2
  118. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +12 -9
  119. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
  120. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js +2 -2
  121. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js.map +1 -1
  122. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.d.ts +4 -2
  123. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js +258 -53
  124. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js.map +1 -1
  125. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.d.ts +0 -2
  126. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +63 -72
  127. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  128. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +2 -1
  129. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
  130. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.d.ts +2 -1
  131. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +2 -1
  132. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
  133. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js +3 -3
  134. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js.map +1 -1
  135. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/_types.d.ts +1 -0
  136. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.d.ts +1 -1
  137. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +24 -19
  138. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
  139. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.d.ts +2 -1
  140. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +2 -2
  141. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -1
  142. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/{useDisplayTreeNode.d.ts → TreeNodeList.d.ts} +4 -4
  143. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeList.js +5 -0
  144. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeList.js.map +1 -0
  145. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +16 -4
  146. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +12 -13
  147. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
  148. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +3 -2
  149. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +46 -55
  150. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -1
  151. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js +4 -4
  152. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js.map +1 -1
  153. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.d.ts +3 -3
  154. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.js +8 -8
  155. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.js.map +1 -1
  156. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.d.ts +3 -0
  157. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +48 -50
  158. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js.map +1 -1
  159. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +3 -1
  160. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +6 -6
  161. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  162. package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/Breadcrumb.js +2 -2
  163. package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/Breadcrumb.js.map +1 -1
  164. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.d.ts +0 -1
  165. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js +13 -12
  166. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js.map +1 -1
  167. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js +2 -2
  168. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js.map +1 -1
  169. package/dist/components/RecordEdition/constants.d.ts +2 -0
  170. package/dist/components/RecordEdition/constants.js +6 -0
  171. package/dist/components/RecordEdition/constants.js.map +1 -0
  172. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.d.ts +33 -2
  173. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +48 -3
  174. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
  175. package/dist/components/RecordEdition/index.d.ts +3 -0
  176. package/dist/components/RecordEdition/index.js +3 -0
  177. package/dist/components/RecordEdition/index.js.map +1 -1
  178. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +2 -1
  179. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +2 -2
  180. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
  181. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +5 -3
  182. package/dist/components/SelectTreeNode/SelectTreeNode.js +2 -3
  183. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  184. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +3 -1
  185. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +18 -23
  186. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  187. package/dist/components/SelectTreeNode/_types.d.ts +17 -0
  188. package/dist/components/SelectTreeNode/_types.js +2 -0
  189. package/dist/components/SelectTreeNode/_types.js.map +1 -0
  190. package/dist/components/{SelectTreeNodeModal/SelectTreeNodeModal.d.ts → SelectTreeNodeModalOld/SelectTreeNodeModalOld.d.ts} +1 -1
  191. package/dist/components/{SelectTreeNodeModal/SelectTreeNodeModal.js → SelectTreeNodeModalOld/SelectTreeNodeModalOld.js} +4 -2
  192. package/dist/components/SelectTreeNodeModalOld/SelectTreeNodeModalOld.js.map +1 -0
  193. package/dist/components/SelectTreeNodeModalOld/index.d.ts +1 -0
  194. package/dist/components/SelectTreeNodeModalOld/index.js +5 -0
  195. package/dist/components/SelectTreeNodeModalOld/index.js.map +1 -0
  196. package/dist/components/SimpleErrorBoundary/SimpleErrorBoundary.d.ts +1 -1
  197. package/dist/components/SimpleErrorBoundary/SimpleErrorBoundary.js.map +1 -1
  198. package/dist/components/UploadFiles/UploadFiles.js +3 -3
  199. package/dist/components/UploadFiles/UploadFiles.js.map +1 -1
  200. package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js +2 -2
  201. package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js.map +1 -1
  202. package/dist/components/index.d.ts +1 -2
  203. package/dist/components/index.js +1 -2
  204. package/dist/components/index.js.map +1 -1
  205. package/dist/contexts/LangContext/LangContext.d.ts +1 -2
  206. package/dist/contexts/LangContext/LangContext.js +2 -2
  207. package/dist/contexts/LangContext/LangContext.js.map +1 -1
  208. package/dist/hooks/index.d.ts +3 -0
  209. package/dist/hooks/index.js +3 -0
  210. package/dist/hooks/index.js.map +1 -1
  211. package/dist/hooks/useAppLang/useAppLang.js.map +1 -1
  212. package/dist/hooks/useGetRecordForm/useGetRecordForm.d.ts +2 -1
  213. package/dist/hooks/useGetRecordForm/useGetRecordForm.js +3 -14
  214. package/dist/hooks/useGetRecordForm/useGetRecordForm.js.map +1 -1
  215. package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +15 -0
  216. package/dist/hooks/useIFrameMessenger/messageHandlers.js +121 -0
  217. package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -0
  218. package/dist/hooks/useIFrameMessenger/schema.d.ts +21 -0
  219. package/dist/hooks/useIFrameMessenger/schema.js +76 -0
  220. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -0
  221. package/dist/hooks/useIFrameMessenger/types.d.ts +118 -0
  222. package/dist/hooks/useIFrameMessenger/types.js +2 -0
  223. package/dist/hooks/useIFrameMessenger/types.js.map +1 -0
  224. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +19 -0
  225. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +104 -0
  226. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js.map +1 -0
  227. package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.d.ts +7 -0
  228. package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.js +13 -0
  229. package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.js.map +1 -0
  230. package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.d.ts +13 -0
  231. package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.js +6 -0
  232. package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.js.map +1 -0
  233. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.d.ts +13 -0
  234. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.js +13 -0
  235. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.js.map +1 -0
  236. package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js +1 -1
  237. package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js.map +1 -1
  238. package/dist/locales/en/shared.json +9 -1
  239. package/dist/locales/fr/shared.json +9 -1
  240. package/dist/types/attributes.d.ts +2 -1
  241. package/package.json +23 -8
  242. package/dist/components/Explorer/actions-item/useRemoveItemAction.js.map +0 -1
  243. package/dist/components/RecordEdition/EditRecordContent/hooks/useRecordEditionContext.d.ts +0 -3
  244. package/dist/components/RecordEdition/EditRecordContent/hooks/useRecordEditionContext.js +0 -7
  245. package/dist/components/RecordEdition/EditRecordContent/hooks/useRecordEditionContext.js.map +0 -1
  246. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js +0 -8
  247. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js.map +0 -1
  248. package/dist/components/SelectTreeNodeModal/SelectTreeNodeModal.js.map +0 -1
  249. package/dist/components/SelectTreeNodeModal/index.d.ts +0 -1
  250. package/dist/components/SelectTreeNodeModal/index.js.map +0 -1
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  // This file is released under LGPL V3
4
4
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
5
  import { FORM_ROOT_CONTAINER_ID, FormUIElementTypes, simpleStringHash } from '@leav/utils';
6
- import { useEffect, useMemo } from 'react';
6
+ import { useEffect, useMemo, useState } from 'react';
7
7
  import { ErrorDisplay } from '../../../components';
8
8
  import useGetRecordForm from '../../../hooks/useGetRecordForm';
9
9
  import { useGetRecordUpdatesSubscription } from '../../../hooks/useGetRecordUpdatesSubscription';
@@ -12,25 +12,27 @@ import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
12
12
  import { FormElementTypes } from '../../../_gqlTypes';
13
13
  import { EditRecordReducerActionsTypes } from '../editRecordReducer/editRecordReducer';
14
14
  import { useEditRecordReducer } from '../editRecordReducer/useEditRecordReducer';
15
- import extractFormElements from './helpers/extractFormElements';
16
- import { RecordEditionContext } from './hooks/useRecordEditionContext';
17
15
  import { formComponents } from './uiElements';
18
16
  import { Form } from 'antd';
19
17
  import { EDIT_OR_CREATE_RECORD_FORM_ID } from './formConstants';
20
- import { getAntdFormInitialValues } from '../../../components/RecordEdition/EditRecordContent/antdUtils';
21
- import { useGetRecordValuesQuery } from '../../../hooks/useGetRecordValuesQuery/useGetRecordValuesQuery';
22
18
  import EditRecordSkeleton from '../EditRecordSkeleton';
23
19
  import styled from 'styled-components';
20
+ import { useFetchVisibleFormValue } from '../../../components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue';
21
+ import extractFormElements from '../../../components/RecordEdition/EditRecordContent/helpers/extractFormElements';
22
+ import useTabManagement from '../../../components/RecordEdition/EditRecordContent/hooks/useTabManagement';
24
23
  const WrappedForm = styled(Form) `
25
24
  height: 100%;
26
25
  `;
27
26
  const EditRecordContent = ({ antdForm, formId, formElementId, record, library, pendingValues, onRecordSubmit, onValueSubmit, onValueDelete, onDeleteMultipleValues, readonly }) => {
28
27
  let formIdToLoad = formId;
28
+ const isCreationForm = !record?.id;
29
29
  if (!formId) {
30
30
  formIdToLoad = record ? 'edition' : 'creation';
31
31
  }
32
32
  const { t } = useSharedTranslation();
33
33
  const { state, dispatch } = useEditRecordReducer();
34
+ // Reformat values with key as attribute id to facilitate the usage in form (attribute id as reference)
35
+ const [valuesMappedByAttributeId, setValuesMappedByAttributeId] = useState(null);
34
36
  useRecordsConsultationHistory(record?.library?.id ?? null, record?.id ?? null);
35
37
  const { data: recordUpdateData } = useGetRecordUpdatesSubscription({ records: [record?.id], ignoreOwnEvents: true }, !record?.id);
36
38
  useEffect(() => {
@@ -42,29 +44,63 @@ const EditRecordContent = ({ antdForm, formId, formElementId, record, library, p
42
44
  });
43
45
  }
44
46
  }, [recordUpdateData]);
45
- const { loading, error, recordForm, refetch } = useGetRecordForm({
47
+ // Get form without values
48
+ const { loading, error, recordForm } = useGetRecordForm({
46
49
  libraryId: library,
47
50
  recordId: record?.id,
48
51
  formId: formIdToLoad,
49
52
  version: state.valuesVersion
50
53
  });
51
- const { data: computeFieldsData, error: computeFieldsError, refetch: refetchComputeFields } = useGetRecordValuesQuery(library, recordForm
52
- ? recordForm.elements.filter(element => element.attribute?.compute).map(element => element.attribute.id)
53
- : [], [record?.id], true);
54
+ // Keep tabId displayed in reference to re-calculate visible elementIds and get its values
55
+ const { tabIdVisible, handleTabClick } = useTabManagement(recordForm?.elements);
56
+ // Get values of formElements
57
+ const { loading: loadingValues, refetchRecordFormWithValues, recordFormWithValues, error: errorOnGetValues } = useFetchVisibleFormValue(formIdToLoad, isCreationForm, recordForm, tabIdVisible);
58
+ useEffect(() => {
59
+ if (!recordFormWithValues?.recordId || !recordFormWithValues?.elements?.length) {
60
+ return;
61
+ }
62
+ // Transform elementsValues into the format by attribute id
63
+ const valuesMappedByAttributeIdTmp = {};
64
+ recordFormWithValues.elements.forEach(element => {
65
+ if (element.attribute && element.values) {
66
+ valuesMappedByAttributeIdTmp[element.attribute.id] = element.values;
67
+ }
68
+ });
69
+ setValuesMappedByAttributeId(valuesMappedByAttributeIdTmp);
70
+ }, [recordFormWithValues]);
71
+ useEffect(() => {
72
+ if (!loading && recordForm) {
73
+ dispatch({
74
+ type: EditRecordReducerActionsTypes.INITIALIZE_SIDEBAR,
75
+ enabled: recordForm.sidePanel.enable,
76
+ isOpenByDefault: recordForm.sidePanel.isOpenByDefault
77
+ });
78
+ }
79
+ }, [recordForm, loading]);
54
80
  // Generate a hash of recordForm to detect changes
55
81
  const recordFormHash = useMemo(() => simpleStringHash(JSON.stringify(recordForm)), [recordForm]);
56
82
  useEffect(() => {
57
83
  if (state.refreshRequested) {
58
- refetch();
84
+ // Create form
85
+ if (!isCreationForm) {
86
+ refetchRecordFormWithValues();
87
+ }
59
88
  dispatch({ type: EditRecordReducerActionsTypes.REFRESH_DONE });
60
89
  }
61
90
  }, [state.refreshRequested]);
62
- if (loading && !recordForm) {
91
+ if ((loading && !recordForm) || loadingValues) {
63
92
  return _jsx(EditRecordSkeleton, { rows: 5 });
64
93
  }
65
- if (error) {
66
- const message = Object.values(error.graphQLErrors[0]?.extensions?.exception?.fields ?? {}).join('\n') ?? error?.message;
94
+ const displayError = e => {
95
+ const message = Object.values(e.graphQLErrors[0]?.extensions?.exception?.fields ?? {}).join('\n') ??
96
+ error?.message;
67
97
  return _jsx(ErrorDisplay, { message: message ?? t('record_edition.no_form_error') });
98
+ };
99
+ if (error) {
100
+ return displayError(error);
101
+ }
102
+ else if (errorOnGetValues) {
103
+ return displayError(errorOnGetValues);
68
104
  }
69
105
  const _checkDependencyChange = (changedAttribute) => {
70
106
  // If a dependency attribute has changed, we need to refresh the form
@@ -77,13 +113,14 @@ const EditRecordContent = ({ antdForm, formId, formElementId, record, library, p
77
113
  _checkDependencyChange(element[0].attribute.id);
78
114
  const isEditing = Boolean(record);
79
115
  if (isEditing) {
80
- refetchComputeFields([record.id]);
116
+ await refetchRecordFormWithValues();
81
117
  }
82
118
  return submitRes;
83
119
  };
84
120
  const _handleValueDelete = async (value, attribute) => {
85
121
  const deleteRes = await onValueDelete(value, attribute);
86
122
  _checkDependencyChange(attribute);
123
+ await refetchRecordFormWithValues();
87
124
  return deleteRes;
88
125
  };
89
126
  const rootElement = {
@@ -93,20 +130,24 @@ const EditRecordContent = ({ antdForm, formId, formElementId, record, library, p
93
130
  uiElementType: FormUIElementTypes.FIELDS_CONTAINER,
94
131
  settings: {},
95
132
  attribute: null,
96
- valueError: null,
97
- values: null,
98
- uiElement: formComponents[FormUIElementTypes.FIELDS_CONTAINER]
133
+ uiElement: formComponents[FormUIElementTypes.FIELDS_CONTAINER],
134
+ record
135
+ };
136
+ // Used to get different event from children elements (e.g., listen to onTabClick event from FormTab element)
137
+ const onCustomEvent = (event) => {
138
+ // If a tab has been click
139
+ // Re-calculate visible elements and fetch values
140
+ if (event.eventName === 'onTabClick') {
141
+ handleTabClick(event.tabIdClicked);
142
+ }
99
143
  };
100
- const antdFormInitialValues = getAntdFormInitialValues(recordForm);
101
- const recordComputedValues = computeFieldsData && record ? computeFieldsData[record.id] : null;
102
- const elementsByContainer = extractFormElements(recordForm, recordComputedValues, computeFieldsError);
103
- return (_jsx(WrappedForm, { id: formElementId ?? EDIT_OR_CREATE_RECORD_FORM_ID, form: antdForm, initialValues: antdFormInitialValues, onFinish: () => onRecordSubmit(recordForm.elements.filter(element => element.attribute?.id).map(element => element.attribute)), children: _jsx(RecordEditionContext.Provider, { value: {
104
- elements: elementsByContainer,
105
- readOnly: readonly,
106
- record
107
- }, children: _jsx(rootElement.uiElement
108
- // Use a hash of record form as a key to force a full re-render when the form changes
109
- , { antdForm: antdForm, formIdToLoad: formIdToLoad, element: rootElement, computedValues: recordComputedValues, readonly: readonly, pendingValues: pendingValues, onValueSubmit: _handleValueSubmit, onValueDelete: _handleValueDelete, onDeleteMultipleValues: onDeleteMultipleValues }, recordFormHash) }) }));
144
+ // Create an object where key is container id and value is the element
145
+ const elementsByContainer = extractFormElements(recordFormWithValues || recordForm, errorOnGetValues);
146
+ return (_jsx(WrappedForm, { id: formElementId ?? EDIT_OR_CREATE_RECORD_FORM_ID, form: antdForm, onFinish: () => onRecordSubmit(recordForm.elements.filter(element => element.attribute?.id).map(element => element.attribute)), children: _jsx(rootElement.uiElement
147
+ // Use a hash of a record form as a key to force a full re-render when the form changes
148
+ , { antdForm: antdForm, valuesMappedByAttributeId: valuesMappedByAttributeId, isCreationForm: isCreationForm, element: rootElement, readonly: readonly,
149
+ // todo there is two readonly, one for form and for the attribut
150
+ pendingValues: pendingValues, onValueSubmit: _handleValueSubmit, onValueDelete: _handleValueDelete, onDeleteMultipleValues: onDeleteMultipleValues, onCustomEvent: onCustomEvent, record: record, elementsByContainer: elementsByContainer }, recordFormHash) }));
110
151
  };
111
152
  export default EditRecordContent;
112
153
  //# sourceMappingURL=EditRecordContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditRecordContent.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/EditRecordContent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditRecordContent.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/EditRecordContent.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,sBAAsB,EAAE,kBAAkB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AACzF,OAAO,EAAoB,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,+BAA+B,EAAC,MAAM,2CAA2C,CAAC;AAC1F,OAAO,6BAA6B,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAC,gBAAgB,EAA+C,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAC,6BAA6B,EAAC,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAS5C,OAAO,EAAC,IAAI,EAAe,MAAM,MAAM,CAAC;AACxC,OAAO,EAAC,6BAA6B,EAAC,MAAM,iBAAiB,CAAC;AAC9D,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,wBAAwB,EAAC,MAAM,+EAA+E,CAAC;AACvH,OAAO,mBAAmB,MAAM,4EAA4E,CAAC;AAC7G,OAAO,gBAAgB,MAAM,uEAAuE,CAAC;AAgBrG,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;;CAE/B,CAAC;AAEF,MAAM,iBAAiB,GAA+C,CAAC,EACnE,QAAQ,EACR,MAAM,EACN,aAAa,EACb,MAAM,EACN,OAAO,EACP,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,QAAQ,EACX,EAAE,EAAE;IACD,IAAI,YAAY,GAAG,MAAM,CAAC;IAC1B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACnD,CAAC;IACD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEjD,uGAAuG;IACvG,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjF,6BAA6B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;IAE/E,MAAM,EAAC,IAAI,EAAE,gBAAgB,EAAC,GAAG,+BAA+B,CAC5D,EAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAC,EAC9C,CAAC,MAAM,EAAE,EAAE,CACd,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,gBAAgB,EAAE,CAAC;YACnB,QAAQ,CAAC;gBACL,IAAI,EAAE,6BAA6B,CAAC,mBAAmB;gBACvD,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;gBACjF,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa;aAC/D,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,0BAA0B;IAC1B,MAAM,EAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAC,GAAG,gBAAgB,CAAC;QAClD,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,MAAM,EAAE,EAAE;QACpB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,KAAK,CAAC,aAAa;KAC/B,CAAC,CAAC;IAEH,0FAA0F;IAC1F,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE9E,6BAA6B;IAC7B,MAAM,EACF,OAAO,EAAE,aAAa,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,KAAK,EAAE,gBAAgB,EAC1B,GAAG,wBAAwB,CAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAErF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,oBAAoB,EAAE,QAAQ,IAAI,CAAC,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC7E,OAAO;QACX,CAAC;QACD,2DAA2D;QAC3D,MAAM,4BAA4B,GAAG,EAAE,CAAC;QACxC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC5C,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACtC,4BAA4B,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YACxE,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,4BAA4B,CAAC,4BAA4B,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;YACzB,QAAQ,CAAC;gBACL,IAAI,EAAE,6BAA6B,CAAC,kBAAkB;gBACtD,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;gBACpC,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe;aACxD,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1B,kDAAkD;IAClD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjG,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACzB,cAAc;YACd,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,2BAA2B,EAAE,CAAC;YAClC,CAAC;YACD,QAAQ,CAAC,EAAC,IAAI,EAAE,6BAA6B,CAAC,YAAY,EAAC,CAAC,CAAC;QACjE,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,aAAa,EAAE,CAAC;QAC5C,OAAO,KAAC,kBAAkB,IAAC,IAAI,EAAE,CAAC,GAAI,CAAC;IAC3C,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE;QACrB,MAAM,OAAO,GACT,MAAM,CAAC,MAAM,CAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAA8B,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACvG,KAAK,EAAE,OAAO,CAAC;QAEnB,OAAO,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,IAAI,CAAC,CAAC,8BAA8B,CAAC,GAAI,CAAC;IACnF,CAAC,CAAC;IAEF,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,gBAAgB,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,sBAAsB,GAAG,CAAC,gBAAwB,EAAE,EAAE;QACxD,qEAAqE;QACrE,IAAI,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClG,QAAQ,CAAC,EAAC,IAAI,EAAE,6BAA6B,CAAC,eAAe,EAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAoB,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACjE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEtD,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEhD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,2BAA2B,EAAE,CAAC;QACxC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAoB,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;QACnE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAExD,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAElC,MAAM,2BAA2B,EAAE,CAAC;QAEpC,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAoB;QACjC,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,gBAAgB,CAAC,MAAM;QAC7B,aAAa,EAAE,kBAAkB,CAAC,gBAAgB;QAClD,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,cAAc,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QAC9D,MAAM;KACT,CAAC;IAEF,6GAA6G;IAC7G,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAQ,EAAE;QACtD,0BAA0B;QAC1B,iDAAiD;QACjD,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;YACnC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;IACL,CAAC,CAAC;IAEF,sEAAsE;IACtE,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,oBAAoB,IAAI,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAEtG,OAAO,CACH,KAAC,WAAW,IACR,EAAE,EAAE,aAAa,IAAI,6BAA6B,EAClD,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,GAAG,EAAE,CACX,cAAc,CACV,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CACjG,YAGL,KAAC,WAAW,CAAC,SAAS;QAClB,uFAAuF;YAEvF,QAAQ,EAAE,QAAQ,EAClB,yBAAyB,EAAE,yBAAyB,EACpD,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ;YAClB,gEAAgE;YAChE,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,kBAAkB,EACjC,aAAa,EAAE,kBAAkB,EACjC,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,mBAAmB,IAbnC,cAAc,CAcrB,GACQ,CACjB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -30,16 +30,16 @@ export interface IDeleteValueResult {
30
30
  status: APICallStatus;
31
31
  error?: string;
32
32
  }
33
+ export interface ICustomEventResult {
34
+ [key: string]: any;
35
+ eventName: string;
36
+ element: FormElement<unknown>;
37
+ }
33
38
  export interface ICreateRecordResult {
34
39
  status: APICallStatus;
35
40
  record?: RecordIdentityFragment['whoAmI'];
36
41
  errors?: CreateRecordMutation['createRecord']['valuesErrors'];
37
42
  }
38
- export interface IRecordEditionContext {
39
- elements: IFormElementsByContainer;
40
- readOnly: boolean;
41
- record: IRecordIdentityWhoAmI;
42
- }
43
43
  export interface IFormElementsByContainer {
44
44
  [containerId: string]: Array<FormElement<unknown>>;
45
45
  }
@@ -55,6 +55,7 @@ export interface ISubmittedValueTree extends ISubmittedValueBase {
55
55
  export type SubmittedValue = ISubmittedValueStandard | ISubmittedValueLink | ISubmittedValueTree;
56
56
  export type SubmitValueFunc = (values: SubmittedValue[], version: IValueVersion) => Promise<ISubmitMultipleResult>;
57
57
  export type DeleteValueFunc = (value: ValueInput | null, attribute: string) => Promise<IDeleteValueResult>;
58
+ export type CustomEventFunc = (details: ICustomEventResult) => void;
58
59
  export type CreateRecordFunc = (library: string, values: ValueBatchInput[]) => Promise<ICreateRecordResult>;
59
60
  export type DeleteMultipleValuesFunc = (attribute: string, values: RecordProperty[], version: IValueVersion) => Promise<ISubmitMultipleResult>;
60
61
  export type MetadataSubmitValueFunc = (value: RecordProperty, attribute: RecordFormAttributeFragment, metadata: IKeyValue<AnyPrimitive>) => Promise<ISubmitMultipleResult>;
@@ -65,22 +66,27 @@ export interface ISubmittedValueBase {
65
66
  }
66
67
  export interface IFormElementProps<SettingsType, RecordFormElements = RecordFormElementsValue> {
67
68
  element: FormElement<SettingsType, RecordFormElements>;
68
- formIdToLoad: string | 'edition' | 'creation';
69
+ isCreationForm: boolean;
69
70
  pendingValues?: IPendingValues;
70
71
  readonly?: boolean;
71
72
  onValueSubmit?: SubmitValueFunc;
72
73
  onValueDelete?: DeleteValueFunc;
74
+ onCustomEvent?: CustomEventFunc;
73
75
  onDeleteMultipleValues?: DeleteMultipleValuesFunc;
74
76
  metadataEdit?: boolean;
77
+ record?: IRecordIdentityWhoAmI;
78
+ elementsByContainer?: Record<string, Array<FormElement<unknown>>>;
75
79
  }
76
80
  export type FormElement<SettingsType, RecordFormElements = RecordFormElementsValue> = Override<RecordFormElementFragment, {
77
81
  settings: SettingsType;
78
82
  uiElementType: FormUIElementTypes | FormFieldTypes;
79
- values: RecordFormElements[];
83
+ values?: RecordFormElements[];
84
+ valueError?: string;
85
+ record?: IRecordIdentityWhoAmI;
80
86
  }> & {
81
87
  uiElement: (props: IFormElementProps<unknown> & {
82
88
  antdForm?: FormInstance;
83
- computedValues?: GetRecordColumnsValuesRecord;
89
+ valuesMappedByAttributeId?: GetRecordColumnsValuesRecord;
84
90
  }) => JSX.Element;
85
91
  };
86
92
  export interface IDependencyValues {
@@ -1 +1 @@
1
- {"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/_types.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,oCAAmB,CAAA;AACvB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAyGD,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA,CAAC,oEAAoE;AAC5F,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
1
+ {"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/_types.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,oCAAmB,CAAA;AACvB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AA+GD,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA,CAAC,oEAAoE;AAC5F,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
@@ -4,4 +4,10 @@ export declare const EMPTY_INITIAL_VALUE_STRING = "";
4
4
  export declare const EMPTY_INITIAL_VALUE_UNDEFINED: any;
5
5
  export declare const getEmptyInitialValue: (attribute: RecordFormElementAttribute) => any;
6
6
  export declare const getAntdDisplayedValue: (values: RecordFormElementsValueStandardValue[], attribute: RecordFormElementAttribute) => any;
7
+ /**
8
+ * @deprecated This function will be removed after 2026-01-01.
9
+ * This fn is not used anymore, this hook is used useFetchVisibleFormValue, so we don't load default values
10
+ * Return formatted values for an antdForm
11
+ * @param recordForm
12
+ */
7
13
  export declare const getAntdFormInitialValues: (recordForm: IRecordForm) => Store;
@@ -44,8 +44,14 @@ export const getEmptyInitialValue = (attribute) => {
44
44
  return EMPTY_INITIAL_VALUE_STRING;
45
45
  };
46
46
  export const getAntdDisplayedValue = (values, attribute) => formatStandardInitialValue(getUserInputValue(values) ?? getInheritedValue(values) ?? getCalculatedValue(values) ?? null, attribute);
47
+ /**
48
+ * @deprecated This function will be removed after 2026-01-01.
49
+ * This fn is not used anymore, this hook is used useFetchVisibleFormValue, so we don't load default values
50
+ * Return formatted values for an antdForm
51
+ * @param recordForm
52
+ */
47
53
  export const getAntdFormInitialValues = (recordForm) => recordForm.elements.reduce((acc, { attribute, values }) => {
48
- if (!attribute) {
54
+ if (!attribute || values === null) {
49
55
  return acc;
50
56
  }
51
57
  const value = getUserInputValue(values) ?? getInheritedValue(values) ?? getCalculatedValue(values) ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"antdUtils.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/antdUtils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antdUtils.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/antdUtils.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,18 @@
1
1
  import { IRecordForm } from '../../../../../hooks/useGetRecordForm/useGetRecordForm';
2
2
  import { IFormElementsByContainer } from '../../_types';
3
- import { GetRecordColumnsValuesRecord } from '../../../../../_queries/records/getRecordColumnsValues';
4
3
  import { QueryResult } from '@apollo/client';
5
- export declare const extractFormElements: (form: IRecordForm, computedValues: GetRecordColumnsValuesRecord, computeErrors: QueryResult["error"]) => IFormElementsByContainer;
4
+ /**
5
+ * Extracts and organizes form elements by their container IDs.
6
+ *
7
+ * This function processes the `elements` property of the given form object, organizing
8
+ * them into a structured object grouped by their respective `containerId`. If no `containerId`
9
+ * is specified for an element, it defaults to `FORM_ROOT_CONTAINER_ID`. Additionally, it determines
10
+ * the UI representation (`uiElement`) of each element based on various properties, such as error states
11
+ * and type, and processes element settings.
12
+ *
13
+ * @param {IRecordForm} form - The form object containing elements to be processed.
14
+ * @param {QueryResult['error']} computeErrors - The set of compute errors used to determine error states of elements.
15
+ * @returns {IFormElementsByContainer} An object where each key represents a container ID and its value is an array of
16
+ * elements belonging to that container. Each element includes processed properties such as `uiElement` and updated settings.
17
+ */
18
+ export declare const extractFormElements: (form: IRecordForm, computeErrors: QueryResult["error"]) => IFormElementsByContainer;
@@ -1,31 +1,54 @@
1
1
  import { formComponents } from '../../uiElements';
2
2
  import ErrorField from '../../uiElements/ErrorField';
3
+ import { FORM_ROOT_CONTAINER_ID } from '@leav/utils';
3
4
  const isComputeValueInError = (computeErrors, attributeId) => computeErrors?.graphQLErrors[0]?.extensions?.fields?.[attributeId];
4
- export const extractFormElements = (form, computedValues, computeErrors) => form.elements.reduce((allElements, element) => {
5
- if (typeof allElements[element.containerId] === 'undefined') {
6
- allElements[element.containerId] = [];
5
+ /**
6
+ * Extracts and organizes form elements by their container IDs.
7
+ *
8
+ * This function processes the `elements` property of the given form object, organizing
9
+ * them into a structured object grouped by their respective `containerId`. If no `containerId`
10
+ * is specified for an element, it defaults to `FORM_ROOT_CONTAINER_ID`. Additionally, it determines
11
+ * the UI representation (`uiElement`) of each element based on various properties, such as error states
12
+ * and type, and processes element settings.
13
+ *
14
+ * @param {IRecordForm} form - The form object containing elements to be processed.
15
+ * @param {QueryResult['error']} computeErrors - The set of compute errors used to determine error states of elements.
16
+ * @returns {IFormElementsByContainer} An object where each key represents a container ID and its value is an array of
17
+ * elements belonging to that container. Each element includes processed properties such as `uiElement` and updated settings.
18
+ */
19
+ export const extractFormElements = (form, computeErrors) => {
20
+ if (!form?.elements) {
21
+ return {};
7
22
  }
8
- const computeInError = element.attribute?.id
9
- ? isComputeValueInError(computeErrors, element.attribute?.id)
10
- : false;
11
- const uiElement = (element.valueError && (!computedValues || !computedValues[element.attribute?.id])) || computeInError
12
- ? ErrorField
13
- : formComponents[element.uiElementType];
14
- const useAttributeLabel = element.settings.find(setting => setting.key === 'useAttributeLabel')?.value;
15
- const settings = element.settings.reduce((allSettings, curSettings) => {
16
- if (curSettings.key === 'label') {
17
- return {
18
- ...allSettings,
19
- label: useAttributeLabel ? element.attribute.label : curSettings.value
20
- };
23
+ return form.elements.reduce((allElements, element) => {
24
+ // Ensure containerId exists (use FORM_ROOT_CONTAINER_ID for root elements)
25
+ const containerId = element.containerId || FORM_ROOT_CONTAINER_ID;
26
+ // Initialize array for this container if it doesn't exist
27
+ if (!allElements[containerId]) {
28
+ allElements[containerId] = [];
21
29
  }
22
- return { ...allSettings, [curSettings.key]: curSettings.value };
30
+ const computeInError = element.attribute?.id
31
+ ? isComputeValueInError(computeErrors, element.attribute?.id)
32
+ : false;
33
+ const uiElement = (element.valueError && (!element.values || !element.values[element.attribute?.id])) || computeInError
34
+ ? ErrorField
35
+ : formComponents[element.uiElementType];
36
+ const useAttributeLabel = element.settings.find(setting => setting.key === 'useAttributeLabel')?.value;
37
+ const settings = element.settings.reduce((allSettings, curSettings) => {
38
+ if (curSettings.key === 'label') {
39
+ return {
40
+ ...allSettings,
41
+ label: useAttributeLabel ? element.attribute?.label : curSettings.value
42
+ };
43
+ }
44
+ return { ...allSettings, [curSettings.key]: curSettings.value };
45
+ }, {});
46
+ allElements[containerId].push({
47
+ ...element,
48
+ uiElement,
49
+ settings
50
+ });
51
+ return allElements;
23
52
  }, {});
24
- allElements[element.containerId].push({
25
- ...element,
26
- uiElement,
27
- settings
28
- });
29
- return allElements;
30
- }, {});
53
+ };
31
54
  //# sourceMappingURL=extractFormElements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractFormElements.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAKrD,MAAM,qBAAqB,GAAG,CAAC,aAAmC,EAAE,WAAmB,EAAW,EAAE,CAChG,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,IAAiB,EACjB,cAA4C,EAC5C,aAAmC,EACX,EAAE,CAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;IAC1C,IAAI,OAAO,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,WAAW,EAAE,CAAC;QAC1D,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE;QACxC,CAAC,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QAC7D,CAAC,CAAC,KAAK,CAAC;IAEZ,MAAM,SAAS,GACX,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc;QACjG,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhD,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAEvG,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;QAClE,IAAI,WAAW,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO;gBACH,GAAG,WAAW;gBACd,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK;aACzE,CAAC;QACN,CAAC;QACD,OAAO,EAAC,GAAG,WAAW,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,EAAC,CAAC;IAClE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAClC,GAAG,OAAO;QACV,SAAS;QACT,QAAQ;KACX,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACvB,CAAC,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"extractFormElements.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAGrD,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAEnD,MAAM,qBAAqB,GAAG,CAAC,aAAmC,EAAE,WAAmB,EAAW,EAAE,CAChG,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,IAAiB,EACjB,aAAmC,EACX,EAAE;IAC1B,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;QACjD,2EAA2E;QAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,sBAAsB,CAAC;QAElE,0DAA0D;QAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE;YACxC,CAAC,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7D,CAAC,CAAC,KAAK,CAAC;QAEZ,MAAM,SAAS,GACX,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc;YACjG,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEhD,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,mBAAmB,CAAC,EAAE,KAAK,CAAC;QAEvG,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;YAClE,IAAI,WAAW,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC9B,OAAO;oBACH,GAAG,WAAW;oBACd,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK;iBAC1E,CAAC;YACN,CAAC;YACD,OAAO,EAAC,GAAG,WAAW,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,EAAC,CAAC;QAClE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAC1B,GAAG,OAAO;YACV,SAAS;YACT,QAAQ;SACX,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { IRecordForm } from '../../../../hooks/useGetRecordForm';
2
+ /**
3
+ * Hook to fetch values from visible elements in a form (elements in the visible tab + other elements outside a tab)
4
+ * @param formIdToLoad
5
+ * @param recordForm
6
+ * @param tabIdVisible
7
+ */
8
+ export declare const useFetchVisibleFormValue: (formIdToLoad: string, isCreationForm: boolean, recordForm: IRecordForm, tabIdVisible: string) => {
9
+ loading: boolean;
10
+ error: any;
11
+ refetchRecordFormWithValues: () => Promise<void>;
12
+ recordFormWithValues: IRecordForm;
13
+ };
@@ -0,0 +1,119 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { useGetRecordFormElementsValuesLazyQuery } from '../../../../_gqlTypes';
5
+ import { useEffect, useState } from 'react';
6
+ import { FormUIElementTypes } from '@leav/utils';
7
+ /**
8
+ * Hook to fetch values from visible elements in a form (elements in the visible tab + other elements outside a tab)
9
+ * @param formIdToLoad
10
+ * @param recordForm
11
+ * @param tabIdVisible
12
+ */
13
+ export const useFetchVisibleFormValue = (formIdToLoad, isCreationForm, recordForm, tabIdVisible) => {
14
+ const [error, setError] = useState(null);
15
+ const [recordFormWithValues, setRecordFormWithValues] = useState(null);
16
+ const [elementIdsVisible, setElementIdsVisible] = useState([]);
17
+ const [elementsIdsFetched, setElementsIdsFetched] = useState([]);
18
+ const [getRecordFormElementsValues, { loading }] = useGetRecordFormElementsValuesLazyQuery({
19
+ fetchPolicy: 'no-cache'
20
+ });
21
+ // Get all elements visible
22
+ // Exclude uiElement of a type link
23
+ const getElementIdsVisible = () => {
24
+ // Find element ids from record.elements that are in the first page of a tab or are not a tab
25
+ const containerToExclude = [];
26
+ recordForm.elements.forEach(el => {
27
+ if (el.uiElementType === FormUIElementTypes.TABS) {
28
+ const tabSettings = el.settings?.find(s => s.key === 'tabs');
29
+ // Exclude all tab ids that are not equals to tabIdVisible variable
30
+ containerToExclude.push(...tabSettings.value.filter(e => e.id !== tabIdVisible).map(e => e.id));
31
+ }
32
+ });
33
+ // Find all elements visible
34
+ return recordForm.elements
35
+ .filter(e => e.uiElementType !== FormUIElementTypes.LINK)
36
+ .filter(e =>
37
+ // filters all elements where containers id contains /${e.id}
38
+ !containerToExclude.some(c => e.containerId?.includes(c)))
39
+ .map(e => e.id);
40
+ };
41
+ useEffect(() => {
42
+ (async () => {
43
+ if (!recordForm || !formIdToLoad || tabIdVisible === undefined) {
44
+ return;
45
+ }
46
+ // skip on creation form
47
+ if (isCreationForm) {
48
+ return;
49
+ }
50
+ const elementIds = getElementIdsVisible();
51
+ setElementIdsVisible(elementIds);
52
+ // List of elementIds that we don't have fetched their values yet
53
+ const elementIdsToFetch = elementIds.filter(e => !elementsIdsFetched.includes(e));
54
+ if (!elementIdsToFetch.length) {
55
+ return;
56
+ }
57
+ try {
58
+ const result = await getRecordFormElementsValues({
59
+ variables: {
60
+ libraryId: recordForm.library.id,
61
+ recordId: recordForm.recordId,
62
+ formId: formIdToLoad,
63
+ elementIds: elementIdsToFetch
64
+ }
65
+ });
66
+ setElementsIdsFetched([...elementsIdsFetched, ...elementIdsToFetch]);
67
+ const recordFormElementValues = (result.data?.getRecordFormElementsValues ||
68
+ []);
69
+ updateRecordFormWithValues(recordFormElementValues);
70
+ }
71
+ catch (e) {
72
+ setError(e);
73
+ }
74
+ })();
75
+ }, [formIdToLoad, isCreationForm, recordForm, tabIdVisible]);
76
+ // Merge new values into recordForm
77
+ const updateRecordFormWithValues = (elementsValues) => {
78
+ setRecordFormWithValues({
79
+ ...recordForm,
80
+ elements: recordForm.elements.map(e => {
81
+ const elementValue = elementsValues.find((v) => v.id === e.id);
82
+ if (elementValue) {
83
+ return {
84
+ ...e,
85
+ values: elementValue.values,
86
+ valueError: elementValue.valueError
87
+ };
88
+ }
89
+ else {
90
+ return e;
91
+ }
92
+ })
93
+ });
94
+ };
95
+ // Create a refetch function for computed fields
96
+ const refetchRecordFormWithValues = async () => {
97
+ try {
98
+ const result = await getRecordFormElementsValues({
99
+ variables: {
100
+ libraryId: recordForm.library.id,
101
+ recordId: recordForm.recordId,
102
+ formId: formIdToLoad,
103
+ elementIds: elementIdsVisible
104
+ }
105
+ });
106
+ updateRecordFormWithValues((result.data?.getRecordFormElementsValues || []));
107
+ }
108
+ catch (e) {
109
+ setError(e);
110
+ }
111
+ };
112
+ return {
113
+ loading,
114
+ error,
115
+ refetchRecordFormWithValues,
116
+ recordFormWithValues
117
+ };
118
+ };
119
+ //# sourceMappingURL=useFetchVisibleFormValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchVisibleFormValue.js","sourceRoot":"","sources":["../../../../../src/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { RecordFormElement } from '../../../../hooks/useGetRecordForm';
2
+ /**
3
+ * Hook to manage tab visibility and tab click events in the EditRecordContent component
4
+ * @returns Object containing the visible tab ID and a handler for tab click events
5
+ * undefined = not loaded yet, null = no tabs found, string = id found
6
+ * @param elements
7
+ */
8
+ export declare const useTabManagement: (elements: RecordFormElement[]) => {
9
+ tabIdVisible: string;
10
+ handleTabClick: (tabIdClicked: string) => void;
11
+ };
12
+ export default useTabManagement;
@@ -0,0 +1,39 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { useState, useEffect } from 'react';
5
+ /**
6
+ * Hook to manage tab visibility and tab click events in the EditRecordContent component
7
+ * @returns Object containing the visible tab ID and a handler for tab click events
8
+ * undefined = not loaded yet, null = no tabs found, string = id found
9
+ * @param elements
10
+ */
11
+ export const useTabManagement = (elements) => {
12
+ // State to track the currently visible tab ID
13
+ const [tabIdVisible, setTabIdVisible] = useState(undefined);
14
+ // Initialize the visible tab ID when the record form is loaded
15
+ useEffect(() => {
16
+ // When we load the record form, get the ID of the first tab
17
+ const firstTabId = elements?.find(e => e.uiElementType === 'tabs')?.settings?.find(s => s.key === 'tabs')
18
+ ?.value[0]?.id;
19
+ if (firstTabId) {
20
+ setTabIdVisible(firstTabId);
21
+ }
22
+ else {
23
+ setTabIdVisible(null);
24
+ }
25
+ }, [elements]);
26
+ /**
27
+ * Handler for tab click events
28
+ * @param tabIdClicked The ID of the tab that was clicked
29
+ */
30
+ const handleTabClick = (tabIdClicked) => {
31
+ setTabIdVisible(tabIdClicked);
32
+ };
33
+ return {
34
+ tabIdVisible,
35
+ handleTabClick
36
+ };
37
+ };
38
+ export default useTabManagement;
39
+ //# sourceMappingURL=useTabManagement.js.map