@leav/ui 1.6.0 → 1.7.0-143193eb

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 (327) 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 +1128 -713
  5. package/dist/_gqlTypes/index.js +233 -75
  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/attributes/getAttributeWithEmbeddedFields.d.ts +1 -1
  10. package/dist/_queries/libraries/libraryDetailsFragment.js +1 -0
  11. package/dist/_queries/libraries/libraryDetailsFragment.js.map +1 -1
  12. package/dist/_queries/trees/treeNodeChildrenQuery.js +2 -0
  13. package/dist/_queries/trees/treeNodeChildrenQuery.js.map +1 -1
  14. package/dist/_queries/views/viewDetailsFragment.js +1 -0
  15. package/dist/_queries/views/viewDetailsFragment.js.map +1 -1
  16. package/dist/components/AttributePicker/AttributesList/AttributesList.js +3 -7
  17. package/dist/components/AttributePicker/AttributesList/AttributesList.js.map +1 -1
  18. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js +20 -12
  19. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js.map +1 -1
  20. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.d.ts +1 -1
  21. package/dist/components/AttributesSelectionList/sharedComponents.d.ts +159 -153
  22. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/AttributesList.js +3 -7
  23. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/AttributesList.js.map +1 -1
  24. package/dist/components/Explorer/DataView.d.ts +2 -0
  25. package/dist/components/Explorer/DataView.js +6 -3
  26. package/dist/components/Explorer/DataView.js.map +1 -1
  27. package/dist/components/Explorer/Explorer.d.ts +2 -0
  28. package/dist/components/Explorer/Explorer.js +7 -5
  29. package/dist/components/Explorer/Explorer.js.map +1 -1
  30. package/dist/components/Explorer/ExplorerFiltersAndSorts.js +1 -1
  31. package/dist/components/Explorer/ExplorerFiltersAndSorts.js.map +1 -1
  32. package/dist/components/Explorer/TableCell.js +15 -23
  33. package/dist/components/Explorer/TableCell.js.map +1 -1
  34. package/dist/components/Explorer/TableNameCell.js +3 -2
  35. package/dist/components/Explorer/TableNameCell.js.map +1 -1
  36. package/dist/components/Explorer/_queries/useExplorerData.d.ts +7 -7
  37. package/dist/components/Explorer/_queries/useExplorerData.js +19 -7
  38. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  39. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js +3 -2
  40. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -1
  41. package/dist/components/Explorer/actions-item/useReplaceItemAction.d.ts +2 -1
  42. package/dist/components/Explorer/actions-item/useReplaceItemAction.js +5 -4
  43. package/dist/components/Explorer/actions-item/useReplaceItemAction.js.map +1 -1
  44. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.d.ts +2 -4
  45. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js +18 -16
  46. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js.map +1 -1
  47. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js +2 -2
  48. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js.map +1 -1
  49. package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js +9 -1
  50. package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js.map +1 -1
  51. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.d.ts +10 -3
  52. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js +16 -6
  53. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js.map +1 -1
  54. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.d.ts +10 -0
  55. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.js +46 -0
  56. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.js.map +1 -0
  57. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.d.ts +1 -0
  58. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.js +17 -0
  59. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.js.map +1 -0
  60. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.d.ts +8 -0
  61. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.js +49 -0
  62. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.js.map +1 -0
  63. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.d.ts +27 -0
  64. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.js +48 -0
  65. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.js.map +1 -0
  66. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js +3 -2
  67. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js.map +1 -1
  68. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js +3 -2
  69. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js.map +1 -1
  70. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js +3 -2
  71. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js.map +1 -1
  72. package/dist/components/Explorer/actions-mass/useExportMassAction.d.ts +7 -4
  73. package/dist/components/Explorer/actions-mass/useExportMassAction.js +80 -73
  74. package/dist/components/Explorer/actions-mass/useExportMassAction.js.map +1 -1
  75. package/dist/components/Explorer/actions-mass/useMassActions.js +3 -2
  76. package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -1
  77. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +3 -2
  78. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  79. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.d.ts +2 -1
  80. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js +5 -4
  81. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js.map +1 -1
  82. package/dist/components/Explorer/link-item/LinkModal.d.ts +1 -0
  83. package/dist/components/Explorer/link-item/LinkModal.js +2 -2
  84. package/dist/components/Explorer/link-item/LinkModal.js.map +1 -1
  85. package/dist/components/Explorer/list-saved-views/SavedViews.js +4 -3
  86. package/dist/components/Explorer/list-saved-views/SavedViews.js.map +1 -1
  87. package/dist/components/Explorer/manage-view-settings/_shared/ColumnItem.js +5 -8
  88. package/dist/components/Explorer/manage-view-settings/_shared/ColumnItem.js.map +1 -1
  89. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js +3 -2
  90. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js.map +1 -1
  91. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js +2 -2
  92. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js.map +1 -1
  93. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +7 -6
  94. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  95. package/dist/components/Explorer/manage-view-settings/filter-items/FilterListItem.js +3 -2
  96. package/dist/components/Explorer/manage-view-settings/filter-items/FilterListItem.js.map +1 -1
  97. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js +5 -4
  98. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js.map +1 -1
  99. package/dist/components/Explorer/manage-view-settings/router-menu/SettingItem.js +3 -2
  100. package/dist/components/Explorer/manage-view-settings/router-menu/SettingItem.js.map +1 -1
  101. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js +3 -2
  102. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js.map +1 -1
  103. package/dist/components/Explorer/manage-view-settings/save-view/LabelViewFormModal.js +3 -2
  104. package/dist/components/Explorer/manage-view-settings/save-view/LabelViewFormModal.js.map +1 -1
  105. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js +3 -0
  106. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js.map +1 -1
  107. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js +3 -2
  108. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js.map +1 -1
  109. package/dist/components/Explorer/manage-view-settings/save-view/useDeleteView.js +4 -3
  110. package/dist/components/Explorer/manage-view-settings/save-view/useDeleteView.js.map +1 -1
  111. package/dist/components/Explorer/manage-view-settings/save-view/useEditLabelView.js +3 -2
  112. package/dist/components/Explorer/manage-view-settings/save-view/useEditLabelView.js.map +1 -1
  113. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js +3 -2
  114. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js.map +1 -1
  115. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js +3 -2
  116. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js.map +1 -1
  117. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js +3 -2
  118. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js.map +1 -1
  119. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js +7 -6
  120. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js.map +1 -1
  121. package/dist/components/Explorer/manage-view-settings/sort-items/SortListItem.js +3 -2
  122. package/dist/components/Explorer/manage-view-settings/sort-items/SortListItem.js.map +1 -1
  123. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
  124. package/dist/components/Explorer/useSearchInput.js +6 -2
  125. package/dist/components/Explorer/useSearchInput.js.map +1 -1
  126. package/dist/components/Filters/FiltersProvider.d.ts +2 -2
  127. package/dist/components/Filters/FiltersProvider.js.map +1 -1
  128. package/dist/components/Filters/_types.d.ts +3 -0
  129. package/dist/components/Filters/_types.js.map +1 -1
  130. package/dist/components/Filters/context/filtersReducer.js +7 -4
  131. package/dist/components/Filters/context/filtersReducer.js.map +1 -1
  132. package/dist/components/Filters/context/useGetTreeFilters.d.ts +8 -6
  133. package/dist/components/Filters/context/useGetTreeFilters.js +41 -18
  134. package/dist/components/Filters/context/useGetTreeFilters.js.map +1 -1
  135. package/dist/components/Filters/filter-items/CommonFilterItem.d.ts +1 -0
  136. package/dist/components/Filters/filter-items/CommonFilterItem.js +29 -9
  137. package/dist/components/Filters/filter-items/CommonFilterItem.js.map +1 -1
  138. package/dist/components/Filters/filter-items/EmptyValueCheckbox.d.ts +8 -0
  139. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js +16 -0
  140. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js.map +1 -0
  141. package/dist/components/Filters/filter-items/SelectAllCheckbox.d.ts +8 -0
  142. package/dist/components/Filters/filter-items/SelectAllCheckbox.js +22 -0
  143. package/dist/components/Filters/filter-items/SelectAllCheckbox.js.map +1 -0
  144. package/dist/components/Filters/filter-items/filter-type/BooleanAttributeDropdown.js +23 -9
  145. package/dist/components/Filters/filter-items/filter-type/BooleanAttributeDropdown.js.map +1 -1
  146. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js +9 -8
  147. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js.map +1 -1
  148. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js +4 -3
  149. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js.map +1 -1
  150. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js +2 -2
  151. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js.map +1 -1
  152. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.d.ts +0 -1
  153. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js +17 -23
  154. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js.map +1 -1
  155. package/dist/components/Filters/filter-items/filter-type/{TreeAttributeDropDown.d.ts → tree/TreeAttributeDropDown.d.ts} +1 -1
  156. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js +130 -0
  157. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js.map +1 -0
  158. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.d.ts +20 -0
  159. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js +72 -0
  160. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js.map +1 -0
  161. package/dist/components/Filters/filter-items/filter-type/tree/useTreesSearch.d.ts +7 -0
  162. package/dist/components/Filters/filter-items/filter-type/tree/useTreesSearch.js +36 -0
  163. package/dist/components/Filters/filter-items/filter-type/tree/useTreesSearch.js.map +1 -0
  164. package/dist/components/Filters/filter-items/filter-type/tree/utils/buildFlattenTreeMap.d.ts +2 -0
  165. package/dist/components/Filters/filter-items/filter-type/tree/utils/buildFlattenTreeMap.js +14 -0
  166. package/dist/components/Filters/filter-items/filter-type/tree/utils/buildFlattenTreeMap.js.map +1 -0
  167. package/dist/components/Filters/filter-items/filter-type/tree/utils/filterTreeByPermission.d.ts +2 -0
  168. package/dist/components/Filters/filter-items/filter-type/tree/utils/filterTreeByPermission.js +15 -0
  169. package/dist/components/Filters/filter-items/filter-type/tree/utils/filterTreeByPermission.js.map +1 -0
  170. package/dist/components/Filters/filter-items/filter-type/tree/utils/getSelectAllState.d.ts +5 -0
  171. package/dist/components/Filters/filter-items/filter-type/tree/utils/getSelectAllState.js +17 -0
  172. package/dist/components/Filters/filter-items/filter-type/tree/utils/getSelectAllState.js.map +1 -0
  173. package/dist/components/Filters/filter-items/filter-type/useConditionOptionsByType.js +3 -13
  174. package/dist/components/Filters/filter-items/filter-type/useConditionOptionsByType.js.map +1 -1
  175. package/dist/components/Filters/index.d.ts +1 -0
  176. package/dist/components/Filters/index.js +1 -0
  177. package/dist/components/Filters/index.js.map +1 -1
  178. package/dist/components/Filters/prepareFiltersForRequest.js +36 -3
  179. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
  180. package/dist/components/Filters/useFilters.d.ts +5 -0
  181. package/dist/components/Filters/useTransformFilters.js +4 -0
  182. package/dist/components/Filters/useTransformFilters.js.map +1 -1
  183. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.d.ts +1 -3
  184. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +6 -2
  185. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +1 -1
  186. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js +1 -8
  187. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js.map +1 -1
  188. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js +15 -17
  189. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js.map +1 -1
  190. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js +0 -6
  191. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js.map +1 -1
  192. package/dist/components/LibraryItemsList/MenuView/MenuView.js +4 -4
  193. package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +1 -1
  194. package/dist/components/LibraryItemsList/ViewPanel/View/View.d.ts +1 -3
  195. package/dist/components/LibraryItemsList/ViewPanel/View/View.js +9 -4
  196. package/dist/components/LibraryItemsList/ViewPanel/View/View.js.map +1 -1
  197. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js +36 -14
  198. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js.map +1 -1
  199. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.d.ts +1 -1
  200. package/dist/components/Notifications/hooks/useNotificationSubscription.js +5 -4
  201. package/dist/components/Notifications/hooks/useNotificationSubscription.js.map +1 -1
  202. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -0
  203. package/dist/components/RecordEdition/EditRecord/EditRecord.js +3 -3
  204. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  205. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +2 -0
  206. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  207. package/dist/components/RecordEdition/EditRecordContent/hooks/__mocks__/useDeleteValueMutation.d.ts +1 -1
  208. package/dist/components/RecordEdition/EditRecordContent/hooks/__mocks__/useSaveValueMutation.d.ts +1 -1
  209. package/dist/components/RecordEdition/EditRecordContent/shared/ValuesVersionBtn/ValuesVersionBtn.js +5 -20
  210. package/dist/components/RecordEdition/EditRecordContent/shared/ValuesVersionBtn/ValuesVersionBtn.js.map +1 -1
  211. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.d.ts +1 -11
  212. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +8 -95
  213. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
  214. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/_types.d.ts +8 -0
  215. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/_types.js +2 -0
  216. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/_types.js.map +1 -0
  217. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/LinkFieldExplorer.d.ts +6 -0
  218. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/LinkFieldExplorer.js +77 -0
  219. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/LinkFieldExplorer.js.map +1 -0
  220. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record → explorer/link-record}/useExplorerLinkRecords.d.ts +5 -7
  221. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record → explorer/link-record}/useExplorerLinkRecords.js +3 -10
  222. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/link-record/useExplorerLinkRecords.js.map +1 -0
  223. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record → explorer/link-record}/useLinkRecords.d.ts +5 -6
  224. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/link-record/useLinkRecords.js +98 -0
  225. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/link-record/useLinkRecords.js.map +1 -0
  226. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/{ExplorerWrapper.d.ts → InputExtraAlignLeft.d.ts} +54 -52
  227. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record/ActionButton.js → shared/InputExtraAlignLeft.js} +4 -4
  228. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputExtraAlignLeft.js.map +1 -0
  229. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputWrapper.d.ts +3 -0
  230. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputWrapper.js +31 -0
  231. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputWrapper.js.map +1 -0
  232. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/Wrapper.d.ts +3 -0
  233. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/Wrapper.js +8 -0
  234. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/Wrapper.js.map +1 -0
  235. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/LinkFieldTags.d.ts +3 -0
  236. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/LinkFieldTags.js +57 -0
  237. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/LinkFieldTags.js.map +1 -0
  238. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.d.ts +16 -0
  239. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.js +85 -0
  240. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.js.map +1 -0
  241. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/unlink-record/useUnlinkRecord.d.ts +19 -0
  242. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/unlink-record/useUnlinkRecord.js +43 -0
  243. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/unlink-record/useUnlinkRecord.js.map +1 -0
  244. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/unlink-all-records/useUnlinkAllRecords.d.ts +16 -0
  245. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/unlink-all-records/useUnlinkAllRecords.js +27 -0
  246. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/unlink-all-records/useUnlinkAllRecords.js.map +1 -0
  247. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +4 -3
  248. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  249. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +1 -1
  250. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
  251. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +2 -0
  252. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
  253. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +9 -2
  254. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
  255. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.d.ts +53 -51
  256. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +3 -2
  257. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -1
  258. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +2 -1
  259. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +4 -7
  260. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
  261. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +3 -2
  262. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +2 -2
  263. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -1
  264. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js +3 -2
  265. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js.map +1 -1
  266. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +1 -0
  267. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +2 -2
  268. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  269. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordInformations/RecordInformations.js +3 -2
  270. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordInformations/RecordInformations.js.map +1 -1
  271. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js +4 -3
  272. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js.map +1 -1
  273. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js +3 -2
  274. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js.map +1 -1
  275. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js +2 -2
  276. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js.map +1 -1
  277. package/dist/components/RecordHistory/RecordHistoryLogEntry.js +10 -2
  278. package/dist/components/RecordHistory/RecordHistoryLogEntry.js.map +1 -1
  279. package/dist/components/RecordHistory/_queries/recordHistoryQuery.d.ts +7 -0
  280. package/dist/components/RecordHistory/_queries/recordHistoryQuery.js +64 -0
  281. package/dist/components/RecordHistory/_queries/recordHistoryQuery.js.map +1 -0
  282. package/dist/components/RecordHistory/hooks/useFetchRecordHistory.js +5 -2
  283. package/dist/components/RecordHistory/hooks/useFetchRecordHistory.js.map +1 -1
  284. package/dist/components/RecordHistory/utils/extendedAttribute.d.ts +13 -0
  285. package/dist/components/RecordHistory/utils/extendedAttribute.js +40 -0
  286. package/dist/components/RecordHistory/utils/extendedAttribute.js.map +1 -0
  287. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +1 -0
  288. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +7 -7
  289. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
  290. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +2 -1
  291. package/dist/components/SelectTreeNode/SelectTreeNode.js +3 -3
  292. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  293. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +2 -1
  294. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +6 -2
  295. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  296. package/dist/components/SelectTreeNode/TreeNodeTitle.js +5 -4
  297. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
  298. package/dist/constants.d.ts +1 -0
  299. package/dist/constants.js +1 -0
  300. package/dist/constants.js.map +1 -1
  301. package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +3 -1
  302. package/dist/hooks/useIFrameMessenger/messageHandlers.js +16 -0
  303. package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -1
  304. package/dist/hooks/useIFrameMessenger/schema.d.ts +6 -3
  305. package/dist/hooks/useIFrameMessenger/schema.js +2 -1
  306. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
  307. package/dist/hooks/useIFrameMessenger/types.d.ts +32 -2
  308. package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
  309. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +2 -0
  310. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +16 -2
  311. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js.map +1 -1
  312. package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.d.ts +2 -0
  313. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.d.ts +2 -0
  314. package/dist/locales/en/shared.json +23 -4
  315. package/dist/locales/fr/shared.json +23 -4
  316. package/dist/types/records.d.ts +1 -0
  317. package/dist/types/records.js.map +1 -1
  318. package/package.json +41 -43
  319. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js +0 -73
  320. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js.map +0 -1
  321. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.d.ts +0 -3
  322. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.js.map +0 -1
  323. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useExplorerLinkRecords.js.map +0 -1
  324. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js +0 -100
  325. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js.map +0 -1
  326. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.js +0 -13
  327. 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,11 @@
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",
314
+ "visible-by-default": "Value(s) visible by default",
315
+ "hidden-by-default": "Value(s) hidden by default",
316
+ "select-all": "Select All"
312
317
  },
313
318
  "filter-item": {
314
319
  "no-operator": "If"
@@ -439,6 +444,8 @@
439
444
  "delete_all": "Delete all",
440
445
  "delete_all_values": "Delete all values",
441
446
  "delete_all_values_confirm": "Do you really want to delete all values?",
447
+ "delete_link": "Delete link",
448
+ "delete_link_description": "Do you really want to delete the link?",
442
449
  "value_details_tooltip": "More details",
443
450
  "attribute": {
444
451
  "id": "Identifier",
@@ -538,7 +545,8 @@
538
545
  "unknown_attribute": "unknown attribute",
539
546
  "unknown_user": "unknown user",
540
547
  "show_history": "See full history ({{total}} entries)",
541
- "hide_history": "Hide history ({{total}} entries)"
548
+ "hide_history": "Hide history ({{total}} entries)",
549
+ "of": "of"
542
550
  },
543
551
  "view": {
544
552
  "views": "Views",
@@ -699,7 +707,6 @@
699
707
  "inactive": "Inactive sorts"
700
708
  },
701
709
  "toolbar": "Toolbar",
702
- "reset-filter": "Reset filter",
703
710
  "reset-view": "Reset view",
704
711
  "empty-data": "No items found.",
705
712
  "available-attributes": "Other available attributes",
@@ -755,6 +762,7 @@
755
762
  "editAttribute_value_occurrences_to_edit_one": "{{count, number}} element to edit",
756
763
  "editAttribute_value_occurrences_to_edit_other": "{{count, number}} elements to edit",
757
764
  "editAttribute_value_undefined": "Undefined",
765
+ "editAttribute_value_do_not_change": "Do not change",
758
766
  "editAttribute_submit_notification_title": "Bulk edit request",
759
767
  "editAttribute_submit_notification_description": "Your request to edit {{counter, number}} items has been received. You will be notified once the operation is complete.",
760
768
  "editAttribute_submit_error": "An error occurred while requesting a bulk edit. Please contact an administrator.",
@@ -776,6 +784,17 @@
776
784
  "deselect_all": "Deselect all items"
777
785
  }
778
786
  },
787
+ "export_profile_modal": {
788
+ "title": "Export",
789
+ "profile_label": "Choose an export profile",
790
+ "preview_label": "Preview of exported attributes",
791
+ "search_placeholder": "Search...",
792
+ "no_profiles": "No export profiles configured for this library",
793
+ "contact_admin": "Please contact an administrator to configure export profiles.",
794
+ "empty_columns": "(empty column)",
795
+ "export_button": "Export",
796
+ "error_title": "Export profile error"
797
+ },
779
798
  "add-existing-item": "Add existing item",
780
799
  "activate_item_one": "Activate this item?",
781
800
  "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,11 @@
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",
314
+ "visible-by-default": "Valeurs affichée(s) par défaut",
315
+ "hidden-by-default": "Valeurs masquée(s) par défaut",
316
+ "select-all": "Tout sélectionner"
312
317
  },
313
318
  "filter-item": {
314
319
  "no-operator": "Si"
@@ -439,6 +444,8 @@
439
444
  "delete_all": "Tout supprimer",
440
445
  "delete_all_values": "Supprimer toutes les valeurs",
441
446
  "delete_all_values_confirm": "Êtes-vous sûr de vouloir supprimer toutes les valeurs?",
447
+ "delete_link": "Supprimer la liaison",
448
+ "delete_link_description": "Êtes-vous sûr de vouloir supprimer la liaison?",
442
449
  "value_details_tooltip": "Plus d'informations",
443
450
  "attribute": {
444
451
  "id": "Identifiant",
@@ -538,7 +545,8 @@
538
545
  "unknown_attribute": "Attribut inconnu",
539
546
  "unknown_user": "Utilisateur inconnu",
540
547
  "show_history": "Voir tout l'historique ({{total}} événements)",
541
- "hide_history": "Masquer l'historique ({{total}} événements)"
548
+ "hide_history": "Masquer l'historique ({{total}} événements)",
549
+ "of": "de"
542
550
  },
543
551
  "view": {
544
552
  "views": "Vues",
@@ -697,7 +705,6 @@
697
705
  "inactive": "Tris inactifs"
698
706
  },
699
707
  "toolbar": "Barre d’outils",
700
- "reset-filter": "Réinitialiser le filtre",
701
708
  "reset-view": "Réinitialiser la vue",
702
709
  "empty-data": "Aucun élément trouvé.",
703
710
  "sort-ascending": "Ascendant",
@@ -755,6 +762,7 @@
755
762
  "editAttribute_value_occurrences_to_edit_one": "{{count, number}} élément à traiter",
756
763
  "editAttribute_value_occurrences_to_edit_other": "{{count, number}} éléments à traiter",
757
764
  "editAttribute_value_undefined": "Non défini",
765
+ "editAttribute_value_do_not_change": "Ne pas changer",
758
766
  "editAttribute_submit_notification_title": "Demande de modification en masse",
759
767
  "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
768
  "editAttribute_submit_error": "Une erreur est survenue lors de la demande d'une modification en masse. Veuillez contacter un administrateur.",
@@ -776,6 +784,17 @@
776
784
  "deselect_all": "Tout désélectionner"
777
785
  }
778
786
  },
787
+ "export_profile_modal": {
788
+ "title": "Export",
789
+ "profile_label": "Choisir un profil d'export",
790
+ "preview_label": "Aperçu des attributs exportés",
791
+ "search_placeholder": "Rechercher...",
792
+ "no_profiles": "Aucun profil d'export configuré pour cette librairie",
793
+ "contact_admin": "Veuillez contacter un administrateur pour configurer les profils d'export.",
794
+ "empty_columns": "(colonne vide)",
795
+ "export_button": "Exporter",
796
+ "error_title": "Erreur de profil d'export"
797
+ },
779
798
  "add-existing-item": "Ajouter un élément existant",
780
799
  "activate_item_one": "Activer cet élément ?",
781
800
  "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-143193eb",
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.29.0",
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",
62
- "typescript": "5.5.3",
63
- "vite": "7.2.2"
58
+ "ts-jest": "29.4.6",
59
+ "tsc-alias": "1.8.16",
60
+ "typescript": "5.9.3",
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,73 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { KitSelect } from 'aristid-ds';
3
- import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
4
- import { AttributeConditionFilter } from '../../../../types';
5
- import { RecordFilterCondition } from '../../../../_gqlTypes';
6
- import { SelectTreeNode } from '../../../../components/SelectTreeNode';
7
- import styled from 'styled-components';
8
- import { useConditionsOptionsByType } from './useConditionOptionsByType';
9
- const DivStyled = styled.div `
10
- max-height: 30rem;
11
- overflow: auto;
12
- `;
13
- export const TreeAttributeDropDown = ({ filter, onFilterChange, selectDropDownRef, }) => {
14
- const { t } = useSharedTranslation();
15
- const selectedNodesIds = (filter.nodes ?? []).map(node => node.nodeId);
16
- const { conditionOptionsByType: availableConditionsOptions } = useConditionsOptionsByType(filter);
17
- const _handleOnSelect = (node, selected) => {
18
- let newSelectedIds;
19
- if (selected) {
20
- newSelectedIds = [...selectedNodesIds, node.id];
21
- }
22
- else {
23
- newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.id);
24
- }
25
- onFilterChange({
26
- ...filter,
27
- nodes: newSelectedIds.map(id => ({ nodeId: id, libraryId: node.record.whoAmI.library.id })),
28
- });
29
- };
30
- const _onConditionChanged = condition => onFilterChange({ ...filter, condition });
31
- const _getRecursiveChildrenRecord = (nodes) => {
32
- const records = [];
33
- const collectRecordIdsRecursively = (nodeList) => {
34
- for (const node of nodeList) {
35
- if (node.id === filter.attribute.linkedTree?.id) {
36
- continue;
37
- }
38
- if (node.record) {
39
- records.push(node.record);
40
- }
41
- if (node.children && node.children.length > 0) {
42
- collectRecordIdsRecursively(node.children);
43
- }
44
- }
45
- };
46
- collectRecordIdsRecursively(nodes);
47
- // Delete duplicates
48
- return Array.from(new Set(records));
49
- };
50
- const _getRecursiveFieldsFromLibraries = (nodes) => nodes
51
- .filter(node => !!node.record?.whoAmI?.library?.id)
52
- .map(node => `${filter.attribute.id}.${node.record?.whoAmI?.library?.id}.id`);
53
- const _handleOnCheck = (selection) => {
54
- const newSelectedNodes = selection.filter(node => !node?.disabled);
55
- const records = _getRecursiveChildrenRecord(selection);
56
- const fields = _getRecursiveFieldsFromLibraries(selection);
57
- onFilterChange({
58
- ...filter,
59
- nodes: newSelectedNodes.map(node => ({
60
- nodeId: node.id,
61
- libraryId: node.record?.whoAmI.library.id ?? records[0]?.whoAmI.library.id ?? '',
62
- })),
63
- value: records.map(record => record.id),
64
- formattedValue: records.map(record => record.whoAmI.label).filter(Boolean),
65
- condition: filter.condition ?? RecordFilterCondition.EQUAL,
66
- field: fields,
67
- });
68
- };
69
- const showSearch = filter.condition &&
70
- ![AttributeConditionFilter.IS_EMPTY, AttributeConditionFilter.IS_NOT_EMPTY].includes(filter.condition);
71
- return (_jsxs(DivStyled, { children: [_jsx(KitSelect, { options: availableConditionsOptions, onChange: _onConditionChanged, value: filter.condition, getPopupContainer: () => selectDropDownRef?.current ?? document.body, "aria-label": String(t('explorer.filter-link-condition')) }), showSearch && (_jsx(SelectTreeNode, { treeId: filter.attribute.linkedTree?.id ?? '', selectedNodes: selectedNodesIds, onSelect: _handleOnSelect, onCheck: _handleOnCheck, multiple: true, canSelectRoot: true, checkStrictly: false, checkable: true, loadRecursively: true, noPagination: true }))] }));
72
- };
73
- //# sourceMappingURL=TreeAttributeDropDown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeAttributeDropDown.js","sourceRoot":"","sources":["../../../../../src/components/Filters/filter-items/filter-type/TreeAttributeDropDown.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 ComponentProps, type FunctionComponent, useEffect, useState} from 'react';\nimport {KitSelect} from 'aristid-ds';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {AttributeConditionFilter, type IRecordIdentity, type ITreeNodeWithRecord} from '_ui/types';\nimport {RecordFilterCondition} from '_ui/_gqlTypes';\nimport {type IFilterChildrenTreeDropDownProps} from './_types';\nimport {SelectTreeNode} from '_ui/components/SelectTreeNode';\nimport styled from 'styled-components';\nimport {useConditionsOptionsByType} from './useConditionOptionsByType';\n\nconst DivStyled = styled.div`\n max-height: 30rem;\n overflow: auto;\n`;\n\nexport const TreeAttributeDropDown: FunctionComponent<IFilterChildrenTreeDropDownProps> = ({\n filter,\n onFilterChange,\n selectDropDownRef,\n}) => {\n const {t} = useSharedTranslation();\n\n const selectedNodesIds = (filter.nodes ?? []).map(node => node.nodeId);\n\n const {conditionOptionsByType: availableConditionsOptions} = useConditionsOptionsByType(filter);\n\n const _handleOnSelect = (node: ITreeNodeWithRecord, selected: boolean) => {\n let newSelectedIds: string[];\n if (selected) {\n newSelectedIds = [...selectedNodesIds, node.id];\n } else {\n newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.id);\n }\n onFilterChange({\n ...filter,\n nodes: newSelectedIds.map(id => ({nodeId: id, libraryId: node.record.whoAmI.library.id})),\n });\n };\n\n const _onConditionChanged: ComponentProps<typeof KitSelect>['onChange'] = condition =>\n onFilterChange({...filter, condition});\n\n const _getRecursiveChildrenRecord = (nodes: ITreeNodeWithRecord[]): IRecordIdentity[] => {\n const records: IRecordIdentity[] = [];\n const collectRecordIdsRecursively = (nodeList: ITreeNodeWithRecord[]) => {\n for (const node of nodeList) {\n if (node.id === filter.attribute.linkedTree?.id) {\n continue;\n }\n if (node.record) {\n records.push(node.record);\n }\n if (node.children && node.children.length > 0) {\n collectRecordIdsRecursively(node.children);\n }\n }\n };\n collectRecordIdsRecursively(nodes);\n // Delete duplicates\n return Array.from(new Set(records));\n };\n const _getRecursiveFieldsFromLibraries = (nodes: ITreeNodeWithRecord[]): string[] =>\n nodes\n .filter(node => !!node.record?.whoAmI?.library?.id)\n .map(node => `${filter.attribute.id}.${node.record?.whoAmI?.library?.id}.id`);\n\n const _handleOnCheck = (selection: ITreeNodeWithRecord[]) => {\n const newSelectedNodes = selection.filter(node => !node?.disabled);\n\n const records = _getRecursiveChildrenRecord(selection);\n const fields = _getRecursiveFieldsFromLibraries(selection);\n\n onFilterChange({\n ...filter,\n nodes: newSelectedNodes.map(node => ({\n nodeId: node.id,\n libraryId: node.record?.whoAmI.library.id ?? records[0]?.whoAmI.library.id ?? '',\n })),\n value: records.map(record => record.id),\n formattedValue: records.map(record => record.whoAmI.label).filter(Boolean),\n condition: filter.condition ?? RecordFilterCondition.EQUAL,\n field: fields,\n });\n };\n\n const showSearch =\n filter.condition &&\n ![AttributeConditionFilter.IS_EMPTY, AttributeConditionFilter.IS_NOT_EMPTY].includes(filter.condition);\n\n return (\n <DivStyled>\n <KitSelect\n options={availableConditionsOptions}\n onChange={_onConditionChanged}\n value={filter.condition}\n getPopupContainer={() => selectDropDownRef?.current ?? document.body}\n aria-label={String(t('explorer.filter-link-condition'))}\n />\n {showSearch && (\n <SelectTreeNode\n treeId={filter.attribute.linkedTree?.id ?? ''}\n selectedNodes={selectedNodesIds}\n onSelect={_handleOnSelect}\n onCheck={_handleOnCheck}\n multiple\n canSelectRoot={true}\n checkStrictly={false}\n checkable\n loadRecursively={true}\n noPagination={true}\n />\n )}\n </DivStyled>\n );\n};\n"]}
@@ -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