@leav/ui 1.6.0 → 1.7.0-13483399

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 (301) hide show
  1. package/README.md +13 -12
  2. package/dist/__mocks__/common/library.d.ts +1 -0
  3. package/dist/__mocks__/react-i18next.d.ts +1 -1
  4. package/dist/_gqlTypes/index.d.ts +1046 -687
  5. package/dist/_gqlTypes/index.js +188 -43
  6. package/dist/_gqlTypes/index.js.map +1 -1
  7. package/dist/_queries/attributes/attributeDetailsFragment.js +5 -0
  8. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  9. package/dist/_queries/libraries/libraryDetailsFragment.js +1 -0
  10. package/dist/_queries/libraries/libraryDetailsFragment.js.map +1 -1
  11. package/dist/_queries/trees/treeNodeChildrenQuery.js +2 -0
  12. package/dist/_queries/trees/treeNodeChildrenQuery.js.map +1 -1
  13. package/dist/_queries/views/viewDetailsFragment.js +1 -0
  14. package/dist/_queries/views/viewDetailsFragment.js.map +1 -1
  15. package/dist/components/AttributePicker/AttributesList/AttributesList.js +3 -7
  16. package/dist/components/AttributePicker/AttributesList/AttributesList.js.map +1 -1
  17. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js +20 -12
  18. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js.map +1 -1
  19. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.d.ts +1 -1
  20. package/dist/components/AttributesSelectionList/sharedComponents.d.ts +159 -153
  21. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/AttributesList.js +3 -7
  22. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/AttributesList.js.map +1 -1
  23. package/dist/components/Explorer/DataView.d.ts +2 -0
  24. package/dist/components/Explorer/DataView.js +6 -3
  25. package/dist/components/Explorer/DataView.js.map +1 -1
  26. package/dist/components/Explorer/Explorer.d.ts +2 -0
  27. package/dist/components/Explorer/Explorer.js +7 -5
  28. package/dist/components/Explorer/Explorer.js.map +1 -1
  29. package/dist/components/Explorer/ExplorerFiltersAndSorts.js +1 -1
  30. package/dist/components/Explorer/ExplorerFiltersAndSorts.js.map +1 -1
  31. package/dist/components/Explorer/TableCell.js +15 -23
  32. package/dist/components/Explorer/TableCell.js.map +1 -1
  33. package/dist/components/Explorer/TableNameCell.js +3 -2
  34. package/dist/components/Explorer/TableNameCell.js.map +1 -1
  35. package/dist/components/Explorer/_queries/useExplorerData.d.ts +7 -7
  36. package/dist/components/Explorer/_queries/useExplorerData.js +19 -7
  37. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  38. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js +3 -2
  39. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -1
  40. package/dist/components/Explorer/actions-item/useReplaceItemAction.d.ts +2 -1
  41. package/dist/components/Explorer/actions-item/useReplaceItemAction.js +5 -4
  42. package/dist/components/Explorer/actions-item/useReplaceItemAction.js.map +1 -1
  43. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.d.ts +2 -4
  44. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js +18 -16
  45. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js.map +1 -1
  46. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js +2 -2
  47. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js.map +1 -1
  48. package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js +9 -1
  49. package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js.map +1 -1
  50. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.d.ts +10 -3
  51. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js +16 -6
  52. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js.map +1 -1
  53. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.d.ts +10 -0
  54. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.js +46 -0
  55. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.js.map +1 -0
  56. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.d.ts +1 -0
  57. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.js +17 -0
  58. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.js.map +1 -0
  59. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.d.ts +8 -0
  60. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.js +49 -0
  61. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.js.map +1 -0
  62. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.d.ts +27 -0
  63. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.js +48 -0
  64. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.js.map +1 -0
  65. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js +3 -2
  66. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js.map +1 -1
  67. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js +3 -2
  68. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js.map +1 -1
  69. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js +3 -2
  70. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js.map +1 -1
  71. package/dist/components/Explorer/actions-mass/useExportMassAction.d.ts +7 -4
  72. package/dist/components/Explorer/actions-mass/useExportMassAction.js +80 -73
  73. package/dist/components/Explorer/actions-mass/useExportMassAction.js.map +1 -1
  74. package/dist/components/Explorer/actions-mass/useMassActions.js +3 -2
  75. package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -1
  76. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +3 -2
  77. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  78. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.d.ts +2 -1
  79. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js +5 -4
  80. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js.map +1 -1
  81. package/dist/components/Explorer/link-item/LinkModal.d.ts +1 -0
  82. package/dist/components/Explorer/link-item/LinkModal.js +2 -2
  83. package/dist/components/Explorer/link-item/LinkModal.js.map +1 -1
  84. package/dist/components/Explorer/list-saved-views/SavedViews.js +4 -3
  85. package/dist/components/Explorer/list-saved-views/SavedViews.js.map +1 -1
  86. package/dist/components/Explorer/manage-view-settings/_shared/ColumnItem.js +5 -8
  87. package/dist/components/Explorer/manage-view-settings/_shared/ColumnItem.js.map +1 -1
  88. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js +3 -2
  89. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js.map +1 -1
  90. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js +2 -2
  91. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js.map +1 -1
  92. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +7 -6
  93. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  94. package/dist/components/Explorer/manage-view-settings/filter-items/FilterListItem.js +3 -2
  95. package/dist/components/Explorer/manage-view-settings/filter-items/FilterListItem.js.map +1 -1
  96. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js +5 -4
  97. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js.map +1 -1
  98. package/dist/components/Explorer/manage-view-settings/router-menu/SettingItem.js +3 -2
  99. package/dist/components/Explorer/manage-view-settings/router-menu/SettingItem.js.map +1 -1
  100. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js +3 -2
  101. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js.map +1 -1
  102. package/dist/components/Explorer/manage-view-settings/save-view/LabelViewFormModal.js +3 -2
  103. package/dist/components/Explorer/manage-view-settings/save-view/LabelViewFormModal.js.map +1 -1
  104. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js +3 -0
  105. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js.map +1 -1
  106. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js +3 -2
  107. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js.map +1 -1
  108. package/dist/components/Explorer/manage-view-settings/save-view/useDeleteView.js +4 -3
  109. package/dist/components/Explorer/manage-view-settings/save-view/useDeleteView.js.map +1 -1
  110. package/dist/components/Explorer/manage-view-settings/save-view/useEditLabelView.js +3 -2
  111. package/dist/components/Explorer/manage-view-settings/save-view/useEditLabelView.js.map +1 -1
  112. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js +3 -2
  113. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js.map +1 -1
  114. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js +3 -2
  115. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js.map +1 -1
  116. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js +3 -2
  117. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js.map +1 -1
  118. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js +7 -6
  119. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js.map +1 -1
  120. package/dist/components/Explorer/manage-view-settings/sort-items/SortListItem.js +3 -2
  121. package/dist/components/Explorer/manage-view-settings/sort-items/SortListItem.js.map +1 -1
  122. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
  123. package/dist/components/Explorer/useSearchInput.js +6 -2
  124. package/dist/components/Explorer/useSearchInput.js.map +1 -1
  125. package/dist/components/Filters/FiltersProvider.d.ts +2 -2
  126. package/dist/components/Filters/FiltersProvider.js.map +1 -1
  127. package/dist/components/Filters/_types.d.ts +3 -0
  128. package/dist/components/Filters/_types.js.map +1 -1
  129. package/dist/components/Filters/context/filtersReducer.js +7 -4
  130. package/dist/components/Filters/context/filtersReducer.js.map +1 -1
  131. package/dist/components/Filters/filter-items/CommonFilterItem.d.ts +1 -0
  132. package/dist/components/Filters/filter-items/CommonFilterItem.js +28 -8
  133. package/dist/components/Filters/filter-items/CommonFilterItem.js.map +1 -1
  134. package/dist/components/Filters/filter-items/EmptyValueCheckbox.d.ts +8 -0
  135. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js +16 -0
  136. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js.map +1 -0
  137. package/dist/components/Filters/filter-items/filter-type/BooleanAttributeDropdown.js +23 -9
  138. package/dist/components/Filters/filter-items/filter-type/BooleanAttributeDropdown.js.map +1 -1
  139. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js +9 -8
  140. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js.map +1 -1
  141. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js +4 -3
  142. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js.map +1 -1
  143. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js +1 -1
  144. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js.map +1 -1
  145. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.d.ts +0 -1
  146. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js +17 -23
  147. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js.map +1 -1
  148. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js +10 -12
  149. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js.map +1 -1
  150. package/dist/components/Filters/filter-items/filter-type/useConditionOptionsByType.js +3 -13
  151. package/dist/components/Filters/filter-items/filter-type/useConditionOptionsByType.js.map +1 -1
  152. package/dist/components/Filters/index.d.ts +1 -0
  153. package/dist/components/Filters/index.js +1 -0
  154. package/dist/components/Filters/index.js.map +1 -1
  155. package/dist/components/Filters/prepareFiltersForRequest.js +36 -3
  156. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
  157. package/dist/components/Filters/useFilters.d.ts +5 -0
  158. package/dist/components/Filters/useTransformFilters.js +4 -0
  159. package/dist/components/Filters/useTransformFilters.js.map +1 -1
  160. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.d.ts +1 -3
  161. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +6 -2
  162. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +1 -1
  163. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js +1 -8
  164. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js.map +1 -1
  165. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js +15 -17
  166. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js.map +1 -1
  167. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js +0 -6
  168. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js.map +1 -1
  169. package/dist/components/LibraryItemsList/MenuView/MenuView.js +4 -4
  170. package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +1 -1
  171. package/dist/components/LibraryItemsList/ViewPanel/View/View.d.ts +1 -3
  172. package/dist/components/LibraryItemsList/ViewPanel/View/View.js +9 -4
  173. package/dist/components/LibraryItemsList/ViewPanel/View/View.js.map +1 -1
  174. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js +36 -14
  175. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js.map +1 -1
  176. package/dist/components/Notifications/hooks/useNotificationSubscription.js +3 -2
  177. package/dist/components/Notifications/hooks/useNotificationSubscription.js.map +1 -1
  178. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -0
  179. package/dist/components/RecordEdition/EditRecord/EditRecord.js +3 -3
  180. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  181. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +2 -0
  182. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  183. package/dist/components/RecordEdition/EditRecordContent/hooks/__mocks__/useDeleteValueMutation.d.ts +1 -1
  184. package/dist/components/RecordEdition/EditRecordContent/hooks/__mocks__/useSaveValueMutation.d.ts +1 -1
  185. package/dist/components/RecordEdition/EditRecordContent/shared/ValuesVersionBtn/ValuesVersionBtn.js +5 -20
  186. package/dist/components/RecordEdition/EditRecordContent/shared/ValuesVersionBtn/ValuesVersionBtn.js.map +1 -1
  187. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.d.ts +1 -11
  188. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +8 -95
  189. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
  190. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/_types.d.ts +8 -0
  191. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/_types.js +2 -0
  192. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/_types.js.map +1 -0
  193. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/LinkFieldExplorer.d.ts +6 -0
  194. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/LinkFieldExplorer.js +77 -0
  195. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/LinkFieldExplorer.js.map +1 -0
  196. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record → explorer/link-record}/useExplorerLinkRecords.d.ts +5 -7
  197. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record → explorer/link-record}/useExplorerLinkRecords.js +3 -10
  198. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/link-record/useExplorerLinkRecords.js.map +1 -0
  199. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record → explorer/link-record}/useLinkRecords.d.ts +5 -6
  200. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/link-record/useLinkRecords.js +98 -0
  201. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/link-record/useLinkRecords.js.map +1 -0
  202. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/{ExplorerWrapper.d.ts → InputExtraAlignLeft.d.ts} +54 -52
  203. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record/ActionButton.js → shared/InputExtraAlignLeft.js} +4 -4
  204. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputExtraAlignLeft.js.map +1 -0
  205. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputWrapper.d.ts +3 -0
  206. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputWrapper.js +31 -0
  207. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputWrapper.js.map +1 -0
  208. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/Wrapper.d.ts +3 -0
  209. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/Wrapper.js +8 -0
  210. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/Wrapper.js.map +1 -0
  211. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/LinkFieldTags.d.ts +3 -0
  212. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/LinkFieldTags.js +57 -0
  213. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/LinkFieldTags.js.map +1 -0
  214. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.d.ts +16 -0
  215. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.js +85 -0
  216. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.js.map +1 -0
  217. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/unlink-record/useUnlinkRecord.d.ts +19 -0
  218. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/unlink-record/useUnlinkRecord.js +43 -0
  219. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/unlink-record/useUnlinkRecord.js.map +1 -0
  220. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/unlink-all-records/useUnlinkAllRecords.d.ts +16 -0
  221. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/unlink-all-records/useUnlinkAllRecords.js +27 -0
  222. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/unlink-all-records/useUnlinkAllRecords.js.map +1 -0
  223. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +4 -3
  224. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  225. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +1 -1
  226. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
  227. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +2 -0
  228. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
  229. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +9 -2
  230. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
  231. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.d.ts +53 -51
  232. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +3 -2
  233. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -1
  234. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +2 -1
  235. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +4 -7
  236. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
  237. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +3 -2
  238. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +2 -2
  239. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -1
  240. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js +3 -2
  241. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js.map +1 -1
  242. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +1 -0
  243. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +2 -2
  244. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  245. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordInformations/RecordInformations.js +3 -2
  246. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordInformations/RecordInformations.js.map +1 -1
  247. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js +4 -3
  248. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js.map +1 -1
  249. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js +3 -2
  250. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js.map +1 -1
  251. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js +2 -2
  252. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js.map +1 -1
  253. package/dist/components/RecordHistory/RecordHistoryLogEntry.js +10 -2
  254. package/dist/components/RecordHistory/RecordHistoryLogEntry.js.map +1 -1
  255. package/dist/components/RecordHistory/_queries/recordHistoryQuery.d.ts +7 -0
  256. package/dist/components/RecordHistory/_queries/recordHistoryQuery.js +64 -0
  257. package/dist/components/RecordHistory/_queries/recordHistoryQuery.js.map +1 -0
  258. package/dist/components/RecordHistory/hooks/useFetchRecordHistory.js +5 -2
  259. package/dist/components/RecordHistory/hooks/useFetchRecordHistory.js.map +1 -1
  260. package/dist/components/RecordHistory/utils/extendedAttribute.d.ts +11 -0
  261. package/dist/components/RecordHistory/utils/extendedAttribute.js +40 -0
  262. package/dist/components/RecordHistory/utils/extendedAttribute.js.map +1 -0
  263. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +1 -0
  264. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +7 -7
  265. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
  266. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +2 -1
  267. package/dist/components/SelectTreeNode/SelectTreeNode.js +3 -3
  268. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  269. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +2 -1
  270. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +6 -2
  271. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  272. package/dist/components/SelectTreeNode/TreeNodeTitle.js +5 -4
  273. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
  274. package/dist/constants.d.ts +1 -0
  275. package/dist/constants.js +1 -0
  276. package/dist/constants.js.map +1 -1
  277. package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +3 -1
  278. package/dist/hooks/useIFrameMessenger/messageHandlers.js +16 -0
  279. package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -1
  280. package/dist/hooks/useIFrameMessenger/schema.d.ts +6 -3
  281. package/dist/hooks/useIFrameMessenger/schema.js +2 -1
  282. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
  283. package/dist/hooks/useIFrameMessenger/types.d.ts +32 -2
  284. package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
  285. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +2 -0
  286. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +16 -2
  287. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js.map +1 -1
  288. package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.d.ts +2 -0
  289. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.d.ts +2 -0
  290. package/dist/locales/en/shared.json +20 -4
  291. package/dist/locales/fr/shared.json +20 -4
  292. package/dist/types/records.d.ts +1 -0
  293. package/dist/types/records.js.map +1 -1
  294. package/package.json +40 -42
  295. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.d.ts +0 -3
  296. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.js.map +0 -1
  297. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useExplorerLinkRecords.js.map +0 -1
  298. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js +0 -100
  299. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js.map +0 -1
  300. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.js +0 -13
  301. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useIFrameMessenger.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/useIFrameMessenger.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useCallback, useContext, useEffect, useRef} from 'react';\nimport {v4 as uuid} from 'uuid';\nimport {LangContext} from '_ui/contexts';\nimport {\n type AddMessageToPanelMessageHandler,\n type MessageToPanelMessageHandler,\n type Callbacks,\n type CallCbFunction,\n type IUseIFrameMessengerOptions,\n type MessageDispatcher,\n} from './types';\nimport {encodeMessage, decodeMessage, getExposedMethods, initClientHandlers} from './messageHandlers';\n\nexport {IUseIFrameMessengerOptions};\n\n/**\n * This is the core of `useIFrameMessenger`. Should be used for top-level apps, such as **app-studio**.\n * For client apps (apps that need to consume the messenger), please use the `useIFrameMessengerClient`\n */\nexport const useIFrameMessenger = (options?: IUseIFrameMessengerOptions) => {\n const registry = useRef<Record<string, Window>>({});\n const selfId = useRef(options?.id ?? uuid());\n\n const {setLang} = useContext(LangContext);\n\n const changeLangInAllFrames = (newLanguage: string) => {\n dispatch(\n {\n type: 'change-language',\n language: newLanguage,\n },\n 'all',\n );\n };\n\n const panelMessageHandlerRegistry = useRef<Record<string, MessageToPanelMessageHandler>>({});\n const addPanelMessageHandler: AddMessageToPanelMessageHandler = (\n type: string,\n handler: MessageToPanelMessageHandler,\n ) => {\n panelMessageHandlerRegistry.current[type] = handler;\n };\n\n const dispatch = useCallback<MessageDispatcher>(\n (message, frameId) => {\n if (window !== window.top) {\n window.parent.postMessage(encodeMessage({...message, __frameId: selfId.current}), '*');\n } else if (frameId && registry.current[frameId]) {\n (registry.current[frameId] as Window).postMessage(\n encodeMessage({...message, __frameId: selfId.current}),\n '*',\n );\n } else if (frameId === 'all') {\n Object.entries(registry.current).forEach(([id, frame]) => {\n if (id !== message.__frameId) {\n // DO not send the message to the sender\n frame.postMessage(encodeMessage({...message, __frameId: selfId.current}), '*');\n }\n });\n }\n },\n [registry.current],\n );\n\n const callCb = useCallback<CallCbFunction>(\n (path, data, frameId) => {\n dispatch({type: 'on-call-callback', path, data}, frameId);\n },\n [dispatch],\n );\n\n const unregister = () => {\n if (window !== window.top) {\n dispatch({type: 'unregister', id: selfId.current});\n }\n };\n\n const callbacksStore = useRef<Callbacks>({});\n const methods = useRef({\n ...getExposedMethods(callbacksStore, dispatch),\n unregister,\n changeLangInAllFrames,\n addPanelMessageHandler,\n });\n\n useEffect(() => {\n const clientHandlers = initClientHandlers(callCb, {...options, id: selfId.current}, callbacksStore);\n const onMessage = (event: MessageEvent) => {\n const message = decodeMessage(event.data);\n if (message === undefined) {\n return;\n }\n switch (message.type) {\n case 'register':\n const frames = window.frames;\n // Due to weak typing on Window, we cannot iterate directly on window.frames\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < frames.length; i++) {\n if (event.source === frames[i]) {\n registry.current[message.id] = frames[i];\n }\n }\n break;\n case 'unregister':\n if (registry.current[message.id]) {\n delete registry.current[message.id];\n }\n break;\n case 'message-to-panel':\n panelMessageHandlerRegistry.current[message.data.type]?.(message.data.payload);\n if (window === window.top) {\n const target = message.data.target ?? 'all';\n dispatch(message, target);\n }\n break;\n default:\n if (message.type === 'change-language') {\n setLang(message.language);\n } else {\n clientHandlers(message, dispatch);\n }\n break;\n }\n };\n\n window.addEventListener('message', onMessage);\n\n if (window !== window.top) {\n // Register the message handler for the parent window\n dispatch({type: 'register', id: selfId.current});\n }\n\n return () => {\n window.removeEventListener('message', onMessage);\n };\n }, []);\n\n return methods.current;\n};\n"]}
1
+ {"version":3,"file":"useIFrameMessenger.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/useIFrameMessenger.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useCallback, useContext, useEffect, useRef} from 'react';\nimport {LangContext} from '_ui/contexts';\nimport {\n type AddMessageToPanelMessageHandler,\n type MessageToPanelMessageHandler,\n type Callbacks,\n type CallCbFunction,\n type IUseIFrameMessengerOptions,\n type MessageDispatcher,\n} from './types';\nimport {encodeMessage, decodeMessage, getExposedMethods, initClientHandlers} from './messageHandlers';\n\nexport {IUseIFrameMessengerOptions};\n\n/**\n * This is the core of `useIFrameMessenger`. Should be used for top-level apps, such as **app-studio**.\n * For client apps (apps that need to consume the messenger), please use the `useIFrameMessengerClient`\n */\nexport const useIFrameMessenger = (options?: IUseIFrameMessengerOptions) => {\n const registry = useRef<Record<string, Window>>({});\n const selfId = useRef(options?.id ?? window.crypto.randomUUID());\n\n const {setLang} = useContext(LangContext);\n\n const changeLangInAllFrames = (newLanguage: string) => {\n dispatch(\n {\n type: 'change-language',\n language: newLanguage,\n },\n 'all',\n );\n };\n\n const panelMessageHandlerRegistry = useRef<Record<string, MessageToPanelMessageHandler>>({});\n const addPanelMessageHandler: AddMessageToPanelMessageHandler = (\n type: string,\n handler: MessageToPanelMessageHandler,\n ) => {\n panelMessageHandlerRegistry.current[type] = handler;\n };\n\n const dispatch = useCallback<MessageDispatcher>(\n (message, frameId) => {\n if (window !== window.top) {\n window.parent.postMessage(encodeMessage({...message, __frameId: selfId.current}), '*');\n } else if (frameId && registry.current[frameId]) {\n (registry.current[frameId] as Window).postMessage(\n encodeMessage({...message, __frameId: selfId.current}),\n '*',\n );\n } else if (frameId === 'all') {\n Object.entries(registry.current).forEach(([id, frame]) => {\n if (id !== message.__frameId) {\n // DO not send the message to the sender\n frame.postMessage(encodeMessage({...message, __frameId: selfId.current}), '*');\n }\n });\n }\n },\n [registry.current],\n );\n\n const callCb = useCallback<CallCbFunction>(\n (path, data, frameId) => {\n dispatch({type: 'on-call-callback', path, data}, frameId);\n },\n [dispatch],\n );\n\n const unregister = () => {\n if (window !== window.top) {\n dispatch({type: 'unregister', id: selfId.current});\n }\n };\n\n const callbacksStore = useRef<Callbacks>({});\n const methods = useRef({\n ...getExposedMethods(callbacksStore, dispatch),\n unregister,\n changeLangInAllFrames,\n addPanelMessageHandler,\n });\n\n const getPanelIdFromEvent = (event: MessageEvent) => {\n const iFrames = window.document.getElementsByTagName('iframe');\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < iFrames.length; i++) {\n if (event.source === iFrames[i].contentWindow) {\n return iFrames[i].name;\n }\n }\n return null;\n };\n\n useEffect(() => {\n const clientHandlers = initClientHandlers(callCb, {...options, id: selfId.current}, callbacksStore);\n const onMessage = (event: MessageEvent) => {\n const message = decodeMessage(event.data);\n if (message === undefined) {\n return;\n }\n switch (message.type) {\n case 'register':\n const frames = window.frames;\n // Due to weak typing on Window, we cannot iterate directly on window.frames\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < frames.length; i++) {\n if (event.source === frames[i]) {\n registry.current[message.id] = frames[i];\n }\n }\n break;\n case 'unregister':\n if (registry.current[message.id]) {\n delete registry.current[message.id];\n }\n break;\n case 'message-to-panel':\n panelMessageHandlerRegistry.current[message.data.type]?.(message.data.payload);\n if (window === window.top) {\n const target = message.data.target ?? 'all';\n dispatch(message, target);\n }\n break;\n case 'get-panel-config':\n clientHandlers(\n {\n ...message,\n data: {...message.data, panelId: getPanelIdFromEvent(event)},\n },\n dispatch,\n );\n default:\n if (message.type === 'change-language') {\n setLang(message.language);\n } else {\n clientHandlers(message, dispatch);\n }\n break;\n }\n };\n\n window.addEventListener('message', onMessage);\n\n if (window !== window.top) {\n // Register the message handler for the parent window\n dispatch({type: 'register', id: selfId.current});\n }\n\n return () => {\n window.removeEventListener('message', onMessage);\n };\n }, []);\n\n return methods.current;\n};\n"]}
@@ -12,4 +12,6 @@ export declare const IframeMessengerClientContext: import("react").Context<{
12
12
  messageToPanel: (data: import("../useIFrameMessenger/types").MessageToPanelMessage["data"]) => void;
13
13
  openFlapPanel: (data: import("../useIFrameMessenger/types").OpenFlapPanelMessage["data"]) => void;
14
14
  closeFlapPanel: () => void;
15
+ getPanelConfig: (data: import("../useIFrameMessenger/types").GetPanelConfigMessage["data"]) => void;
16
+ getUrl: (data: import("../useIFrameMessenger/types").GetUrlMessage["data"]) => void;
15
17
  }>;
@@ -12,4 +12,6 @@ export declare const useIFrameMessengerClient: () => {
12
12
  messageToPanel: (data: import("../useIFrameMessenger/types").MessageToPanelMessage["data"]) => void;
13
13
  openFlapPanel: (data: import("../useIFrameMessenger/types").OpenFlapPanelMessage["data"]) => void;
14
14
  closeFlapPanel: () => void;
15
+ getPanelConfig: (data: import("../useIFrameMessenger/types").GetPanelConfigMessage["data"]) => void;
16
+ getUrl: (data: import("../useIFrameMessenger/types").GetUrlMessage["data"]) => void;
15
17
  };
@@ -37,7 +37,8 @@
37
37
  "max_length": "Max length",
38
38
  "confirm": "Confirm",
39
39
  "loading": "Loading",
40
- "are_you_sure": "Are you sure?"
40
+ "are_you_sure": "Are you sure?",
41
+ "reset": "Reset"
41
42
  },
42
43
  "errors": {
43
44
  "default_language_required": "The default language is required",
@@ -308,7 +309,8 @@
308
309
  "deactivate": "Deactivate",
309
310
  "activate": "Activate",
310
311
  "add": "Add",
311
- "add-condition": "Add condition"
312
+ "add-condition": "Add condition",
313
+ "empty-value": "Undefined"
312
314
  },
313
315
  "filter-item": {
314
316
  "no-operator": "If"
@@ -439,6 +441,8 @@
439
441
  "delete_all": "Delete all",
440
442
  "delete_all_values": "Delete all values",
441
443
  "delete_all_values_confirm": "Do you really want to delete all values?",
444
+ "delete_link": "Delete link",
445
+ "delete_link_description": "Do you really want to delete the link?",
442
446
  "value_details_tooltip": "More details",
443
447
  "attribute": {
444
448
  "id": "Identifier",
@@ -538,7 +542,8 @@
538
542
  "unknown_attribute": "unknown attribute",
539
543
  "unknown_user": "unknown user",
540
544
  "show_history": "See full history ({{total}} entries)",
541
- "hide_history": "Hide history ({{total}} entries)"
545
+ "hide_history": "Hide history ({{total}} entries)",
546
+ "of": "of"
542
547
  },
543
548
  "view": {
544
549
  "views": "Views",
@@ -699,7 +704,6 @@
699
704
  "inactive": "Inactive sorts"
700
705
  },
701
706
  "toolbar": "Toolbar",
702
- "reset-filter": "Reset filter",
703
707
  "reset-view": "Reset view",
704
708
  "empty-data": "No items found.",
705
709
  "available-attributes": "Other available attributes",
@@ -755,6 +759,7 @@
755
759
  "editAttribute_value_occurrences_to_edit_one": "{{count, number}} element to edit",
756
760
  "editAttribute_value_occurrences_to_edit_other": "{{count, number}} elements to edit",
757
761
  "editAttribute_value_undefined": "Undefined",
762
+ "editAttribute_value_do_not_change": "Do not change",
758
763
  "editAttribute_submit_notification_title": "Bulk edit request",
759
764
  "editAttribute_submit_notification_description": "Your request to edit {{counter, number}} items has been received. You will be notified once the operation is complete.",
760
765
  "editAttribute_submit_error": "An error occurred while requesting a bulk edit. Please contact an administrator.",
@@ -776,6 +781,17 @@
776
781
  "deselect_all": "Deselect all items"
777
782
  }
778
783
  },
784
+ "export_profile_modal": {
785
+ "title": "Export",
786
+ "profile_label": "Choose an export profile",
787
+ "preview_label": "Preview of exported attributes",
788
+ "search_placeholder": "Search...",
789
+ "no_profiles": "No export profiles configured for this library",
790
+ "contact_admin": "Please contact an administrator to configure export profiles.",
791
+ "empty_columns": "(empty column)",
792
+ "export_button": "Export",
793
+ "error_title": "Export profile error"
794
+ },
779
795
  "add-existing-item": "Add existing item",
780
796
  "activate_item_one": "Activate this item?",
781
797
  "activate_item_other": "Activate these items?",
@@ -37,7 +37,8 @@
37
37
  "max_length": "Longueur maximale",
38
38
  "confirm": "Confirmer",
39
39
  "loading": "Chargement",
40
- "are_you_sure": "Êtes-vous sûr ?"
40
+ "are_you_sure": "Êtes-vous sûr(e) ?",
41
+ "reset": "Réinitialiser"
41
42
  },
42
43
  "errors": {
43
44
  "default_language_required": "La langue par défaut est requise",
@@ -308,7 +309,8 @@
308
309
  "deactivate": "Désactiver",
309
310
  "activate": "Activer",
310
311
  "add": "Ajouter",
311
- "add-condition": "Ajouter une condition"
312
+ "add-condition": "Ajouter une condition",
313
+ "empty-value": "Non défini"
312
314
  },
313
315
  "filter-item": {
314
316
  "no-operator": "Si"
@@ -439,6 +441,8 @@
439
441
  "delete_all": "Tout supprimer",
440
442
  "delete_all_values": "Supprimer toutes les valeurs",
441
443
  "delete_all_values_confirm": "Êtes-vous sûr de vouloir supprimer toutes les valeurs?",
444
+ "delete_link": "Supprimer la liaison",
445
+ "delete_link_description": "Êtes-vous sûr de vouloir supprimer la liaison?",
442
446
  "value_details_tooltip": "Plus d'informations",
443
447
  "attribute": {
444
448
  "id": "Identifiant",
@@ -538,7 +542,8 @@
538
542
  "unknown_attribute": "Attribut inconnu",
539
543
  "unknown_user": "Utilisateur inconnu",
540
544
  "show_history": "Voir tout l'historique ({{total}} événements)",
541
- "hide_history": "Masquer l'historique ({{total}} événements)"
545
+ "hide_history": "Masquer l'historique ({{total}} événements)",
546
+ "of": "de"
542
547
  },
543
548
  "view": {
544
549
  "views": "Vues",
@@ -697,7 +702,6 @@
697
702
  "inactive": "Tris inactifs"
698
703
  },
699
704
  "toolbar": "Barre d’outils",
700
- "reset-filter": "Réinitialiser le filtre",
701
705
  "reset-view": "Réinitialiser la vue",
702
706
  "empty-data": "Aucun élément trouvé.",
703
707
  "sort-ascending": "Ascendant",
@@ -755,6 +759,7 @@
755
759
  "editAttribute_value_occurrences_to_edit_one": "{{count, number}} élément à traiter",
756
760
  "editAttribute_value_occurrences_to_edit_other": "{{count, number}} éléments à traiter",
757
761
  "editAttribute_value_undefined": "Non défini",
762
+ "editAttribute_value_do_not_change": "Ne pas changer",
758
763
  "editAttribute_submit_notification_title": "Demande de modification en masse",
759
764
  "editAttribute_submit_notification_description": "Votre demande de modification de {{counter, number}} éléments a bien été prise en compte. Vous serez notifié une fois l'opération terminée.",
760
765
  "editAttribute_submit_error": "Une erreur est survenue lors de la demande d'une modification en masse. Veuillez contacter un administrateur.",
@@ -776,6 +781,17 @@
776
781
  "deselect_all": "Tout désélectionner"
777
782
  }
778
783
  },
784
+ "export_profile_modal": {
785
+ "title": "Export",
786
+ "profile_label": "Choisir un profil d'export",
787
+ "preview_label": "Aperçu des attributs exportés",
788
+ "search_placeholder": "Rechercher...",
789
+ "no_profiles": "Aucun profil d'export configuré pour cette librairie",
790
+ "contact_admin": "Veuillez contacter un administrateur pour configurer les profils d'export.",
791
+ "empty_columns": "(colonne vide)",
792
+ "export_button": "Exporter",
793
+ "error_title": "Erreur de profil d'export"
794
+ },
779
795
  "add-existing-item": "Ajouter un élément existant",
780
796
  "activate_item_one": "Activer cet élément ?",
781
797
  "activate_item_other": "Activer ces éléments ?",
@@ -18,6 +18,7 @@ export interface IRecordIdentityWhoAmI {
18
18
  color?: string | null;
19
19
  library: IRecordIdentityLibrary;
20
20
  preview?: IPreviewScalar | null;
21
+ parentContext?: IRecordIdentityWhoAmI[] | null;
21
22
  }
22
23
  export interface IRecordIdentity {
23
24
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/types/records.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type IPreviewScalar} from '@leav/utils';\nimport {type SystemTranslation} from './scalars';\n\nexport interface IRecordIdentityLibrary {\n id: string;\n label?: SystemTranslation | null;\n}\n\nexport interface IRecordIdentityPreview {\n tiny: string | null;\n small: string | null;\n medium: string | null;\n big: string | null;\n huge: string | null;\n}\n\nexport interface IRecordIdentityWhoAmI {\n id: string;\n label?: string | null;\n subLabel?: string | null;\n color?: string | null;\n library: IRecordIdentityLibrary;\n preview?: IPreviewScalar | null;\n}\n\nexport interface IRecordIdentity {\n id: string;\n whoAmI: IRecordIdentityWhoAmI;\n}\n"]}
1
+ {"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/types/records.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type IPreviewScalar} from '@leav/utils';\nimport {type SystemTranslation} from './scalars';\n\nexport interface IRecordIdentityLibrary {\n id: string;\n label?: SystemTranslation | null;\n}\n\nexport interface IRecordIdentityPreview {\n tiny: string | null;\n small: string | null;\n medium: string | null;\n big: string | null;\n huge: string | null;\n}\n\nexport interface IRecordIdentityWhoAmI {\n id: string;\n label?: string | null;\n subLabel?: string | null;\n color?: string | null;\n library: IRecordIdentityLibrary;\n preview?: IPreviewScalar | null;\n parentContext?: IRecordIdentityWhoAmI[] | null;\n}\n\nexport interface IRecordIdentity {\n id: string;\n whoAmI: IRecordIdentityWhoAmI;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leav/ui",
3
- "version": "1.6.0",
3
+ "version": "1.7.0-13483399",
4
4
  "description": "Shared React components and hooks",
5
5
  "scripts": {
6
6
  "prepublishOnly": "yarn build",
@@ -25,76 +25,74 @@
25
25
  "repository": "https://github.com/leav-solutions/leav-engine",
26
26
  "devDependencies": {
27
27
  "@apollo/client": "3.8.1",
28
- "@babel/preset-env": "7.28.5",
28
+ "@babel/preset-env": "7.28.6",
29
29
  "@babel/preset-react": "7.28.5",
30
- "@graphql-codegen/add": "5.0.0",
31
- "@graphql-codegen/cli": "5.0.0",
32
- "@testing-library/jest-dom": "5.16.5",
33
- "@testing-library/react": "14.0.0",
30
+ "@graphql-codegen/add": "5.0.3",
31
+ "@graphql-codegen/cli": "6.1.1",
32
+ "@graphql-codegen/typescript": "5.0.7",
33
+ "@graphql-codegen/typescript-operations": "5.0.7",
34
+ "@graphql-codegen/typescript-react-apollo": "4.4.0",
35
+ "@testing-library/jest-dom": "5.17.0",
36
+ "@testing-library/react": "14.3.1",
34
37
  "@testing-library/react-hooks": "8.0.1",
35
- "@testing-library/user-event": "14.4.3",
38
+ "@testing-library/user-event": "14.6.1",
36
39
  "@total-typescript/ts-reset": "0.6.1",
37
40
  "@types/dompurify": "3.0.3",
38
- "@types/jest": "29.0.2",
41
+ "@types/jest": "29.5.14",
39
42
  "@types/lodash.isequal": "^4",
40
- "@types/object-path": "0.11.1",
43
+ "@types/object-path": "0.11.4",
41
44
  "@types/react": "18.2.14",
42
- "@types/react-beautiful-dnd": "13.1.2",
43
45
  "@types/react-dom": "18.2.6",
44
- "@types/react-table": "7.7.12",
45
- "@types/uuid": "^9",
46
- "antd": "5.22.2",
47
- "aristid-ds": "14.0.0-c13d6a5",
48
- "babel-jest": "29.3.1",
49
- "commander": "9.5.0",
46
+ "@types/react-table": "7.7.20",
47
+ "aristid-ds": "14.0.0-1708442",
48
+ "babel-jest": "29.7.0",
50
49
  "graphql": "16.12.0",
51
- "i18next": "22.5.0",
52
- "jest": "29.0.3",
53
- "jest-environment-jsdom": "29.3.1",
54
- "jest-styled-components": "7.1.1",
50
+ "i18next": "22.5.1",
51
+ "jest": "29.7.0",
52
+ "jest-environment-jsdom": "29.7.0",
53
+ "jest-styled-components": "7.2.0",
55
54
  "react": "18.2.0",
56
55
  "react-dom": "18.2.0",
57
56
  "react-i18next": "12",
58
57
  "react-router-dom": "6.22.0",
59
- "styled-components": "6.0.8",
60
- "ts-jest": "29.0.1",
61
- "tsc-alias": "1.8.8",
58
+ "ts-jest": "29.4.6",
59
+ "tsc-alias": "1.8.16",
62
60
  "typescript": "5.5.3",
63
- "vite": "7.2.2"
61
+ "vite": "7.3.1"
64
62
  },
65
63
  "peerDependencies": {
66
- "@ant-design/icons": ">=5.2",
67
64
  "@apollo/client": ">=3.8.1",
68
- "antd": "5.22.2",
69
- "aristid-ds": "14.0.0-c13d6a5",
70
- "dayjs": "^1.11.13",
71
- "i18next": "22.5",
72
- "react": "18.2.0",
73
- "react-dom": "18.2.0",
74
- "react-i18next": "12",
75
- "react-icons": ">=4",
76
- "react-router-dom": "6.22.0",
77
- "styled-components": ">=5.3"
65
+ "aristid-ds": "^14.0.0-1708442",
66
+ "i18next": ">=22.5.1",
67
+ "react": "^18.2.0",
68
+ "react-dom": "^18.2.0",
69
+ "react-i18next": ">=12",
70
+ "react-router-dom": "^6.22.0"
78
71
  },
79
72
  "dependencies": {
80
- "@ckeditor/ckeditor5-build-inline": "39.0.1",
73
+ "@ant-design/icons": "5.6.1",
74
+ "@ckeditor/ckeditor5-build-inline": "39.0.2",
81
75
  "@ckeditor/ckeditor5-react": "6.1.0",
82
76
  "@dnd-kit/core": "6.1.0",
83
77
  "@dnd-kit/sortable": "8.0.0",
84
- "@leav/utils": "1.6.0",
78
+ "@dnd-kit/utilities": "3.2.2",
79
+ "@fortawesome/fontawesome-svg-core": "7.0.1",
80
+ "@fortawesome/free-regular-svg-icons": "7.0.1",
81
+ "@fortawesome/free-solid-svg-icons": "7.0.1",
82
+ "@fortawesome/react-fontawesome": "3.0.2",
83
+ "@leav/utils": "1.7.0",
85
84
  "@uidotdev/usehooks": "2.4.1",
85
+ "dayjs": "^1.11.13",
86
86
  "dompurify": "3.2.4",
87
- "html-react-parser": "4.2.2",
87
+ "html-react-parser": "4.2.10",
88
88
  "i18next-resources-to-backend": "1.1.4",
89
89
  "lodash.isequal": "4.5.0",
90
90
  "object-path": "0.11.8",
91
- "react-beautiful-dnd": "13.1.1",
92
- "react-icons": "4.7.1",
93
91
  "react-markdown": "5.0.3",
94
92
  "react-table": "7.8.0",
95
93
  "react-table-sticky": "1.1.3",
96
- "uuid": "9.0.1",
94
+ "styled-components": "6.0.8",
97
95
  "xlsx": "0.18.5",
98
- "zod": "3.25.67"
96
+ "zod": "3.25.76"
99
97
  }
100
98
  }
@@ -1,3 +0,0 @@
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;
@@ -1 +0,0 @@
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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitButton} from 'aristid-ds';\nimport styled from 'styled-components';\n\nexport const ActionButton = styled(KitButton)<{$hasNoValue: boolean}>`\n margin-top: ${props => (props.$hasNoValue ? 0 : 'calc((var(--general-spacing-xs)) * 1px)')};\n`;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useExplorerLinkRecords.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useExplorerLinkRecords.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type RecordFilterInput, type RecordFormAttributeLinkAttributeFragment} from '_ui/_gqlTypes';\nimport {APICallStatus, type DeleteMultipleValuesFunc, type ISubmitMultipleResult} from '../../../_types';\nimport {type Dispatch, type SetStateAction} from 'react';\nimport {type IItemData, type MassSelection} from '_ui/components/Explorer/_types';\nimport {AntForm} from 'aristid-ds';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type RecordFormElementsValueLinkValue} from '_ui/hooks/useGetRecordForm';\nimport {ErrorTypes} from '@leav/utils';\n\ninterface IUseExplorerLinkRecordsProps {\n attribute: RecordFormAttributeLinkAttributeFragment;\n backendValues: RecordFormElementsValueLinkValue[];\n setBackendValues: Dispatch<SetStateAction<RecordFormElementsValueLinkValue[]>>;\n onDeleteMultipleValues: DeleteMultipleValuesFunc;\n}\n\nexport const useExplorerLinkRecords = ({\n attribute,\n backendValues,\n setBackendValues,\n onDeleteMultipleValues,\n}: IUseExplorerLinkRecordsProps) => {\n const {t} = useSharedTranslation();\n\n const form = AntForm.useFormInstance();\n\n const removeValues = (filterFn?: (id: string) => boolean, useIdValue: boolean = false) => {\n if (!filterFn) {\n form.setFieldValue(attribute.id, []);\n form.setFields([\n {\n name: attribute.id,\n errors: attribute.required ? [t('errors.standard_field_required')] : [],\n },\n ]);\n setBackendValues([]);\n return;\n }\n\n const newBackendValues = backendValues.filter(backendValue =>\n filterFn(useIdValue ? backendValue.id_value : backendValue.linkValue.id),\n );\n\n form.setFieldValue(\n attribute.id,\n newBackendValues.map(({linkValue}) => linkValue.id),\n );\n\n form.setFields([\n {\n name: attribute.id,\n errors:\n attribute.required && newBackendValues.length === 0 ? [t('errors.standard_field_required')] : [],\n },\n ]);\n\n setBackendValues(previousBackendValues =>\n previousBackendValues.filter(backendValue =>\n filterFn(useIdValue ? backendValue.id_value : backendValue.linkValue.id),\n ),\n );\n };\n\n const handleDeleteAllValues = async () => {\n const deleteRes = await onDeleteMultipleValues(\n attribute.id,\n backendValues.filter(backendValue => backendValue.id_value),\n null,\n );\n\n if (deleteRes.status === APICallStatus.SUCCESS) {\n removeValues();\n }\n };\n\n const handleExplorerRemoveValue = (item: IItemData) => {\n removeValues(id => id !== item.itemId);\n };\n\n const handleExplorerMassDeactivateValues = (\n _massSelectedFilter: RecordFilterInput[],\n massSelection: MassSelection,\n ) => {\n removeValues(idValue => !massSelection.includes(idValue), true);\n };\n\n const handleExplorerLinkValue = (saveValuesResult: ISubmitMultipleResult) => {\n if (saveValuesResult.status === APICallStatus.SUCCESS) {\n const saveLinkValues = saveValuesResult.values as unknown as RecordFormElementsValueLinkValue[];\n\n form.setFieldValue(attribute.id, [\n ...backendValues.map(({linkValue}) => linkValue.id),\n ...saveLinkValues.map(({linkValue}) => linkValue.id),\n ]);\n\n form.setFields([\n {\n name: attribute.id,\n errors: [],\n },\n ]);\n\n setBackendValues(previousBackendValues => [...previousBackendValues, ...saveLinkValues]);\n }\n\n if (saveValuesResult.status === APICallStatus.ERROR && saveValuesResult.errors) {\n const attributeError = saveValuesResult.errors.filter(err => err.attribute === attribute.id)?.[0];\n\n if (attributeError) {\n const errorMessage =\n attributeError.type === ErrorTypes.VALIDATION_ERROR\n ? attributeError.message\n : t(`errors.${attributeError.type}`);\n\n form.setFields([\n {\n name: attribute.id,\n errors: [errorMessage],\n },\n ]);\n }\n }\n };\n\n const handleExplorerCreateValue = ({\n recordIdCreated,\n saveValuesResultOnLink,\n }: {\n recordIdCreated: string;\n saveValuesResultOnLink?: ISubmitMultipleResult;\n }) => {\n if (saveValuesResultOnLink) {\n handleExplorerLinkValue(saveValuesResultOnLink);\n }\n };\n\n return {\n handleDeleteAllValues,\n handleExplorerRemoveValue,\n handleExplorerMassDeactivateValues,\n handleExplorerLinkValue,\n handleExplorerCreateValue,\n };\n};\n"]}
@@ -1,100 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } 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, KitTooltip } from 'aristid-ds';
10
- import { useExplorerLinkRecords } from './useExplorerLinkRecords';
11
- import { FaEye, FaPlus } from 'react-icons/fa';
12
- import { ActionButton } from './ActionButton';
13
- import { useSharedTranslation } from '../../../../../../hooks/useSharedTranslation';
14
- import { useEditRecordModal } from '../../../../../../components/RecordEdition/EditRecordModal/useEditRecordModal';
15
- const _shouldUpdateExplorerActions = (ref, explorerActions) => ref?.createAction?.disabled !== explorerActions?.createAction?.disabled ||
16
- ref?.linkAction?.disabled !== explorerActions?.linkAction?.disabled ||
17
- ref?.totalCount !== explorerActions?.totalCount;
18
- export const useLinkRecords = ({ libraryId, recordId, editionFormId, isFormCreationMode, attribute, joinLibraryContext, columnsToDisplay, backendValues, setBackendValues, isReadOnly, isFieldInError, hasNoValue, onDeleteMultipleValues, }) => {
19
- const { t } = useSharedTranslation();
20
- const form = AntForm.useFormInstance();
21
- const [explorerActions, setExplorerActions] = useState(null);
22
- const { handleDeleteAllValues, handleExplorerCreateValue, handleExplorerLinkValue, handleExplorerMassDeactivateValues, handleExplorerRemoveValue, } = useExplorerLinkRecords({
23
- attribute,
24
- backendValues,
25
- setBackendValues,
26
- onDeleteMultipleValues,
27
- });
28
- const _handleExplorerRef = (ref) => {
29
- if (_shouldUpdateExplorerActions(ref, explorerActions)) {
30
- setExplorerActions({
31
- createAction: ref?.createAction,
32
- linkAction: ref?.linkAction,
33
- totalCount: ref?.totalCount,
34
- });
35
- }
36
- };
37
- const _getExplorerItemActions = () => {
38
- if (isReadOnly) {
39
- return [];
40
- }
41
- if ((!attribute.multiple_values && attribute.required) ||
42
- (attribute.multiple_values && backendValues.length === 1 && attribute.required)) {
43
- return [];
44
- }
45
- return ['remove'];
46
- };
47
- useEffect(() => {
48
- if (!isFormCreationMode && backendValues.length === 0 && attribute.required) {
49
- form.setFields([{ name: attribute.id, errors: [t('errors.standard_field_required')] }]);
50
- }
51
- }, []);
52
- const { EditRecordModal, openEditRecordModal } = useEditRecordModal();
53
- return {
54
- UnlinkAllRecords: !isReadOnly &&
55
- backendValues.length > 1 &&
56
- attribute.multiple_values &&
57
- !attribute.required && (_jsx(DeleteAllValuesButton, { handleDelete: handleDeleteAllValues, disabled: isReadOnly, danger: isFieldInError })),
58
- LinkRecordsExplorer: recordId && (_jsxs(_Fragment, { children: [_jsx(ExplorerWrapper, { children: _jsx(Explorer, { ref: _handleExplorerRef, defaultViewSettings: {
59
- attributesIds: columnsToDisplay,
60
- }, entrypoint: {
61
- type: 'link',
62
- parentLibraryId: libraryId,
63
- parentRecordId: recordId,
64
- linkAttributeId: attribute.id,
65
- }, defaultCallbacks: {
66
- item: {
67
- remove: handleExplorerRemoveValue,
68
- },
69
- mass: {
70
- deactivate: handleExplorerMassDeactivateValues,
71
- },
72
- primary: {
73
- link: handleExplorerLinkValue,
74
- create: handleExplorerCreateValue,
75
- },
76
- }, showTitle: false, showSearch: false, selectionMode: attribute.multiple_values ? 'multiple' : 'simple', disableSelection: isReadOnly ||
77
- !attribute.multiple_values ||
78
- (attribute.required && attribute.multiple_values && backendValues.length === 1), defaultActionsForItem: _getExplorerItemActions(), itemActions: [
79
- {
80
- label: t('explorer.edit-item'),
81
- icon: _jsx(FaEye, {}),
82
- useItemActionOnRowClick: true,
83
- callback: item => {
84
- openEditRecordModal({
85
- library: item.libraryId,
86
- record: {
87
- id: item.itemId,
88
- label: item.whoAmI?.label,
89
- subLabel: item.whoAmI?.subLabel,
90
- color: item.whoAmI?.color,
91
- library: { id: item.libraryId },
92
- },
93
- editionFormId,
94
- });
95
- },
96
- },
97
- ], joinLibraryContext: joinLibraryContext, hidePrimaryActions: true, hideTableHeader: true }) }), !isReadOnly && (_jsx(KitSpace, { size: "xs", style: { padding: '1rem' }, children: _jsx(KitTooltip, { title: explorerActions?.linkAction?.label, children: _jsx(ActionButton, { type: "secondary", size: "m", "$hasNoValue": hasNoValue, icon: _jsx(FaPlus, {}), disabled: isReadOnly || (attribute.multiple_values && explorerActions?.linkAction?.disabled), onClick: explorerActions?.linkAction?.callback, "aria-label": explorerActions?.linkAction?.label }) }) })), EditRecordModal] })),
98
- };
99
- };
100
- //# sourceMappingURL=useLinkRecords.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLinkRecords.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {Explorer} from '_ui/components/Explorer';\nimport {type IExplorerRef} from '_ui/components/Explorer/Explorer';\nimport {type ComponentProps, type Dispatch, type SetStateAction, useEffect, useState} from 'react';\nimport {ExplorerWrapper} from '../shared/ExplorerWrapper';\nimport {DeleteAllValuesButton} from '../../shared/DeleteAllValuesButton';\nimport {type DeleteMultipleValuesFunc} from '../../../_types';\nimport {type JoinLibraryContextFragment, type RecordFormAttributeLinkAttributeFragment} from '_ui/_gqlTypes';\nimport {type RecordFormElementsValueLinkValue} from '_ui/hooks/useGetRecordForm';\nimport {AntForm, KitSpace, KitTooltip} from 'aristid-ds';\nimport {useExplorerLinkRecords} from './useExplorerLinkRecords';\nimport {FaEye, FaPlus} from 'react-icons/fa';\nimport {ActionButton} from './ActionButton';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useEditRecordModal} from '_ui/components/RecordEdition/EditRecordModal/useEditRecordModal';\n\ninterface ILinkRecords {\n libraryId: string;\n recordId: string;\n editionFormId: string;\n isFormCreationMode: boolean;\n attribute: RecordFormAttributeLinkAttributeFragment;\n joinLibraryContext: JoinLibraryContextFragment;\n columnsToDisplay: ComponentProps<typeof Explorer>['defaultViewSettings']['attributesIds'];\n backendValues: RecordFormElementsValueLinkValue[];\n setBackendValues: Dispatch<SetStateAction<RecordFormElementsValueLinkValue[]>>;\n isReadOnly: boolean;\n isFieldInError: boolean;\n hasNoValue: boolean;\n onDeleteMultipleValues: DeleteMultipleValuesFunc;\n}\n\nconst _shouldUpdateExplorerActions = (ref: IExplorerRef, explorerActions: IExplorerRef) =>\n ref?.createAction?.disabled !== explorerActions?.createAction?.disabled ||\n ref?.linkAction?.disabled !== explorerActions?.linkAction?.disabled ||\n ref?.totalCount !== explorerActions?.totalCount;\n\nexport const useLinkRecords = ({\n libraryId,\n recordId,\n editionFormId,\n isFormCreationMode,\n attribute,\n joinLibraryContext,\n columnsToDisplay,\n backendValues,\n setBackendValues,\n isReadOnly,\n isFieldInError,\n hasNoValue,\n onDeleteMultipleValues,\n}: ILinkRecords) => {\n const {t} = useSharedTranslation();\n const form = AntForm.useFormInstance();\n const [explorerActions, setExplorerActions] = useState<IExplorerRef | null>(null);\n\n const {\n handleDeleteAllValues,\n handleExplorerCreateValue,\n handleExplorerLinkValue,\n handleExplorerMassDeactivateValues,\n handleExplorerRemoveValue,\n } = useExplorerLinkRecords({\n attribute,\n backendValues,\n setBackendValues,\n onDeleteMultipleValues,\n });\n\n const _handleExplorerRef = (ref: IExplorerRef) => {\n if (_shouldUpdateExplorerActions(ref, explorerActions)) {\n setExplorerActions({\n createAction: ref?.createAction,\n linkAction: ref?.linkAction,\n totalCount: ref?.totalCount,\n });\n }\n };\n\n const _getExplorerItemActions = (): Array<'remove'> => {\n if (isReadOnly) {\n return [];\n }\n\n if (\n (!attribute.multiple_values && attribute.required) ||\n (attribute.multiple_values && backendValues.length === 1 && attribute.required)\n ) {\n return [];\n }\n\n return ['remove'];\n };\n\n useEffect(() => {\n if (!isFormCreationMode && backendValues.length === 0 && attribute.required) {\n form.setFields([{name: attribute.id, errors: [t('errors.standard_field_required')]}]);\n }\n }, []);\n\n const {EditRecordModal, openEditRecordModal} = useEditRecordModal();\n\n return {\n UnlinkAllRecords: !isReadOnly &&\n backendValues.length > 1 &&\n attribute.multiple_values &&\n !attribute.required && (\n <DeleteAllValuesButton\n handleDelete={handleDeleteAllValues}\n disabled={isReadOnly}\n danger={isFieldInError}\n />\n ),\n LinkRecordsExplorer: recordId && (\n <>\n <ExplorerWrapper>\n <Explorer\n ref={_handleExplorerRef}\n defaultViewSettings={{\n attributesIds: columnsToDisplay,\n }}\n entrypoint={{\n type: 'link',\n parentLibraryId: libraryId,\n parentRecordId: recordId,\n linkAttributeId: attribute.id,\n }}\n defaultCallbacks={{\n item: {\n remove: handleExplorerRemoveValue,\n },\n mass: {\n deactivate: handleExplorerMassDeactivateValues,\n },\n primary: {\n link: handleExplorerLinkValue,\n create: handleExplorerCreateValue,\n },\n }}\n showTitle={false}\n showSearch={false}\n selectionMode={attribute.multiple_values ? 'multiple' : 'simple'}\n disableSelection={\n isReadOnly ||\n !attribute.multiple_values ||\n (attribute.required && attribute.multiple_values && backendValues.length === 1)\n }\n defaultActionsForItem={_getExplorerItemActions()}\n itemActions={[\n {\n label: t('explorer.edit-item'),\n icon: <FaEye />,\n useItemActionOnRowClick: true,\n callback: item => {\n openEditRecordModal({\n library: item.libraryId,\n record: {\n id: item.itemId,\n label: item.whoAmI?.label,\n subLabel: item.whoAmI?.subLabel,\n color: item.whoAmI?.color,\n library: {id: item.libraryId},\n },\n editionFormId,\n });\n },\n },\n ]}\n joinLibraryContext={joinLibraryContext}\n hidePrimaryActions\n hideTableHeader\n />\n </ExplorerWrapper>\n {!isReadOnly && (\n <KitSpace size=\"xs\" style={{padding: '1rem'}}>\n <KitTooltip title={explorerActions?.linkAction?.label}>\n <ActionButton\n type=\"secondary\"\n size=\"m\"\n $hasNoValue={hasNoValue}\n icon={<FaPlus />}\n disabled={\n isReadOnly || (attribute.multiple_values && explorerActions?.linkAction?.disabled)\n }\n onClick={explorerActions?.linkAction?.callback}\n aria-label={explorerActions?.linkAction?.label}\n />\n </KitTooltip>\n </KitSpace>\n )}\n {EditRecordModal}\n </>\n ),\n };\n};\n"]}
@@ -1,13 +0,0 @@
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 styled from 'styled-components';
5
- import { INPUT_MAX_HEIGHT } from '../../../formConstants';
6
- export const ExplorerWrapper = styled.div `
7
- max-height: ${INPUT_MAX_HEIGHT};
8
-
9
- > div {
10
- max-height: ${INPUT_MAX_HEIGHT};
11
- }
12
- `;
13
- //# sourceMappingURL=ExplorerWrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExplorerWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;kBACvB,gBAAgB;;;sBAGZ,gBAAgB;;CAErC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport styled from 'styled-components';\nimport {INPUT_MAX_HEIGHT} from '../../../formConstants';\n\nexport const ExplorerWrapper = styled.div`\n max-height: ${INPUT_MAX_HEIGHT};\n\n > div {\n max-height: ${INPUT_MAX_HEIGHT};\n }\n`;\n"]}