@leav/ui 0.4.0-4e6e650 → 0.4.0-54167beb

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 (229) 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 +27 -22
  4. package/dist/__mocks__/common/form.js.map +1 -1
  5. package/dist/_gqlTypes/index.d.ts +3267 -2315
  6. package/dist/_gqlTypes/index.js +374 -132
  7. package/dist/_gqlTypes/index.js.map +1 -1
  8. package/dist/_queries/records/getRecordFormQuery.js +10 -5
  9. package/dist/_queries/records/getRecordFormQuery.js.map +1 -1
  10. package/dist/_queries/trees/treeNodeChildrenQuery.js +12 -2
  11. package/dist/_queries/trees/treeNodeChildrenQuery.js.map +1 -1
  12. package/dist/components/Explorer/DataView.js +4 -4
  13. package/dist/components/Explorer/DataView.js.map +1 -1
  14. package/dist/components/Explorer/Explorer.d.ts +4 -2
  15. package/dist/components/Explorer/Explorer.js +7 -3
  16. package/dist/components/Explorer/Explorer.js.map +1 -1
  17. package/dist/components/Explorer/ExplorerToolbar.d.ts +2 -1
  18. package/dist/components/Explorer/ExplorerToolbar.js +5 -4
  19. package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
  20. package/dist/components/Explorer/_queries/useExplorerData.js +2 -3
  21. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  22. package/dist/components/Explorer/_types.d.ts +4 -1
  23. package/dist/components/Explorer/_types.js.map +1 -1
  24. package/dist/components/Explorer/actions-item/useReplaceItemAction.d.ts +2 -1
  25. package/dist/components/Explorer/actions-item/useReplaceItemAction.js +2 -2
  26. package/dist/components/Explorer/actions-item/useReplaceItemAction.js.map +1 -1
  27. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +4 -1
  28. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +13 -20
  29. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  30. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.d.ts +5 -3
  31. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js +3 -18
  32. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js.map +1 -1
  33. package/dist/components/Explorer/link-item/LinkModal.d.ts +3 -0
  34. package/dist/components/Explorer/link-item/LinkModal.js +5 -10
  35. package/dist/components/Explorer/link-item/LinkModal.js.map +1 -1
  36. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js +4 -0
  37. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js.map +1 -1
  38. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.js +2 -2
  39. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.js.map +1 -1
  40. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js +2 -1
  41. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js.map +1 -1
  42. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.d.ts +1 -0
  43. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
  44. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +2 -2
  45. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +1 -1
  46. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +2 -1
  47. package/dist/components/RecordEdition/EditRecord/EditRecord.js +72 -224
  48. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  49. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.d.ts +2 -2
  50. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js +57 -33
  51. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js.map +1 -1
  52. package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +15 -12
  53. package/dist/components/RecordEdition/EditRecordContent/_types.js.map +1 -1
  54. package/dist/components/RecordEdition/EditRecordContent/antdUtils.d.ts +6 -0
  55. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +7 -1
  56. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  57. package/dist/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.d.ts +15 -2
  58. package/dist/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.js +47 -24
  59. package/dist/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.js.map +1 -1
  60. package/dist/components/RecordEdition/EditRecordContent/hooks/useCreateEmptyRecordMutation.d.ts +5 -0
  61. package/dist/components/RecordEdition/EditRecordContent/hooks/useCreateEmptyRecordMutation.js +28 -0
  62. package/dist/components/RecordEdition/EditRecordContent/hooks/useCreateEmptyRecordMutation.js.map +1 -0
  63. package/dist/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.d.ts +13 -0
  64. package/dist/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.js +113 -0
  65. package/dist/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.js.map +1 -0
  66. package/dist/components/RecordEdition/EditRecordContent/hooks/useTabManagement.d.ts +12 -0
  67. package/dist/components/RecordEdition/EditRecordContent/hooks/useTabManagement.js +39 -0
  68. package/dist/components/RecordEdition/EditRecordContent/hooks/useTabManagement.js.map +1 -0
  69. package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.d.ts +3 -2
  70. package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js +3 -5
  71. package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js.map +1 -1
  72. package/dist/components/RecordEdition/EditRecordContent/uiElements/FormDivider/FormDivider.js.map +1 -1
  73. package/dist/components/RecordEdition/EditRecordContent/uiElements/FormTabs/FormTabs.js +25 -5
  74. package/dist/components/RecordEdition/EditRecordContent/uiElements/FormTabs/FormTabs.js.map +1 -1
  75. package/dist/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.d.ts +1 -1
  76. package/dist/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.js +1 -3
  77. package/dist/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.js.map +1 -1
  78. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +13 -36
  79. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
  80. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.d.ts +3 -0
  81. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.js +9 -0
  82. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.js.map +1 -0
  83. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record-in-edition/useLinkRecords.d.ts → link-record/useExplorerLinkRecords.d.ts} +2 -2
  84. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record-in-edition/useLinkRecords.js → link-record/useExplorerLinkRecords.js} +3 -3
  85. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useExplorerLinkRecords.js.map +1 -0
  86. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.d.ts +24 -0
  87. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js +79 -0
  88. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js.map +1 -0
  89. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.d.ts +0 -2
  90. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +62 -79
  91. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  92. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +2 -1
  93. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
  94. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.d.ts +2 -1
  95. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +2 -1
  96. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
  97. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/_types.d.ts +1 -0
  98. package/dist/components/RecordEdition/EditRecordContent/uiElements/TextBlock/TextBlock.js.map +1 -1
  99. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.d.ts +1 -1
  100. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +24 -26
  101. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
  102. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.d.ts +2 -1
  103. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +2 -2
  104. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -1
  105. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/{useDisplayTreeNode.d.ts → TreeNodeList.d.ts} +4 -4
  106. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeList.js +5 -0
  107. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeList.js.map +1 -0
  108. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +16 -4
  109. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +12 -13
  110. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
  111. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +4 -2
  112. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +56 -58
  113. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -1
  114. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js +4 -4
  115. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js.map +1 -1
  116. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.d.ts +2 -4
  117. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.js +6 -10
  118. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.js.map +1 -1
  119. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +22 -4
  120. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js.map +1 -1
  121. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +23 -5
  122. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  123. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.d.ts +6 -1
  124. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +5 -1
  125. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
  126. package/dist/components/RecordEdition/index.d.ts +2 -1
  127. package/dist/components/RecordEdition/index.js +2 -1
  128. package/dist/components/RecordEdition/index.js.map +1 -1
  129. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +2 -1
  130. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +2 -2
  131. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
  132. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +5 -3
  133. package/dist/components/SelectTreeNode/SelectTreeNode.js +2 -3
  134. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  135. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +3 -1
  136. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +18 -23
  137. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  138. package/dist/components/SelectTreeNode/_types.d.ts +17 -0
  139. package/dist/components/SelectTreeNode/_types.js +2 -0
  140. package/dist/components/SelectTreeNode/_types.js.map +1 -0
  141. package/dist/components/{SelectTreeNodeModal/SelectTreeNodeModal.d.ts → SelectTreeNodeModalOld/SelectTreeNodeModalOld.d.ts} +1 -1
  142. package/dist/components/{SelectTreeNodeModal/SelectTreeNodeModal.js → SelectTreeNodeModalOld/SelectTreeNodeModalOld.js} +4 -2
  143. package/dist/components/SelectTreeNodeModalOld/SelectTreeNodeModalOld.js.map +1 -0
  144. package/dist/components/SelectTreeNodeModalOld/index.d.ts +1 -0
  145. package/dist/components/{LinkSelect → SelectTreeNodeModalOld}/index.js +1 -2
  146. package/dist/components/SelectTreeNodeModalOld/index.js.map +1 -0
  147. package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js +2 -2
  148. package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js.map +1 -1
  149. package/dist/components/index.d.ts +1 -1
  150. package/dist/components/index.js +1 -1
  151. package/dist/components/index.js.map +1 -1
  152. package/dist/hooks/index.d.ts +2 -0
  153. package/dist/hooks/index.js +2 -0
  154. package/dist/hooks/index.js.map +1 -1
  155. package/dist/hooks/useGetRecordForm/useGetRecordForm.d.ts +2 -1
  156. package/dist/hooks/useGetRecordForm/useGetRecordForm.js +2 -13
  157. package/dist/hooks/useGetRecordForm/useGetRecordForm.js.map +1 -1
  158. package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +2 -1
  159. package/dist/hooks/useIFrameMessenger/messageHandlers.js +3 -0
  160. package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -1
  161. package/dist/hooks/useIFrameMessenger/schema.d.ts +21 -0
  162. package/dist/hooks/useIFrameMessenger/schema.js +76 -0
  163. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -0
  164. package/dist/hooks/useIFrameMessenger/types.d.ts +33 -5
  165. package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
  166. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +9 -1
  167. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +55 -20
  168. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js.map +1 -1
  169. package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.d.ts +7 -0
  170. package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.js +13 -0
  171. package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.js.map +1 -0
  172. package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.d.ts +13 -0
  173. package/dist/{components/RecordEdition/EditRecord/creationErrorContext.js → hooks/useIFrameMessengerClient/iFrameMessengerClientContext.js} +2 -3
  174. package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.js.map +1 -0
  175. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.d.ts +13 -0
  176. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.js +13 -0
  177. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.js.map +1 -0
  178. package/dist/types/attributes.d.ts +2 -1
  179. package/package.json +22 -6
  180. package/dist/components/LinkSelect/LinkSelect.d.ts +0 -15
  181. package/dist/components/LinkSelect/LinkSelect.js +0 -89
  182. package/dist/components/LinkSelect/LinkSelect.js.map +0 -1
  183. package/dist/components/LinkSelect/index.d.ts +0 -2
  184. package/dist/components/LinkSelect/index.js.map +0 -1
  185. package/dist/components/RecordEdition/EditRecord/creationErrorContext.d.ts +0 -6
  186. package/dist/components/RecordEdition/EditRecord/creationErrorContext.js.map +0 -1
  187. package/dist/components/RecordEdition/EditRecordContent/hooks/useCreateRecordMutation.d.ts +0 -5
  188. package/dist/components/RecordEdition/EditRecordContent/hooks/useCreateRecordMutation.js +0 -28
  189. package/dist/components/RecordEdition/EditRecordContent/hooks/useCreateRecordMutation.js.map +0 -1
  190. package/dist/components/RecordEdition/EditRecordContent/hooks/useRecordEditionContext.d.ts +0 -3
  191. package/dist/components/RecordEdition/EditRecordContent/hooks/useRecordEditionContext.js +0 -7
  192. package/dist/components/RecordEdition/EditRecordContent/hooks/useRecordEditionContext.js.map +0 -1
  193. package/dist/components/RecordEdition/EditRecordContent/hooks/useRunActionsListAndFormatOnValue.d.ts +0 -121
  194. package/dist/components/RecordEdition/EditRecordContent/hooks/useRunActionsListAndFormatOnValue.js +0 -31
  195. package/dist/components/RecordEdition/EditRecordContent/hooks/useRunActionsListAndFormatOnValue.js.map +0 -1
  196. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useEditRecord.d.ts +0 -5
  197. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useEditRecord.js +0 -39
  198. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useEditRecord.js.map +0 -1
  199. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useUnselectRecord.d.ts +0 -8
  200. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useUnselectRecord.js +0 -23
  201. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useUnselectRecord.js.map +0 -1
  202. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-mass/useUnselectAllRecords.d.ts +0 -9
  203. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-mass/useUnselectAllRecords.js +0 -23
  204. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-mass/useUnselectAllRecords.js.map +0 -1
  205. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useCreateRecord.d.ts +0 -8
  206. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useCreateRecord.js +0 -26
  207. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useCreateRecord.js.map +0 -1
  208. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useRecordSelector.d.ts +0 -12
  209. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useRecordSelector.js +0 -24
  210. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useRecordSelector.js.map +0 -1
  211. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecords.d.ts +0 -19
  212. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecords.js +0 -103
  213. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecords.js.map +0 -1
  214. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.d.ts +0 -22
  215. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js +0 -104
  216. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js.map +0 -1
  217. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecords.js.map +0 -1
  218. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.d.ts +0 -27
  219. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js +0 -196
  220. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js.map +0 -1
  221. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/LinkActionsButtons.d.ts +0 -9
  222. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/LinkActionsButtons.js +0 -15
  223. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/LinkActionsButtons.js.map +0 -1
  224. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js +0 -8
  225. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js.map +0 -1
  226. package/dist/components/SelectTreeNodeModal/SelectTreeNodeModal.js.map +0 -1
  227. package/dist/components/SelectTreeNodeModal/index.d.ts +0 -1
  228. package/dist/components/SelectTreeNodeModal/index.js +0 -5
  229. package/dist/components/SelectTreeNodeModal/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,uBAAuB,EAAC,MAAM,qCAAqC,CAAC;AAE5E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;;cAEf,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM;kBAC3B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO;;CAEjD,CAAC;AAEF,SAAS,KAAK,CAAC,EAAC,OAAO,EAAE,aAAa,EAAwC;IAC1E,MAAM,EAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAC,GAAG,uBAAuB,EAAE,CAAC;IACvE,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,GAAG,EAAE;gBACpB,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAE5C,OAAO,GAAG,EAAE;gBACR,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACnD,CAAC,CAAC;QACN,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAChB,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE;YACpB,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,KAAK,aAAa;oBACd,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACrD,MAAM;gBACV;oBACI,sCAAsC;oBACtC,MAAM;YACd,CAAC;QACL,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE5C,WAAW;QACX,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YACzB,MAAM,CAAC,aAAa,EAAE,WAAW,CAC7B;gBACI,aAAa,EAAE,MAAM;aACxB,EACD,OAAO,CAAC,QAAQ,CAAC,GAAG,CACvB,CAAC;QACN,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3B,OAAO,KAAC,OAAO,IAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAY,CAAC;AAC3G,CAAC;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;;cAEf,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM;kBAC3B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO;;CAEjD,CAAC;AAEF,SAAS,KAAK,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAwC;IAClF,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,GAAG,EAAE;gBACpB,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAE5C,OAAO,GAAG,EAAE;gBACR,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACnD,CAAC,CAAC;QACN,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAChB,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE;YACpB,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,KAAK,aAAa;oBACd,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACrD,MAAM;gBACV;oBACI,sCAAsC;oBACtC,MAAM;YACd,CAAC;QACL,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE5C,WAAW;QACX,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YACzB,MAAM,CAAC,aAAa,EAAE,WAAW,CAC7B;gBACI,aAAa,EAAE,MAAM;aACxB,EACD,OAAO,CAAC,QAAQ,CAAC,GAAG,CACvB,CAAC;QACN,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3B,OAAO,KAAC,OAAO,IAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAY,CAAC;AAC3G,CAAC;AAED,eAAe,KAAK,CAAC"}
@@ -12,8 +12,7 @@ import { LINK_FIELD_ID_PREFIX } from '../../../../../constants';
12
12
  import { computeCalculatedFlags, computeInheritedFlags } from '../shared/calculatedInheritedFlags';
13
13
  import { ComputeIndicator } from '../shared/ComputeIndicator';
14
14
  import { useOutsideInteractionDetector } from '../shared/useOutsideInteractionDetector';
15
- import { useLinkRecordsInCreation } from './link-record-in-creation/useLinkRecordsInCreation';
16
- import { useLinkRecordsInEdition } from './link-record-in-edition/useLinkRecordsInEdition';
15
+ import { useLinkRecords } from './link-record/useLinkRecords';
17
16
  import { CREATE_RECORD_MODAL_CLASSNAME, EDIT_RECORD_MODAL_CLASSNAME, LINK_RECORDS_MODAL_CLASSNAME } from '../../../../../components/Explorer/_constants';
18
17
  const Wrapper = styled.div `
19
18
  margin-bottom: ${props => (props.$metadataEdit ? 0 : '1.5em')};
@@ -40,36 +39,28 @@ const KitInputWrapperStyled = styled(KitInputWrapper) `
40
39
  display: none;
41
40
  }
42
41
  `;
43
- const LinkField = ({ element, readonly, formIdToLoad, pendingValues, onDeleteMultipleValues, onValueSubmit, onValueDelete, metadataEdit = false }) => {
42
+ const LinkField = ({ element, readonly, isFormCreationMode, onDeleteMultipleValues, metadataEdit = false }) => {
44
43
  const { state, dispatch } = useEditRecordReducer();
45
44
  const { lang } = useLang();
46
- const { settings, attribute } = element;
47
- const attributesPendingDefaultValues = pendingValues?.[attribute.id]
48
- ? Object.values(pendingValues?.[attribute.id])
49
- : [];
50
- const [attributePendingValues, setAttributePendingValues] = useState(attributesPendingDefaultValues);
51
- const [backendValues, setBackendValues] = useState(element.values);
45
+ const { settings, attribute, joinLibraryContext } = element;
46
+ const [backendValues, setBackendValues] = useState([]);
47
+ useEffect(() => {
48
+ setBackendValues(element.values);
49
+ }, [element.values]);
52
50
  const calculatedFlags = computeCalculatedFlags(backendValues);
53
51
  const inheritedFlags = computeInheritedFlags(backendValues);
54
52
  const form = AntForm.useFormInstance();
55
53
  const label = localizedTranslation(settings.label, lang);
56
54
  const fieldErrors = form.getFieldError(attribute.id);
57
55
  const columnsToDisplay = settings.columns?.map(({ id }) => id);
58
- const isReadOnly = attribute.readonly || readonly;
56
+ const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly;
59
57
  const isFieldInError = fieldErrors.length > 0;
60
- useEffect(() => {
61
- setAttributePendingValues(pendingValues?.[attribute.id]
62
- ? Object.values(pendingValues?.[attribute.id])
63
- : []);
64
- }, [pendingValues, attribute.id]);
65
58
  useOutsideInteractionDetector({
66
59
  attribute,
67
60
  activeAttribute: state.activeAttribute,
68
61
  attributePrefix: LINK_FIELD_ID_PREFIX,
69
62
  dispatch,
70
- formIdToLoad,
71
- backendValues,
72
- pendingValues: attributePendingValues,
63
+ elementValues: backendValues,
73
64
  allowedSelectors: [
74
65
  'div[role="status"]:has(.kit-snackbar-message)',
75
66
  '.kit-modal-wrapper',
@@ -79,35 +70,21 @@ const LinkField = ({ element, readonly, formIdToLoad, pendingValues, onDeleteMul
79
70
  '.kit-select-dropdown-content'
80
71
  ]
81
72
  });
82
- const { UnlinkAllRecordsInCreation, LinkRecordsInCreation } = useLinkRecordsInCreation({
83
- attribute,
84
- libraryId: attribute.linked_library.id,
85
- pendingValues: attributePendingValues,
86
- activeAttribute: state.activeAttribute,
87
- dispatch,
88
- isHookUsed: formIdToLoad === 'creation',
89
- isReadOnly,
90
- isFieldInError,
91
- onValueSubmit,
92
- onValueDelete
93
- });
94
- const { UnlinkAllRecordsInEdition, LinkRecordsInEditionExplorer } = useLinkRecordsInEdition({
73
+ const { UnlinkAllRecords, LinkRecordsExplorer } = useLinkRecords({
95
74
  libraryId: state.libraryId,
96
75
  recordId: state.record?.id,
76
+ isFormCreationMode,
97
77
  attribute,
78
+ joinLibraryContext,
98
79
  columnsToDisplay,
99
80
  backendValues,
100
81
  setBackendValues,
101
- activeAttribute: state.activeAttribute,
102
- dispatch,
103
- isHookUsed: formIdToLoad !== 'creation',
104
82
  isReadOnly,
105
83
  isFieldInError,
106
- tagDisplayMode: settings.tagDisplayMode,
107
84
  hasNoValue: backendValues.length === 0,
108
85
  onDeleteMultipleValues
109
86
  });
110
- return (_jsx(Wrapper, { "$metadataEdit": metadataEdit, children: _jsx(AntForm.Item, { name: attribute.id, noStyle: true, children: _jsx(KitInputWrapperStyled, { id: LINK_FIELD_ID_PREFIX + attribute.id, label: label, required: attribute.required, bordered: true, disabled: isReadOnly, status: isFieldInError ? 'error' : undefined, helper: isFieldInError ? String(fieldErrors[0]) : undefined, extra: _jsxs(_Fragment, { children: [_jsx(KitInputExtraAlignLeft, { children: _jsx(ComputeIndicator, { calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags }) }), formIdToLoad === 'creation' ? UnlinkAllRecordsInCreation : UnlinkAllRecordsInEdition] }), children: formIdToLoad === 'creation' ? LinkRecordsInCreation : LinkRecordsInEditionExplorer }) }) }));
87
+ return (_jsx(Wrapper, { "$metadataEdit": metadataEdit, children: _jsx(AntForm.Item, { name: attribute.id, noStyle: true, children: _jsx(KitInputWrapperStyled, { id: LINK_FIELD_ID_PREFIX + attribute.id, "data-testid": "link-field", label: label, required: attribute.required, bordered: true, disabled: isReadOnly, status: isFieldInError ? 'error' : undefined, helper: isFieldInError ? String(fieldErrors[0]) : undefined, extra: _jsxs(_Fragment, { children: [_jsx(KitInputExtraAlignLeft, { children: _jsx(ComputeIndicator, { calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags }) }), UnlinkAllRecords] }), children: LinkRecordsExplorer }) }) }));
111
88
  };
112
89
  export default LinkField;
113
90
  //# sourceMappingURL=LinkField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkField.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LinkField.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const ActionButton: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("aristid-ds/dist/Kit/General/Button/types").IKitButton & import("react").RefAttributes<HTMLElement>, {
2
+ $hasNoValue: boolean;
3
+ }>> & import("aristid-ds/dist/Kit/General/Button/types").KitButtonCompoundedComponent;
@@ -0,0 +1,9 @@
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 { KitButton } from 'aristid-ds';
5
+ import styled from 'styled-components';
6
+ export const ActionButton = styled(KitButton) `
7
+ margin-top: ${props => (props.$hasNoValue ? 0 : 'calc((var(--general-spacing-xs)) * 1px)')};
8
+ `;
9
+ //# sourceMappingURL=ActionButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionButton.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAwB;kBACnD,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,yCAAyC,CAAC;CAC7F,CAAC"}
@@ -3,13 +3,13 @@ import { DeleteMultipleValuesFunc, ISubmitMultipleResult } from '../../../_types
3
3
  import { Dispatch, SetStateAction } from 'react';
4
4
  import { IItemData, MassSelection } from '../../../../../../components/Explorer/_types';
5
5
  import { RecordFormElementsValueLinkValue } from '../../../../../../hooks/useGetRecordForm';
6
- interface IUseLinkRecordsProps {
6
+ interface IUseExplorerLinkRecordsProps {
7
7
  attribute: RecordFormAttributeLinkAttributeFragment;
8
8
  backendValues: RecordFormElementsValueLinkValue[];
9
9
  setBackendValues: Dispatch<SetStateAction<RecordFormElementsValueLinkValue[]>>;
10
10
  onDeleteMultipleValues: DeleteMultipleValuesFunc;
11
11
  }
12
- export declare const useLinkRecords: ({ attribute, backendValues, setBackendValues, onDeleteMultipleValues }: IUseLinkRecordsProps) => {
12
+ export declare const useExplorerLinkRecords: ({ attribute, backendValues, setBackendValues, onDeleteMultipleValues }: IUseExplorerLinkRecordsProps) => {
13
13
  handleDeleteAllValues: () => Promise<void>;
14
14
  handleExplorerRemoveValue: (item: IItemData) => void;
15
15
  handleExplorerMassDeactivateValues: (_massSelectedFilter: RecordFilterInput[], massSelection: MassSelection) => void;
@@ -2,7 +2,7 @@ import { APICallStatus } from '../../../_types';
2
2
  import { AntForm } from 'aristid-ds';
3
3
  import { useSharedTranslation } from '../../../../../../hooks/useSharedTranslation';
4
4
  import { ErrorTypes } from '@leav/utils';
5
- export const useLinkRecords = ({ attribute, backendValues, setBackendValues, onDeleteMultipleValues }) => {
5
+ export const useExplorerLinkRecords = ({ attribute, backendValues, setBackendValues, onDeleteMultipleValues }) => {
6
6
  const { t } = useSharedTranslation();
7
7
  const form = AntForm.useFormInstance();
8
8
  const removeValues = (filterFn, useIdValue = false) => {
@@ -52,7 +52,7 @@ export const useLinkRecords = ({ attribute, backendValues, setBackendValues, onD
52
52
  errors: []
53
53
  }
54
54
  ]);
55
- setBackendValues([...backendValues, ...saveLinkValues]);
55
+ setBackendValues(previousBackendValues => [...previousBackendValues, ...saveLinkValues]);
56
56
  }
57
57
  if (saveValuesResult.status === APICallStatus.ERROR && saveValuesResult.errors) {
58
58
  const attributeError = saveValuesResult.errors.filter(err => err.attribute === attribute.id)?.[0];
@@ -82,4 +82,4 @@ export const useLinkRecords = ({ attribute, backendValues, setBackendValues, onD
82
82
  handleExplorerCreateValue
83
83
  };
84
84
  };
85
- //# sourceMappingURL=useLinkRecords.js.map
85
+ //# sourceMappingURL=useExplorerLinkRecords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExplorerLinkRecords.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useExplorerLinkRecords.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Explorer } from '../../../../../../components/Explorer';
2
+ import { ComponentProps, Dispatch, SetStateAction } from 'react';
3
+ import { DeleteMultipleValuesFunc } from '../../../_types';
4
+ import { JoinLibraryContextFragment, RecordFormAttributeLinkAttributeFragment } from '../../../../../../_gqlTypes';
5
+ import { RecordFormElementsValueLinkValue } from '../../../../../../hooks/useGetRecordForm';
6
+ interface ILinkRecords {
7
+ libraryId: string;
8
+ recordId: string;
9
+ isFormCreationMode: boolean;
10
+ attribute: RecordFormAttributeLinkAttributeFragment;
11
+ joinLibraryContext: JoinLibraryContextFragment;
12
+ columnsToDisplay: ComponentProps<typeof Explorer>['defaultViewSettings']['attributesIds'];
13
+ backendValues: RecordFormElementsValueLinkValue[];
14
+ setBackendValues: Dispatch<SetStateAction<RecordFormElementsValueLinkValue[]>>;
15
+ isReadOnly: boolean;
16
+ isFieldInError: boolean;
17
+ hasNoValue: boolean;
18
+ onDeleteMultipleValues: DeleteMultipleValuesFunc;
19
+ }
20
+ export declare const useLinkRecords: ({ libraryId, recordId, isFormCreationMode, attribute, joinLibraryContext, columnsToDisplay, backendValues, setBackendValues, isReadOnly, isFieldInError, hasNoValue, onDeleteMultipleValues }: ILinkRecords) => {
21
+ UnlinkAllRecords: JSX.Element;
22
+ LinkRecordsExplorer: JSX.Element;
23
+ };
24
+ export {};
@@ -0,0 +1,79 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
3
+ // This file is released under LGPL V3
4
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
+ import { Explorer } from '../../../../../../components/Explorer';
6
+ import { useEffect, useState } from 'react';
7
+ import { ExplorerWrapper } from '../shared/ExplorerWrapper';
8
+ import { DeleteAllValuesButton } from '../../shared/DeleteAllValuesButton';
9
+ import { AntForm, KitSpace } from 'aristid-ds';
10
+ import { useExplorerLinkRecords } from './useExplorerLinkRecords';
11
+ import { FaList } from 'react-icons/fa';
12
+ import { ActionButton } from './ActionButton';
13
+ import { useSharedTranslation } from '../../../../../../hooks/useSharedTranslation';
14
+ const _shouldUpdateExplorerActions = (ref, explorerActions) => ref?.createAction?.disabled !== explorerActions?.createAction?.disabled ||
15
+ ref?.linkAction?.disabled !== explorerActions?.linkAction?.disabled ||
16
+ ref?.totalCount !== explorerActions?.totalCount;
17
+ export const useLinkRecords = ({ libraryId, recordId, isFormCreationMode, attribute, joinLibraryContext, columnsToDisplay, backendValues, setBackendValues, isReadOnly, isFieldInError, hasNoValue, onDeleteMultipleValues }) => {
18
+ const { t } = useSharedTranslation();
19
+ const form = AntForm.useFormInstance();
20
+ const [explorerActions, setExplorerActions] = useState(null);
21
+ const { handleDeleteAllValues, handleExplorerCreateValue, handleExplorerLinkValue, handleExplorerMassDeactivateValues, handleExplorerRemoveValue } = useExplorerLinkRecords({
22
+ attribute,
23
+ backendValues,
24
+ setBackendValues,
25
+ onDeleteMultipleValues
26
+ });
27
+ const _handleExplorerRef = (ref) => {
28
+ if (_shouldUpdateExplorerActions(ref, explorerActions)) {
29
+ setExplorerActions({
30
+ createAction: ref?.createAction,
31
+ linkAction: ref?.linkAction,
32
+ totalCount: ref?.totalCount
33
+ });
34
+ }
35
+ };
36
+ const _getExplorerItemActions = () => {
37
+ if (isReadOnly) {
38
+ return [];
39
+ }
40
+ if ((!attribute.multiple_values && attribute.required) ||
41
+ (attribute.multiple_values && backendValues.length === 1 && attribute.required)) {
42
+ return ['edit'];
43
+ }
44
+ return ['edit', 'remove'];
45
+ };
46
+ useEffect(() => {
47
+ if (!isFormCreationMode && backendValues.length === 0 && attribute.required) {
48
+ form.setFields([{ name: attribute.id, errors: [t('errors.standard_field_required')] }]);
49
+ }
50
+ else {
51
+ form.setFields([{ name: attribute.id, errors: [] }]);
52
+ }
53
+ }, [backendValues, isFormCreationMode, attribute]);
54
+ return {
55
+ UnlinkAllRecords: backendValues.length > 1 && attribute.multiple_values && !attribute.required && (_jsx(DeleteAllValuesButton, { handleDelete: handleDeleteAllValues, disabled: isReadOnly, danger: isFieldInError })),
56
+ LinkRecordsExplorer: recordId && (_jsxs(_Fragment, { children: [_jsx(ExplorerWrapper, { children: _jsx(Explorer, { ref: _handleExplorerRef, defaultViewSettings: {
57
+ attributesIds: columnsToDisplay
58
+ }, entrypoint: {
59
+ type: 'link',
60
+ parentLibraryId: libraryId,
61
+ parentRecordId: recordId,
62
+ linkAttributeId: attribute.id
63
+ }, defaultCallbacks: {
64
+ item: {
65
+ remove: handleExplorerRemoveValue
66
+ },
67
+ mass: {
68
+ deactivate: handleExplorerMassDeactivateValues
69
+ },
70
+ primary: {
71
+ link: handleExplorerLinkValue,
72
+ create: handleExplorerCreateValue
73
+ }
74
+ }, showTitle: false, showSearch: false, selectionMode: attribute.multiple_values ? 'multiple' : 'simple', disableSelection: isReadOnly ||
75
+ !attribute.multiple_values ||
76
+ (attribute.required && attribute.multiple_values && backendValues.length === 1), defaultActionsForItem: _getExplorerItemActions(), joinLibraryContext: joinLibraryContext, hidePrimaryActions: true, hideTableHeader: true, iconsOnlyItemActions: true }) }), _jsxs(KitSpace, { size: "xs", style: { padding: '1rem' }, children: [_jsx(ActionButton, { type: "secondary", size: "m", "$hasNoValue": hasNoValue, icon: explorerActions?.createAction?.icon, disabled: isReadOnly || explorerActions?.createAction?.disabled, onClick: explorerActions?.createAction?.callback, children: explorerActions?.createAction?.label }), _jsx(ActionButton, { type: "secondary", size: "m", "$hasNoValue": hasNoValue, icon: _jsx(FaList, {}), disabled: isReadOnly || (attribute.multiple_values && explorerActions?.linkAction?.disabled), onClick: explorerActions?.linkAction?.callback, children: explorerActions?.linkAction?.label })] })] }))
77
+ };
78
+ };
79
+ //# sourceMappingURL=useLinkRecords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLinkRecords.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.tsx"],"names":[],"mappings":"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"}
@@ -3,9 +3,7 @@ import { FunctionComponent } from 'react';
3
3
  import { RecordFormElementsValueStandardValue } from '../../../../../hooks/useGetRecordForm/useGetRecordForm';
4
4
  import { IFormElementProps } from '../../_types';
5
5
  import { FormInstance } from 'antd';
6
- import { GetRecordColumnsValuesRecord, IRecordColumnValueStandard } from '../../../../../_queries/records/getRecordColumnsValues';
7
6
  declare const StandardField: FunctionComponent<IFormElementProps<IRequiredFieldsSettings, RecordFormElementsValueStandardValue> & {
8
7
  antdForm?: FormInstance;
9
- computedValues?: GetRecordColumnsValuesRecord<IRecordColumnValueStandard>;
10
8
  }>;
11
9
  export default StandardField;
@@ -58,55 +58,58 @@ const KitAddValueButton = styled(KitButton) `
58
58
  margin-top: calc((var(--general-spacing-xs) - 3) * 1px);
59
59
  margin-bottom: 3px;
60
60
  `;
61
- const StandardField = ({ element, computedValues, antdForm, readonly, formIdToLoad, pendingValues, onValueSubmit, onValueDelete, onDeleteMultipleValues, metadataEdit = false }) => {
61
+ const StandardField = ({ element, antdForm, readonly, onValueSubmit, onValueDelete, onDeleteMultipleValues, metadataEdit = false }) => {
62
62
  const { t } = useSharedTranslation();
63
63
  const { lang } = useLang();
64
+ const [elementValuesWithoutCalculatedOrInherited, setElementValuesWithoutCalculatedOrInherited] = useState([]);
64
65
  const antdListFieldsRef = useRef(null);
65
66
  const { attribute } = element;
66
67
  useEffect(() => {
67
- if (computedValues && computedValues[attribute.id]) {
68
- setBackendValues(computedValues[attribute.id]);
69
- antdForm.setFieldValue(attribute.id, getAntdDisplayedValue(computedValues[attribute.id], attribute));
68
+ if (element?.values?.length && antdForm && attribute) {
69
+ if (attribute.multiple_values) {
70
+ const antdDisplayedValues = element.values
71
+ .sort((a, b) => Number(a.id_value) - Number(b.id_value))
72
+ .map(v => getAntdDisplayedValue([v], attribute));
73
+ antdForm.setFieldValue(attribute.id, antdDisplayedValues);
74
+ }
75
+ else {
76
+ antdForm.setFieldValue(attribute.id, getAntdDisplayedValue(element.values, attribute));
77
+ }
70
78
  }
71
- }, [computedValues]);
79
+ }, [element.values]);
72
80
  if (!attribute) {
73
81
  return _jsx(ErrorDisplay, { message: t('record_edition.missing_attribute') });
74
82
  }
75
83
  const { state, dispatch } = useEditRecordReducer();
76
- const [backendValues, setBackendValues] = useState(element.values);
77
- const calculatedFlags = computeCalculatedFlags(backendValues);
78
- const inheritedFlags = computeInheritedFlags(backendValues);
84
+ const calculatedFlags = computeCalculatedFlags(element.values ?? []);
85
+ const inheritedFlags = computeInheritedFlags(element.values ?? []);
79
86
  const defaultValueToAddInAntdForm = getEmptyInitialValue(attribute);
80
- const [attributePendingValues, setAttributePendingValues] = useState([]);
81
- useEffect(() => {
82
- setAttributePendingValues(pendingValues?.[attribute.id]
83
- ? Object.values(pendingValues?.[attribute.id])
84
- : []);
85
- }, [pendingValues, attribute.id]);
86
87
  useEffect(() => {
87
88
  if (state.activeAttribute?.attribute.id === attribute.id) {
88
89
  dispatch({
89
90
  type: EditRecordReducerActionsTypes.SET_ACTIVE_VALUE,
90
- values: backendValues
91
+ values: element.values
91
92
  });
92
93
  }
93
- }, [backendValues]);
94
+ // Refresh elementValuesWithoutCalculatedOrInherited that depends on element.values
95
+ // Todo, ideally refactor this part
96
+ // If the backend send back inherited value as an attribute of the value and not as another value
97
+ // it would simplify the code and permit to use element.values as it is
98
+ setElementValuesWithoutCalculatedOrInherited((element.values ?? [])
99
+ .filter(elementValue => !elementValue.isCalculated && !elementValue.isInherited)
100
+ .sort((a, b) => Number(a.id_value) - Number(b.id_value)));
101
+ }, [element.values]);
94
102
  useOutsideInteractionDetector({
95
103
  attribute,
96
104
  activeAttribute: state.activeAttribute,
97
105
  attributePrefix: STANDARD_FIELD_ID_PREFIX,
98
106
  dispatch,
99
- formIdToLoad,
100
- backendValues,
101
- pendingValues: attributePendingValues,
107
+ elementValues: element.values ?? [],
102
108
  allowedSelectors: ['.ant-popover.ant-color-picker', '.ant-picker-dropdown', '.kit-modal-wrapper.link-modal']
103
109
  });
104
- const backendWithoutCalculatedOrInheritedValues = backendValues
105
- .filter(backendValue => !backendValue.isCalculated && !backendValue.isInherited)
106
- .sort((a, b) => Number(a.id_value) - Number(b.id_value));
107
110
  const { presentationValues } = useGetPresentationValues({
108
111
  //TODO fix type
109
- values: backendWithoutCalculatedOrInheritedValues,
112
+ values: elementValuesWithoutCalculatedOrInherited,
110
113
  format: attribute.format,
111
114
  calculatedValue: calculatedFlags.calculatedValue,
112
115
  inheritedValue: inheritedFlags.inheritedValue
@@ -114,58 +117,30 @@ const StandardField = ({ element, computedValues, antdForm, readonly, formIdToLo
114
117
  const _handleSubmit = (idValue, fieldName) => async (valueToSave) => {
115
118
  const shouldSpecifyFieldName = attribute.multiple_values && fieldName !== undefined;
116
119
  const name = shouldSpecifyFieldName ? [attribute.id, fieldName] : attribute.id;
120
+ // Clear error on the input
117
121
  if (antdForm) {
118
- antdForm.setFields([
119
- {
120
- name,
121
- errors: null
122
- }
123
- ]);
122
+ antdForm.setFields([{ name, errors: undefined }]);
124
123
  }
124
+ // Send request to api
125
125
  let submitRes;
126
126
  if (attribute.multiple_values) {
127
127
  submitRes = await onValueSubmit([{ value: valueToSave, idValue: idValue ?? null, attribute }], null);
128
- if (submitRes.status === APICallStatus.SUCCESS) {
129
- setBackendValues(previousBackendValues => {
130
- const newBackendValues = [...previousBackendValues, ...submitRes.values].reduce((acc, backendValue) => {
131
- const existingValue = acc.find(o => o.id_value === backendValue.id_value &&
132
- o.isCalculated === backendValue.isCalculated &&
133
- o.isInherited === backendValue.isInherited);
134
- if (existingValue) {
135
- Object.assign(existingValue, backendValue);
136
- }
137
- else {
138
- acc.push(backendValue);
139
- }
140
- return acc;
141
- }, []);
142
- return newBackendValues;
143
- });
144
- return submitRes;
145
- }
146
128
  }
147
129
  else {
148
- if (valueToSave) {
149
- submitRes = await onValueSubmit([{ value: valueToSave, idValue: idValue ?? null, attribute }], null);
150
- if (submitRes.status === APICallStatus.SUCCESS) {
151
- setBackendValues(submitRes.values ?? []);
152
- return submitRes;
153
- }
130
+ if (!valueToSave) {
131
+ submitRes = await onValueDelete({ id_value: idValue, payload: null }, attribute.id);
154
132
  }
155
133
  else {
156
- if (backendWithoutCalculatedOrInheritedValues.length > 0) {
157
- submitRes = await onValueDelete({ id_value: idValue, payload: null }, attribute.id);
158
- if (submitRes.status === APICallStatus.SUCCESS) {
159
- setBackendValues(previousBackendValues => previousBackendValues.filter(value => (value.isCalculated !== null && value.isCalculated !== undefined) ||
160
- (value.isInherited !== null && value.isInherited !== undefined)));
161
- return submitRes;
162
- }
163
- }
134
+ submitRes = await onValueSubmit([{ value: valueToSave, idValue: idValue ?? null, attribute }], null);
164
135
  }
165
136
  }
166
137
  if (!submitRes) {
167
138
  return;
168
139
  }
140
+ if (submitRes.status === APICallStatus.SUCCESS) {
141
+ return submitRes;
142
+ }
143
+ // Parse errors from api response
169
144
  if (!submitRes.error && submitRes.errors) {
170
145
  const attributeError = submitRes.errors.filter(err => err.attribute === attribute.id)?.[0];
171
146
  if (attributeError) {
@@ -175,35 +150,43 @@ const StandardField = ({ element, computedValues, antdForm, readonly, formIdToLo
175
150
  : t(`errors.${attributeError.type}`);
176
151
  }
177
152
  }
153
+ // Display errors on input if found
178
154
  if (submitRes.error && antdForm) {
179
- antdForm.setFields([
180
- {
181
- name,
182
- errors: [submitRes.error]
183
- }
184
- ]);
155
+ antdForm.setFields([{ name, errors: [submitRes.error] }]);
185
156
  }
186
157
  return submitRes;
187
158
  };
159
+ const resetErrors = (fieldName) => {
160
+ // Re check error if we click in the input
161
+ if (attribute.multiple_values && fieldName !== undefined) {
162
+ antdForm?.setFields([{ name: [attribute.id, fieldName], errors: undefined }]);
163
+ }
164
+ else {
165
+ antdForm?.setFields([{ name: attribute.id, errors: undefined }]);
166
+ }
167
+ };
188
168
  const _handleDeleteValue = async (idValue, antdRemove, deletedFieldIndex) => {
189
169
  if (idValue) {
190
170
  await onValueDelete({ id_value: idValue }, attribute.id);
191
- setBackendValues(previousBackendValues => previousBackendValues.filter(backendValue => backendValue.id_value !== idValue));
171
+ // remove the value from element.values
172
+ setElementValuesWithoutCalculatedOrInherited(elementValuesWithoutCalculatedOrInherited
173
+ .filter(elementValue => elementValue.id_value !== idValue)
174
+ .sort((a, b) => Number(a.id_value) - Number(b.id_value)));
192
175
  }
193
176
  antdRemove(deletedFieldIndex);
194
177
  };
195
178
  const _handleDeleteAllValues = async () => {
196
- const deleteRes = await onDeleteMultipleValues(attribute.id, backendValues.filter(b => b.id_value), null);
179
+ const deleteRes = await onDeleteMultipleValues(attribute.id, (element.values ?? []).filter(b => b.id_value), null);
197
180
  if (deleteRes.status === APICallStatus.SUCCESS) {
198
181
  antdListFieldsRef.current.remove(antdListFieldsRef.current.indexes);
199
182
  antdListFieldsRef.current.add(defaultValueToAddInAntdForm);
200
- setBackendValues(previousBackendValues => previousBackendValues.filter(backendValue => !backendValue.id_value));
183
+ setElementValuesWithoutCalculatedOrInherited([]);
201
184
  return;
202
185
  }
203
186
  };
204
187
  let isFieldInError = false;
205
188
  if (antdForm) {
206
- const hasErrorsInFormList = backendValues.some((_, index) => {
189
+ const hasErrorsInFormList = element.values?.some((_, index) => {
207
190
  const errors = antdForm.getFieldError([attribute.id, index]);
208
191
  return errors.length > 0;
209
192
  });
@@ -211,21 +194,21 @@ const StandardField = ({ element, computedValues, antdForm, readonly, formIdToLo
211
194
  isFieldInError =
212
195
  antdForm.getFieldError(attribute.id).length > 0 || hasErrorsInFormList || multipleFieldRequiredInError;
213
196
  }
214
- const isMultipleValues = element.attribute.multiple_values;
215
- const hasValue = isMultipleValues && backendValues.length > 0;
197
+ const isMultipleValues = element.attribute?.multiple_values;
198
+ const hasValue = isMultipleValues && (element.values ?? []).length > 0;
216
199
  const canAddAnotherValue = !readonly &&
217
200
  isMultipleValues &&
218
201
  !isFieldInError &&
219
202
  attribute.format !== AttributeFormat.boolean &&
220
203
  attribute.format !== AttributeFormat.encrypted;
221
- const canDeleteAllValues = hasValue && backendValues.length > 1 && !attribute.required;
204
+ const canDeleteAllValues = hasValue && element.values.length > 1 && !attribute.required;
222
205
  const label = localizedTranslation(element.settings.label, lang);
223
- const isReadOnly = attribute.readonly || readonly;
224
- return (_jsx(Wrapper, { "$metadataEdit": metadataEdit, children: _jsxs(KitInputWrapperStyled, { id: STANDARD_FIELD_ID_PREFIX + attribute.id, label: label, required: attribute.required, disabled: isReadOnly, bordered: attribute.multiple_values, status: isFieldInError ? 'error' : undefined, extra: _jsxs(_Fragment, { children: [_jsx(KitInputExtraAlignLeft, { children: _jsx(ComputeIndicator, { calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags }) }), canDeleteAllValues && (_jsx(DeleteAllValuesButton, { handleDelete: _handleDeleteAllValues, disabled: isReadOnly, danger: isFieldInError }))] }), htmlFor: attribute.id, children: [!attribute.multiple_values && (_jsx(StandardFieldValue, { presentationValue: presentationValues[0] ?? '', handleSubmit: _handleSubmit(backendWithoutCalculatedOrInheritedValues[0]?.id_value), attribute: attribute, readonly: isReadOnly, label: label, calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags })), attribute.multiple_values && (_jsx(Form.List, { name: attribute.id, children: (fields, { add, remove }) => {
206
+ const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly;
207
+ return (_jsx(Wrapper, { "$metadataEdit": metadataEdit, children: _jsxs(KitInputWrapperStyled, { id: STANDARD_FIELD_ID_PREFIX + attribute.id, label: label, required: attribute.required, disabled: isReadOnly, bordered: attribute.multiple_values, status: isFieldInError ? 'error' : undefined, extra: _jsxs(_Fragment, { children: [_jsx(KitInputExtraAlignLeft, { children: _jsx(ComputeIndicator, { calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags }) }), canDeleteAllValues && (_jsx(DeleteAllValuesButton, { handleDelete: _handleDeleteAllValues, disabled: isReadOnly, danger: isFieldInError }))] }), htmlFor: attribute.id, children: [!attribute.multiple_values && (_jsx(StandardFieldValue, { presentationValue: presentationValues[0] ?? '', handleSubmit: _handleSubmit(elementValuesWithoutCalculatedOrInherited[0]?.id_value), attribute: attribute, readonly: isReadOnly, label: label, onFocus: resetErrors, calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags })), attribute.multiple_values && (_jsx(Form.List, { name: attribute.id, children: (fields, { add, remove }) => {
225
208
  antdListFieldsRef.current = { add, remove, indexes: fields.map((_, index) => index) };
226
- const shouldDisabledAddValueButton = fields.length > backendWithoutCalculatedOrInheritedValues.length;
227
- return (_jsxs(_Fragment, { children: [_jsx(KitFieldsWrapper, { children: fields.map((field, index) => (_jsxs(RowValueWrapper, { children: [_jsx(StandardFieldValueWrapper, { children: _jsx(StandardFieldValue, { listField: field, presentationValue: presentationValues[index] ?? '', handleSubmit: _handleSubmit(backendWithoutCalculatedOrInheritedValues[index]?.id_value, field.name), attribute: attribute, label: label, readonly: isReadOnly, calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags, isLastValueOfMultivalues: index === fields.length - 1 && index !== 0, removeLastValueOfMultivalues: () => remove(index) }) }), fields.length > 1 && (_jsx(KitDeleteValueButton, { type: "tertiary", title: t('record_edition.delete_value'), icon: _jsx(FaTrash, {}), onClick: () => _handleDeleteValue(backendWithoutCalculatedOrInheritedValues[index]
228
- ?.id_value, remove, index), disabled: isReadOnly }))] }, field.key))) }), canAddAnotherValue && (_jsx(KitTooltip, { title: shouldDisabledAddValueButton
209
+ const shouldDisabledAddValueButton = fields.length > elementValuesWithoutCalculatedOrInherited.length;
210
+ return (_jsxs(_Fragment, { children: [_jsx(KitFieldsWrapper, { children: fields.map((field, index) => (_jsxs(RowValueWrapper, { children: [_jsx(StandardFieldValueWrapper, { children: _jsx(StandardFieldValue, { listField: field, presentationValue: presentationValues[index] ?? '', handleSubmit: _handleSubmit(elementValuesWithoutCalculatedOrInherited[index]?.id_value, field.name), attribute: attribute, label: label, readonly: isReadOnly, onFocus: () => resetErrors(field.name), calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags, isLastValueOfMultivalues: index === fields.length - 1 && index !== 0, removeLastValueOfMultivalues: () => remove(index) }) }), fields.length > 1 && (_jsx(KitDeleteValueButton, { type: "tertiary", title: t('record_edition.delete_value'), icon: _jsx(FaTrash, {}), onClick: () => _handleDeleteValue(elementValuesWithoutCalculatedOrInherited[index]
211
+ .id_value, remove, index), disabled: isReadOnly }))] }, field.key))) }), canAddAnotherValue && (_jsx(KitTooltip, { title: shouldDisabledAddValueButton
229
212
  ? t('record_edition.please_select_value_before_adding')
230
213
  : undefined, children: _jsx(KitAddValueButton, { type: "secondary", size: "m", icon: _jsx(FaPlus, {}), onClick: () => add(defaultValueToAddInAntdForm), disabled: isReadOnly || shouldDisabledAddValueButton, children: t('record_edition.add_value') }) }))] }));
231
214
  } }))] }) }));