@leav/ui 0.4.0-68fec6f → 0.4.0-6da2515

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 (376) hide show
  1. package/dist/__mocks__/common/form.js +5 -1
  2. package/dist/__mocks__/common/form.js.map +1 -1
  3. package/dist/__mocks__/common/value.d.ts +1 -2
  4. package/dist/__mocks__/common/value.js +0 -11
  5. package/dist/__mocks__/common/value.js.map +1 -1
  6. package/dist/_gqlTypes/index.d.ts +1200 -59
  7. package/dist/_gqlTypes/index.js +232 -1
  8. package/dist/_gqlTypes/index.js.map +1 -1
  9. package/dist/_queries/attributes/attributeDetailsFragment.js +1 -0
  10. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  11. package/dist/_queries/records/activateRecordsMutation.d.ts +1 -0
  12. package/dist/_queries/records/activateRecordsMutation.js +15 -0
  13. package/dist/_queries/records/activateRecordsMutation.js.map +1 -0
  14. package/dist/_queries/records/getRecordFormQuery.js +13 -0
  15. package/dist/_queries/records/getRecordFormQuery.js.map +1 -1
  16. package/dist/components/CreateDirectory/CreateDirectory.js +4 -4
  17. package/dist/components/CreateDirectory/CreateDirectory.js.map +1 -1
  18. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/DeleteButton/DeleteButton.js +3 -2
  19. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/DeleteButton/DeleteButton.js.map +1 -1
  20. package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.js +8 -1
  21. package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.js.map +1 -1
  22. package/dist/components/ErrorBoundary/ErrorBoundaryContent/ErrorBoundaryContent.d.ts +2 -2
  23. package/dist/components/ErrorBoundary/ErrorBoundaryContent/ErrorBoundaryContent.js +4 -3
  24. package/dist/components/ErrorBoundary/ErrorBoundaryContent/ErrorBoundaryContent.js.map +1 -1
  25. package/dist/components/Explorer/DataView.d.ts +2 -1
  26. package/dist/components/Explorer/DataView.js +31 -11
  27. package/dist/components/Explorer/DataView.js.map +1 -1
  28. package/dist/components/Explorer/Explorer.d.ts +7 -4
  29. package/dist/components/Explorer/Explorer.js +26 -11
  30. package/dist/components/Explorer/Explorer.js.map +1 -1
  31. package/dist/components/Explorer/ExplorerToolbar.js +4 -3
  32. package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
  33. package/dist/components/Explorer/IdCard.js +1 -1
  34. package/dist/components/Explorer/IdCard.js.map +1 -1
  35. package/dist/components/Explorer/TableCell.js +22 -11
  36. package/dist/components/Explorer/TableCell.js.map +1 -1
  37. package/dist/components/Explorer/TableTagGroup.d.ts +0 -1
  38. package/dist/components/Explorer/TableTagGroup.js +3 -16
  39. package/dist/components/Explorer/TableTagGroup.js.map +1 -1
  40. package/dist/components/Explorer/_constants.d.ts +3 -0
  41. package/dist/components/Explorer/_constants.js +3 -0
  42. package/dist/components/Explorer/_constants.js.map +1 -1
  43. package/dist/components/Explorer/_queries/useExplorerData.d.ts +1 -0
  44. package/dist/components/Explorer/_queries/useExplorerData.js +22 -12
  45. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  46. package/dist/components/Explorer/_types.d.ts +10 -3
  47. package/dist/components/Explorer/_types.js.map +1 -1
  48. package/dist/components/Explorer/actions-item/useEditItemAction.d.ts +2 -1
  49. package/dist/components/Explorer/actions-item/useEditItemAction.js +4 -2
  50. package/dist/components/Explorer/actions-item/useEditItemAction.js.map +1 -1
  51. package/dist/components/Explorer/actions-item/{useRemoveItemAction.d.ts → useEditStatusItemAction.d.ts} +4 -2
  52. package/dist/components/Explorer/actions-item/{useRemoveItemAction.js → useEditStatusItemAction.js} +81 -24
  53. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -0
  54. package/dist/components/Explorer/actions-item/useReplaceItemAction.d.ts +21 -0
  55. package/dist/components/Explorer/actions-item/useReplaceItemAction.js +42 -0
  56. package/dist/components/Explorer/actions-item/useReplaceItemAction.js.map +1 -0
  57. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.d.ts +2 -1
  58. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js +12 -3
  59. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js.map +1 -1
  60. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js +5 -5
  61. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js.map +1 -1
  62. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +4 -1
  63. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +22 -7
  64. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  65. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.d.ts +5 -2
  66. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js +20 -4
  67. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js.map +1 -1
  68. package/dist/components/Explorer/link-item/LinkModal.d.ts +2 -0
  69. package/dist/components/Explorer/link-item/LinkModal.js +14 -4
  70. package/dist/components/Explorer/link-item/LinkModal.js.map +1 -1
  71. package/dist/components/Explorer/link-item/{useLinkMassAction.d.ts → useAddLinkMassAction.d.ts} +1 -1
  72. package/dist/components/Explorer/link-item/{useLinkMassAction.js → useAddLinkMassAction.js} +2 -2
  73. package/dist/components/Explorer/link-item/useAddLinkMassAction.js.map +1 -0
  74. package/dist/components/Explorer/link-item/useReplaceLinkMassAction.d.ts +23 -0
  75. package/dist/components/Explorer/link-item/useReplaceLinkMassAction.js +35 -0
  76. package/dist/components/Explorer/link-item/useReplaceLinkMassAction.js.map +1 -0
  77. package/dist/components/Explorer/manage-view-settings/_shared/useAttributeDetailsData.js +11 -9
  78. package/dist/components/Explorer/manage-view-settings/_shared/useAttributeDetailsData.js.map +1 -1
  79. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.d.ts +4 -0
  80. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js +4 -0
  81. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js.map +1 -1
  82. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js +1 -1
  83. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js.map +1 -1
  84. package/dist/components/Explorer/useColumnWidth.js +2 -1
  85. package/dist/components/Explorer/useColumnWidth.js.map +1 -1
  86. package/dist/components/Explorer/useLoadView.js +4 -2
  87. package/dist/components/Explorer/useLoadView.js.map +1 -1
  88. package/dist/components/Explorer/usePagination.d.ts +2 -1
  89. package/dist/components/Explorer/usePagination.js.map +1 -1
  90. package/dist/components/Explorer/useSearchInput.d.ts +3 -1
  91. package/dist/components/Explorer/useSearchInput.js +2 -1
  92. package/dist/components/Explorer/useSearchInput.js.map +1 -1
  93. package/dist/components/Explorer/useViewSettingsReducer.d.ts +1 -1
  94. package/dist/components/Explorer/useViewSettingsReducer.js +43 -19
  95. package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
  96. package/dist/components/ImportModal/ImportModalConfigStep/ImportModalConfigStep.js +1 -1
  97. package/dist/components/ImportModal/ImportModalConfigStep/ImportModalConfigStep.js.map +1 -1
  98. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js +1 -0
  99. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js.map +1 -1
  100. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +3 -3
  101. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +1 -1
  102. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.utils.js +2 -2
  103. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.utils.js.map +1 -1
  104. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.d.ts +4 -0
  105. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js +4 -1
  106. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js.map +1 -1
  107. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js +3 -3
  108. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js.map +1 -1
  109. package/dist/components/LinkSelect/LinkSelect.d.ts +15 -0
  110. package/dist/components/LinkSelect/LinkSelect.js +88 -0
  111. package/dist/components/LinkSelect/LinkSelect.js.map +1 -0
  112. package/dist/components/LinkSelect/index.d.ts +2 -0
  113. package/dist/components/{SelectTreeNodeModal → LinkSelect}/index.js +2 -1
  114. package/dist/components/LinkSelect/index.js.map +1 -0
  115. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +2 -4
  116. package/dist/components/RecordEdition/EditRecord/EditRecord.js +37 -39
  117. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  118. package/dist/components/RecordEdition/EditRecordButtons/EditRecordButtons.d.ts +2 -0
  119. package/dist/components/RecordEdition/EditRecordButtons/EditRecordButtons.js +43 -0
  120. package/dist/components/RecordEdition/EditRecordButtons/EditRecordButtons.js.map +1 -0
  121. package/dist/components/RecordEdition/EditRecordButtons/SidebarButton.d.ts +2 -0
  122. package/dist/components/RecordEdition/EditRecordButtons/SidebarButton.js +25 -0
  123. package/dist/components/RecordEdition/EditRecordButtons/SidebarButton.js.map +1 -0
  124. package/dist/components/RecordEdition/EditRecordButtons/index.d.ts +2 -0
  125. package/dist/components/RecordEdition/{EditRecordContent/uiElements/TreeField/TreeFieldValue → EditRecordButtons}/index.js +2 -2
  126. package/dist/components/RecordEdition/EditRecordButtons/index.js.map +1 -0
  127. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.d.ts +3 -1
  128. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js +12 -3
  129. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js.map +1 -1
  130. package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +5 -0
  131. package/dist/components/RecordEdition/EditRecordContent/_types.js.map +1 -1
  132. package/dist/components/RecordEdition/EditRecordContent/formConstants.d.ts +1 -0
  133. package/dist/components/RecordEdition/EditRecordContent/formConstants.js +1 -0
  134. package/dist/components/RecordEdition/EditRecordContent/formConstants.js.map +1 -1
  135. package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.d.ts +1 -1
  136. package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js +2 -2
  137. package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js.map +1 -1
  138. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.d.ts +8 -2
  139. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +103 -92
  140. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
  141. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useEditRecord.d.ts +5 -0
  142. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useEditRecord.js +39 -0
  143. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useEditRecord.js.map +1 -0
  144. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useUnselectRecord.d.ts +8 -0
  145. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useUnselectRecord.js +23 -0
  146. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useUnselectRecord.js.map +1 -0
  147. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-mass/useUnselectAllRecords.d.ts +9 -0
  148. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-mass/useUnselectAllRecords.js +23 -0
  149. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-mass/useUnselectAllRecords.js.map +1 -0
  150. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useCreateRecord.d.ts +8 -0
  151. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useCreateRecord.js +26 -0
  152. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useCreateRecord.js.map +1 -0
  153. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useRecordSelector.d.ts +12 -0
  154. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useRecordSelector.js +24 -0
  155. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useRecordSelector.js.map +1 -0
  156. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecords.d.ts +19 -0
  157. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecords.js +103 -0
  158. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecords.js.map +1 -0
  159. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.d.ts +22 -0
  160. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js +104 -0
  161. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js.map +1 -0
  162. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecords.d.ts +22 -0
  163. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecords.js +85 -0
  164. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecords.js.map +1 -0
  165. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.d.ts +28 -0
  166. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js +311 -0
  167. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js.map +1 -0
  168. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.d.ts +265 -0
  169. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.js +13 -0
  170. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.js.map +1 -0
  171. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/LinkActionsButtons.d.ts +9 -0
  172. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/LinkActionsButtons.js +15 -0
  173. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/LinkActionsButtons.js.map +1 -0
  174. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/utils.d.ts +4 -0
  175. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/utils.js +22 -0
  176. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/utils.js.map +1 -0
  177. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +35 -48
  178. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  179. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js +1 -2
  180. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js.map +1 -1
  181. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js +1 -2
  182. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js.map +1 -1
  183. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js +1 -2
  184. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js.map +1 -1
  185. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputEncryptedWrapper.js +2 -5
  186. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputEncryptedWrapper.js.map +1 -1
  187. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js +1 -2
  188. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js.map +1 -1
  189. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +1 -2
  190. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
  191. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js +1 -2
  192. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js.map +1 -1
  193. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +1 -2
  194. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
  195. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.d.ts +2 -3
  196. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +2 -3
  197. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
  198. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js +5 -8
  199. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js.map +1 -1
  200. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/_types.d.ts +1 -2
  201. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.d.ts +4 -2
  202. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +68 -215
  203. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
  204. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.d.ts +265 -0
  205. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.js +13 -0
  206. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.js.map +1 -0
  207. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.d.ts +11 -0
  208. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +51 -0
  209. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -0
  210. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.d.ts +12 -0
  211. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js +8 -0
  212. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js.map +1 -0
  213. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +34 -0
  214. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +47 -0
  215. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -0
  216. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +23 -0
  217. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +145 -0
  218. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -0
  219. package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/ComputeIndicator.d.ts +4 -2
  220. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js.map +1 -0
  221. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/DeleteAllValuesButton.d.ts +8 -0
  222. package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/DeleteAllValuesButton.js +2 -2
  223. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/DeleteAllValuesButton.js.map +1 -0
  224. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js.map +1 -0
  225. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.d.ts +17 -0
  226. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.js +76 -0
  227. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.js.map +1 -0
  228. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.d.ts +4 -0
  229. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +51 -51
  230. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js.map +1 -1
  231. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +3 -1
  232. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +9 -7
  233. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  234. package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/Breadcrumb.js +2 -2
  235. package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/Breadcrumb.js.map +1 -1
  236. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.d.ts +0 -1
  237. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js +18 -12
  238. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js.map +1 -1
  239. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js +3 -0
  240. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js.map +1 -1
  241. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js +2 -2
  242. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js.map +1 -1
  243. package/dist/components/RecordEdition/constants.d.ts +2 -0
  244. package/dist/components/RecordEdition/constants.js +6 -0
  245. package/dist/components/RecordEdition/constants.js.map +1 -0
  246. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.d.ts +29 -3
  247. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +65 -5
  248. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
  249. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.d.ts +1 -1
  250. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js +3 -3
  251. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js.map +1 -1
  252. package/dist/components/RecordEdition/index.d.ts +3 -0
  253. package/dist/components/RecordEdition/index.js +3 -0
  254. package/dist/components/RecordEdition/index.js.map +1 -1
  255. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +4 -1
  256. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +8 -6
  257. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
  258. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +3 -1
  259. package/dist/components/SelectTreeNode/SelectTreeNode.js +4 -4
  260. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  261. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +3 -1
  262. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +14 -6
  263. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  264. package/dist/components/SelectTreeNode/SelectTreeNodeContentSkeleton.d.ts +2 -0
  265. package/dist/components/SelectTreeNode/SelectTreeNodeContentSkeleton.js +17 -0
  266. package/dist/components/SelectTreeNode/SelectTreeNodeContentSkeleton.js.map +1 -0
  267. package/dist/components/SelectTreeNode/TreeNodeTitle.d.ts +9 -0
  268. package/dist/components/SelectTreeNode/TreeNodeTitle.js +8 -0
  269. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -0
  270. package/dist/components/{SelectTreeNodeModal/SelectTreeNodeModal.d.ts → SelectTreeNodeModalOld/SelectTreeNodeModalOld.d.ts} +1 -1
  271. package/dist/components/{SelectTreeNodeModal/SelectTreeNodeModal.js → SelectTreeNodeModalOld/SelectTreeNodeModalOld.js} +5 -3
  272. package/dist/components/SelectTreeNodeModalOld/SelectTreeNodeModalOld.js.map +1 -0
  273. package/dist/components/SelectTreeNodeModalOld/index.d.ts +1 -0
  274. package/dist/components/{RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd → SelectTreeNodeModalOld}/index.js +1 -2
  275. package/dist/components/SelectTreeNodeModalOld/index.js.map +1 -0
  276. package/dist/components/SimpleErrorBoundary/SimpleErrorBoundary.d.ts +1 -1
  277. package/dist/components/SimpleErrorBoundary/SimpleErrorBoundary.js.map +1 -1
  278. package/dist/components/SimpleErrorBoundary/SimpleErrorBoundaryContent/SimpleErrorBoundaryContent.d.ts +2 -2
  279. package/dist/components/SimpleErrorBoundary/SimpleErrorBoundaryContent/SimpleErrorBoundaryContent.js +6 -3
  280. package/dist/components/SimpleErrorBoundary/SimpleErrorBoundaryContent/SimpleErrorBoundaryContent.js.map +1 -1
  281. package/dist/components/UploadFiles/UploadFiles.js +4 -4
  282. package/dist/components/UploadFiles/UploadFiles.js.map +1 -1
  283. package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js +2 -2
  284. package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js.map +1 -1
  285. package/dist/components/index.d.ts +1 -2
  286. package/dist/components/index.js +1 -2
  287. package/dist/components/index.js.map +1 -1
  288. package/dist/constants.d.ts +3 -1
  289. package/dist/constants.js +3 -1
  290. package/dist/constants.js.map +1 -1
  291. package/dist/contexts/LangContext/LangContext.d.ts +1 -2
  292. package/dist/contexts/LangContext/LangContext.js +2 -2
  293. package/dist/contexts/LangContext/LangContext.js.map +1 -1
  294. package/dist/hooks/index.d.ts +1 -0
  295. package/dist/hooks/index.js +1 -0
  296. package/dist/hooks/index.js.map +1 -1
  297. package/dist/hooks/useAppLang/useAppLang.js.map +1 -1
  298. package/dist/hooks/useGetRecordForm/useGetRecordForm.js +1 -1
  299. package/dist/hooks/useGetRecordForm/useGetRecordForm.js.map +1 -1
  300. package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +14 -0
  301. package/dist/hooks/useIFrameMessenger/messageHandlers.js +118 -0
  302. package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -0
  303. package/dist/hooks/useIFrameMessenger/schema.d.ts +20 -0
  304. package/dist/hooks/useIFrameMessenger/schema.js +75 -0
  305. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -0
  306. package/dist/hooks/useIFrameMessenger/types.d.ts +104 -0
  307. package/dist/hooks/useIFrameMessenger/types.js +2 -0
  308. package/dist/hooks/useIFrameMessenger/types.js.map +1 -0
  309. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +11 -0
  310. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +73 -0
  311. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js.map +1 -0
  312. package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js +1 -1
  313. package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js.map +1 -1
  314. package/dist/locales/en/shared.json +16 -1
  315. package/dist/locales/fr/shared.json +16 -1
  316. package/dist/types/attributes.d.ts +2 -1
  317. package/dist/types/trees.d.ts +1 -0
  318. package/package.json +8 -6
  319. package/dist/components/Explorer/actions-item/useRemoveItemAction.js.map +0 -1
  320. package/dist/components/Explorer/link-item/useLinkMassAction.js.map +0 -1
  321. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/FloatingMenuHandler.d.ts +0 -14
  322. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/FloatingMenuHandler.js +0 -29
  323. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/FloatingMenuHandler.js.map +0 -1
  324. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/index.d.ts +0 -2
  325. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/index.js +0 -6
  326. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/index.js.map +0 -1
  327. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/MonoValueSelect.d.ts +0 -20
  328. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/MonoValueSelect.js +0 -53
  329. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/MonoValueSelect.js.map +0 -1
  330. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/useGetOptionsQuery.d.ts +0 -19
  331. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/useGetOptionsQuery.js +0 -111
  332. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/useGetOptionsQuery.js.map +0 -1
  333. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/MultiValueSelect.d.ts +0 -20
  334. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/MultiValueSelect.js +0 -71
  335. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/MultiValueSelect.js.map +0 -1
  336. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/useGetOptionsQuery.d.ts +0 -14
  337. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/useGetOptionsQuery.js +0 -58
  338. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/useGetOptionsQuery.js.map +0 -1
  339. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/RecordIdentityCell.d.ts +0 -6
  340. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/RecordIdentityCell.js +0 -11
  341. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/RecordIdentityCell.js.map +0 -1
  342. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/index.d.ts +0 -2
  343. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/index.js +0 -6
  344. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/index.js.map +0 -1
  345. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/QuickSearch.d.ts +0 -13
  346. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/QuickSearch.js +0 -50
  347. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/QuickSearch.js.map +0 -1
  348. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/index.d.ts +0 -2
  349. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/index.js +0 -6
  350. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/index.js.map +0 -1
  351. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/ValuesAdd.d.ts +0 -9
  352. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/ValuesAdd.js +0 -215
  353. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/ValuesAdd.js.map +0 -1
  354. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/index.d.ts +0 -2
  355. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/index.js.map +0 -1
  356. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/ComputeIndicator.js.map +0 -1
  357. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/DeleteAllValuesButton.d.ts +0 -4
  358. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/DeleteAllValuesButton.js.map +0 -1
  359. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/calculatedInheritedFlags.js.map +0 -1
  360. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/TreeFieldValue.d.ts +0 -10
  361. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/TreeFieldValue.js +0 -50
  362. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/TreeFieldValue.js.map +0 -1
  363. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/index.d.ts +0 -2
  364. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/index.js.map +0 -1
  365. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/ValuesAdd.d.ts +0 -9
  366. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/ValuesAdd.js +0 -106
  367. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/ValuesAdd.js.map +0 -1
  368. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/index.d.ts +0 -2
  369. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/index.js +0 -6
  370. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/index.js.map +0 -1
  371. package/dist/components/SelectTreeNodeModal/SelectTreeNodeModal.js.map +0 -1
  372. package/dist/components/SelectTreeNodeModal/index.d.ts +0 -1
  373. package/dist/components/SelectTreeNodeModal/index.js.map +0 -1
  374. /package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/ComputeIndicator.js +0 -0
  375. /package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/calculatedInheritedFlags.d.ts +0 -0
  376. /package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/calculatedInheritedFlags.js +0 -0
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx } 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 { useMemo, useState } from 'react';
6
+ import { FaExchangeAlt } from 'react-icons/fa';
7
+ import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
8
+ import { LinkModal } from '../link-item/LinkModal';
9
+ /**
10
+ * Hook used to get the action for `<DataView />` component.
11
+ *
12
+ * When the mutation for replaceing is done, the Apollo cache will be refreshed (`Record` and `RecordIdentity`)
13
+ * from only replaceed record.
14
+ *
15
+ * It returns also two parts : one for the action button call - one for displaying the modal required by the action.
16
+ *
17
+ * @param isEnabled - whether the action is present
18
+ * @param onReplace - callback to let outside world know about replacing feedback
19
+ * @param canReplaceLinkValues - check permission to delete link values
20
+ */
21
+ export const useReplaceItemAction = ({ isEnabled, onReplace, canReplaceLinkValues }) => {
22
+ const { t } = useSharedTranslation();
23
+ const [isReplaceModalOpen, setIsReplaceModalOpen] = useState(false);
24
+ const [linkIdSelected, setLinkIdSelected] = useState();
25
+ const _replaceItemAction = useMemo(() => ({
26
+ label: t('explorer.replace-item'),
27
+ icon: _jsx(FaExchangeAlt, {}),
28
+ disabled: !canReplaceLinkValues,
29
+ callback: item => {
30
+ setLinkIdSelected(item.id_value);
31
+ setIsReplaceModalOpen(!isReplaceModalOpen);
32
+ }
33
+ }), [canReplaceLinkValues]);
34
+ const replaceAction = useMemo(() => ({
35
+ replaceItemAction: isEnabled ? _replaceItemAction : null,
36
+ replaceItemModal: isEnabled && isReplaceModalOpen ? (_jsx(LinkModal, { open: true, linkId: linkIdSelected, onReplace: onReplace, onClose: () => {
37
+ setIsReplaceModalOpen(false);
38
+ } })) : null
39
+ }), [isEnabled, isReplaceModalOpen, _replaceItemAction]);
40
+ return replaceAction;
41
+ };
42
+ //# sourceMappingURL=useReplaceItemAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReplaceItemAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-item/useReplaceItemAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAGjD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACjC,SAAS,EACT,SAAS,EACT,oBAAoB,EAItB,EAAE,EAAE;IACF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAE3E,MAAM,kBAAkB,GAAgB,OAAO,CAC3C,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC;QACjC,IAAI,EAAE,KAAC,aAAa,KAAG;QACvB,QAAQ,EAAE,CAAC,oBAAoB;QAC/B,QAAQ,EAAE,IAAI,CAAC,EAAE;YACb,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,qBAAqB,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC/C,CAAC;KACJ,CAAC,EACF,CAAC,oBAAoB,CAAC,CACzB,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC;QACH,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI;QACxD,gBAAgB,EACZ,SAAS,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAC9B,KAAC,SAAS,IACN,IAAI,QACJ,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE;gBACV,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,GACH,CACL,CAAC,CAAC,CAAC,IAAI;KACf,CAAC,EACF,CAAC,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CACtD,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC"}
@@ -15,12 +15,13 @@ import type { useExplorerData } from '../_queries/useExplorerData';
15
15
  * @param allVisibleKeys - list of all visible keys used to know if we need to change page
16
16
  * @param refetch - method to get fresh data when we delete last page
17
17
  */
18
- export declare const useDeactivateMassAction: ({ isEnabled, store: { view, dispatch }, allVisibleKeys, onDeactivate, refetch }: FeatureHook<{
18
+ export declare const useDeactivateMassAction: ({ isEnabled, store: { view, dispatch }, allVisibleKeys, totalCount, onDeactivate, refetch }: FeatureHook<{
19
19
  store: {
20
20
  view: IViewSettingsState;
21
21
  dispatch: Dispatch<IViewSettingsAction>;
22
22
  };
23
23
  allVisibleKeys: string[];
24
+ totalCount: number;
24
25
  onDeactivate?: IMassActions["callback"];
25
26
  refetch: ReturnType<typeof useExplorerData>["refetch"];
26
27
  }>) => {
@@ -4,7 +4,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
5
  import { useMemo } from 'react';
6
6
  import { FaTrash } from 'react-icons/fa';
7
- import { KitModal } from 'aristid-ds';
7
+ import { KitModal, useKitNotification } from 'aristid-ds';
8
8
  import { useDeactivateRecordsMutation } from '../../../_gqlTypes';
9
9
  import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
10
10
  import { ViewSettingsActionTypes } from '../manage-view-settings';
@@ -22,8 +22,9 @@ import { MASS_SELECTION_ALL } from '../_constants';
22
22
  * @param allVisibleKeys - list of all visible keys used to know if we need to change page
23
23
  * @param refetch - method to get fresh data when we delete last page
24
24
  */
25
- export const useDeactivateMassAction = ({ isEnabled, store: { view, dispatch }, allVisibleKeys, onDeactivate, refetch }) => {
25
+ export const useDeactivateMassAction = ({ isEnabled, store: { view, dispatch }, allVisibleKeys, totalCount, onDeactivate, refetch }) => {
26
26
  const { t } = useSharedTranslation();
27
+ const { kitNotification } = useKitNotification();
27
28
  const [deactivateRecordsMutation] = useDeactivateRecordsMutation();
28
29
  const _deactivateMassAction = useMemo(() => ({
29
30
  label: t('explorer.massAction.deactivate'),
@@ -38,12 +39,20 @@ export const useDeactivateMassAction = ({ isEnabled, store: { view, dispatch },
38
39
  okText: t('global.submit') ?? undefined,
39
40
  cancelText: t('global.cancel') ?? undefined,
40
41
  onOk: async () => {
41
- await deactivateRecordsMutation({
42
+ const { data } = await deactivateRecordsMutation({
42
43
  variables: {
43
44
  libraryId: view.libraryId,
44
45
  filters: massSelectionFilter
45
46
  }
46
47
  });
48
+ const total = view.massSelection === MASS_SELECTION_ALL ? totalCount : view.massSelection.length;
49
+ kitNotification.info({
50
+ message: t('explorer.massAction.deactivate_message', {
51
+ count: data?.deactivateRecords.length,
52
+ total
53
+ }),
54
+ description: null
55
+ });
47
56
  if (view.massSelection === MASS_SELECTION_ALL ||
48
57
  allVisibleKeys.every(key => view.massSelection.includes(key))) {
49
58
  await refetch({
@@ -1 +1 @@
1
- {"version":3,"file":"useDeactivateMassAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useDeactivateMassAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAW,OAAO,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAA0C,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AACzG,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAGjD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACpC,SAAS,EACT,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EACvB,cAAc,EACd,YAAY,EACZ,OAAO,EAST,EAAE,EAAE;IACF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,CAAC,yBAAyB,CAAC,GAAG,4BAA4B,EAAE,CAAC;IAEnE,MAAM,qBAAqB,GAAiB,OAAO,CAC/C,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,CAAC,CAAC,gCAAgC,CAAC;QAC1C,IAAI,EAAE,KAAC,OAAO,KAAG;QACjB,QAAQ,EAAE,mBAAmB,CAAC,EAAE;YAC5B,QAAQ,CAAC,OAAO,CAAC;gBACb,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,CAAC,CAAC,8BAA8B,EAAE;oBACvC,KAAK,EAAE,IAAI,CAAC,aAAa,KAAK,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;iBAC1F,CAAC;gBACF,MAAM,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,SAAS;gBACvC,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,SAAS;gBAC3C,IAAI,EAAE,KAAK,IAAI,EAAE;oBACb,MAAM,yBAAyB,CAAC;wBAC5B,SAAS,EAAE;4BACP,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,OAAO,EAAE,mBAAmB;yBAC/B;qBACJ,CAAC,CAAC;oBACH,IACI,IAAI,CAAC,aAAa,KAAK,kBAAkB;wBACzC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC/D,CAAC;wBACC,MAAM,OAAO,CAAC;4BACV,UAAU,EAAE;gCACR,KAAK,EAAE,IAAI,CAAC,QAAQ;gCACpB,MAAM,EAAE,CAAC;6BACZ;yBACJ,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACJ,MAAM,OAAO,EAAE,CAAC;oBACpB,CAAC;oBACD,YAAY,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oBACxD,QAAQ,CAAC;wBACL,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;wBAC/C,OAAO,EAAE,EAAE;qBACd,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;KACJ,CAAC,EACF,CAAC,CAAC,EAAE,yBAAyB,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,CACxG,CAAC;IAEF,OAAO;QACH,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI;KACjE,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"useDeactivateMassAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useDeactivateMassAction.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export const useDeleteLinkValues = ({ isEnabled, store: { view, dispatch }, pagi
14
14
  const { t } = useSharedTranslation();
15
15
  const { saveValues } = useSaveValueBatchMutation();
16
16
  const isLink = view.entrypoint.type === 'link';
17
- const { data: linkData } = useExplorerData({
17
+ const { data: linkData, canEditLinkAttributeValues: canUnlinkValues } = useExplorerData({
18
18
  entrypoint: view.entrypoint,
19
19
  libraryId: view.libraryId,
20
20
  attributeIds: view.attributesIds,
@@ -50,8 +50,8 @@ export const useDeleteLinkValues = ({ isEnabled, store: { view, dispatch }, pagi
50
50
  })) ?? [];
51
51
  }
52
52
  else {
53
- values = (linkData?.records ?? []).reduce((acc, { id_value, itemId }) => {
54
- if (view.massSelection.includes(itemId)) {
53
+ values = (linkData?.records ?? []).reduce((acc, { id_value, key }) => {
54
+ if (view.massSelection.includes(key)) {
55
55
  acc.push({
56
56
  attribute: entrypoint.linkAttributeId,
57
57
  idValue: id_value ?? null,
@@ -68,7 +68,7 @@ export const useDeleteLinkValues = ({ isEnabled, store: { view, dispatch }, pagi
68
68
  id: entrypoint.parentLibraryId
69
69
  }
70
70
  }, values, undefined, true);
71
- onDelete?.(massSelectionFilter, view.massSelection);
71
+ onDelete?.(massSelectionFilter, values.map(({ idValue }) => idValue));
72
72
  await refetch();
73
73
  }
74
74
  dispatch({
@@ -80,7 +80,7 @@ export const useDeleteLinkValues = ({ isEnabled, store: { view, dispatch }, pagi
80
80
  }
81
81
  }), [t, saveValues, view.massSelection, dispatch, view.libraryId, allVisibleKeys]);
82
82
  return {
83
- unlinkMassAction: isEnabled ? _unlinkMassAction : null
83
+ unlinkMassAction: isEnabled && canUnlinkValues ? _unlinkMassAction : null
84
84
  };
85
85
  };
86
86
  //# sourceMappingURL=useDeleteLinkValues.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeleteLinkValues.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useDeleteLinkValues.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDeleteLinkValues.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useDeleteLinkValues.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { ISubmitMultipleResult } from '../../../components/RecordEdition/EditRecordContent/_types';
3
+ import { JoinLibraryContextFragment } from '../../../_gqlTypes';
3
4
  import { FeatureHook, Entrypoint, IPrimaryAction } from '../_types';
4
5
  /**
5
6
  * Hook used to get the action for `<DataView />` component.
@@ -15,14 +16,16 @@ import { FeatureHook, Entrypoint, IPrimaryAction } from '../_types';
15
16
  * @param onCreate - callback to let outside world known about creating item (and linking)
16
17
  * @param refetch - method to call to refresh the list. New item will be visible if it matches filters and sorts
17
18
  */
18
- export declare const useCreatePrimaryAction: ({ isEnabled, libraryId, entrypoint, totalCount, onCreate, formId, refetch }: FeatureHook<{
19
+ export declare const useCreatePrimaryAction: ({ isEnabled, libraryId, entrypoint, totalCount, canCreateAndLinkValue, onCreate, formId, joinLibraryContext, refetch }: FeatureHook<{
19
20
  libraryId: string;
20
21
  entrypoint: Entrypoint;
21
22
  totalCount: number;
23
+ canCreateAndLinkValue: boolean;
22
24
  onCreate?: ({ recordIdCreated, saveValuesResultOnLink }: {
23
25
  recordIdCreated: string;
24
26
  saveValuesResultOnLink?: ISubmitMultipleResult;
25
27
  }) => void;
28
+ joinLibraryContext?: JoinLibraryContextFragment;
26
29
  formId?: string;
27
30
  refetch: () => void;
28
31
  }>) => {
@@ -9,6 +9,7 @@ import { CreateDirectory, EditRecordModal, UploadFiles } from '../../../componen
9
9
  import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
10
10
  import useSaveValueBatchMutation from '../../../components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';
11
11
  import { LibraryBehavior, useExplorerLibraryDetailsQuery, useExplorerLinkAttributeQuery } from '../../../_gqlTypes';
12
+ import { CREATE_RECORD_MODAL_CLASSNAME } from '../_constants';
12
13
  /**
13
14
  * Hook used to get the action for `<DataView />` component.
14
15
  *
@@ -23,7 +24,7 @@ import { LibraryBehavior, useExplorerLibraryDetailsQuery, useExplorerLinkAttribu
23
24
  * @param onCreate - callback to let outside world known about creating item (and linking)
24
25
  * @param refetch - method to call to refresh the list. New item will be visible if it matches filters and sorts
25
26
  */
26
- export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, totalCount, onCreate, formId, refetch }) => {
27
+ export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, totalCount, canCreateAndLinkValue, onCreate, formId, joinLibraryContext, refetch }) => {
27
28
  const { t } = useSharedTranslation();
28
29
  const [isModalCreationVisible, setIsModalCreationVisible] = useState(false);
29
30
  const [multipleValues, setIsMultivalues] = useState(false);
@@ -32,7 +33,7 @@ export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, total
32
33
  useExplorerLinkAttributeQuery({
33
34
  skip: entrypoint.type !== 'link',
34
35
  variables: {
35
- id: entrypoint.linkAttributeId
36
+ id: joinLibraryContext?.mandatoryAttribute.id || entrypoint.linkAttributeId
36
37
  },
37
38
  onCompleted: data => {
38
39
  const attributeData = data?.attributes?.list?.[0];
@@ -42,11 +43,24 @@ export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, total
42
43
  setIsMultivalues(attributeData.multiple_values);
43
44
  }
44
45
  });
45
- const { data, loading, error } = useExplorerLibraryDetailsQuery({ variables: { libraryId }, skip: !isEnabled });
46
+ const _getLibraryId = () => (joinLibraryContext?.mandatoryAttribute &&
47
+ 'linked_library' in joinLibraryContext.mandatoryAttribute &&
48
+ joinLibraryContext.mandatoryAttribute.linked_library?.id) ||
49
+ libraryId;
50
+ const { data, loading, error } = useExplorerLibraryDetailsQuery({
51
+ variables: { libraryId: _getLibraryId() },
52
+ skip: !isEnabled
53
+ });
46
54
  if (error || loading) {
47
55
  return { createPrimaryAction: null, createModal: null };
48
56
  }
49
- const canCreateRecord = entrypoint.type === 'library' ? true : multipleValues || totalCount === 0;
57
+ let canCreateRecord;
58
+ if (entrypoint.type === 'library') {
59
+ canCreateRecord = true;
60
+ }
61
+ else {
62
+ canCreateRecord = canCreateAndLinkValue && (multipleValues || totalCount === 0);
63
+ }
50
64
  const _createPrimaryAction = {
51
65
  callback: () => {
52
66
  setIsModalCreationVisible(true);
@@ -64,21 +78,22 @@ export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, total
64
78
  let _createModal = null;
65
79
  switch (data?.libraries?.list[0]?.behavior) {
66
80
  case LibraryBehavior.files:
67
- _createModal = (_jsx(UploadFiles, { libraryId: libraryId, multiple: true, onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
81
+ _createModal = (_jsx(UploadFiles, { libraryId: _getLibraryId(), multiple: true, onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
68
82
  refetch();
69
83
  _notifyNewCreation();
70
84
  setIsModalCreationVisible(false);
71
85
  } }));
72
86
  break;
73
87
  case LibraryBehavior.directories:
74
- _createModal = (_jsx(CreateDirectory, { libraryId: libraryId, onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
88
+ _createModal = (_jsx(CreateDirectory, { libraryId: _getLibraryId(), onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
75
89
  refetch();
76
90
  _notifyNewCreation();
77
91
  setIsModalCreationVisible(false);
78
92
  } }));
79
93
  break;
80
94
  case LibraryBehavior.standard:
81
- _createModal = (_jsx(EditRecordModal, { open: true, record: null, library: libraryId, creationFormId: formId, onClose: () => {
95
+ case LibraryBehavior.join:
96
+ _createModal = (_jsx(EditRecordModal, { className: CREATE_RECORD_MODAL_CLASSNAME, open: true, record: null, library: _getLibraryId(), creationFormId: formId, onClose: () => {
82
97
  setIsModalCreationVisible(false);
83
98
  }, onCreate: newRecord => {
84
99
  refetch();
@@ -1 +1 @@
1
- {"version":3,"file":"useCreatePrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useCreatePrimaryAction.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCreatePrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useCreatePrimaryAction.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ISubmitMultipleResult } from '../../../components/RecordEdition/EditRecordContent/_types';
2
- import { FeatureHook, IPrimaryAction } from '../_types';
2
+ import { Entrypoint, FeatureHook, IPrimaryAction } from '../_types';
3
3
  /**
4
4
  * Hook used to get the action for `<DataView />` component.
5
5
  *
@@ -11,8 +11,11 @@ import { FeatureHook, IPrimaryAction } from '../_types';
11
11
  * @param maxItemsLeft - the number of items that can be added
12
12
  * @param onLink - callback to let outside world know about linking feedback
13
13
  */
14
- export declare const useLinkPrimaryAction: ({ isEnabled, maxItemsLeft, onLink }: FeatureHook<{
14
+ export declare const useLinkPrimaryAction: ({ isEnabled, maxItemsLeft, entrypoint, linkId, canAddLinkValue, onLink }: FeatureHook<{
15
+ entrypoint: Entrypoint;
16
+ linkId?: string;
15
17
  maxItemsLeft: number | null;
18
+ canAddLinkValue: boolean;
16
19
  onLink?: (saveValuesResult: ISubmitMultipleResult) => void;
17
20
  }>) => {
18
21
  linkPrimaryAction: IPrimaryAction;
@@ -6,6 +6,7 @@ import { useState } from 'react';
6
6
  import { FaPlus } from 'react-icons/fa';
7
7
  import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
8
8
  import { LinkModal } from '../link-item/LinkModal';
9
+ import { useExplorerLinkAttributeQuery } from '../../../_gqlTypes';
9
10
  /**
10
11
  * Hook used to get the action for `<DataView />` component.
11
12
  *
@@ -17,21 +18,36 @@ import { LinkModal } from '../link-item/LinkModal';
17
18
  * @param maxItemsLeft - the number of items that can be added
18
19
  * @param onLink - callback to let outside world know about linking feedback
19
20
  */
20
- export const useLinkPrimaryAction = ({ isEnabled, maxItemsLeft, onLink }) => {
21
+ export const useLinkPrimaryAction = ({ isEnabled, maxItemsLeft, entrypoint, linkId, canAddLinkValue, onLink }) => {
21
22
  const { t } = useSharedTranslation();
22
23
  const [isLinkModalVisible, setIsLinkModalVisible] = useState(false);
23
- const disableAddItemAction = maxItemsLeft === 0;
24
+ const [multipleValues, setIsMultivalues] = useState(false);
25
+ const disableAddItemAction = maxItemsLeft === 0 || !canAddLinkValue;
26
+ useExplorerLinkAttributeQuery({
27
+ skip: entrypoint.type !== 'link',
28
+ variables: {
29
+ id: entrypoint.linkAttributeId
30
+ },
31
+ onCompleted: data => {
32
+ const attributeData = data?.attributes?.list?.[0];
33
+ if (!attributeData) {
34
+ throw new Error('Unknown link attribute');
35
+ }
36
+ setIsMultivalues(attributeData.multiple_values);
37
+ }
38
+ });
39
+ const replacementMode = linkId && !multipleValues;
24
40
  const _linkPrimaryAction = {
25
41
  callback: () => {
26
42
  setIsLinkModalVisible(true);
27
43
  },
28
44
  icon: _jsx(FaPlus, {}),
29
45
  disabled: disableAddItemAction,
30
- label: t('explorer.add-existing-item')
46
+ label: replacementMode ? t('record_edition.replace-by-existing-item') : t('explorer.add-existing-item')
31
47
  };
32
48
  return {
33
49
  linkPrimaryAction: isEnabled ? _linkPrimaryAction : null,
34
- linkModal: isLinkModalVisible ? (_jsx(LinkModal, { open: true, onLink: onLink, onClose: () => {
50
+ linkModal: isLinkModalVisible ? (_jsx(LinkModal, { open: true, onLink: onLink, linkId: replacementMode ? linkId : undefined, onClose: () => {
35
51
  setIsLinkModalVisible(false);
36
52
  } })) : null
37
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useLinkPrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useLinkPrimaryAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAGpE,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACjC,SAAS,EACT,YAAY,EACZ,MAAM,EAIR,EAAE,EAAE;IACF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,MAAM,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC;IAEhD,MAAM,kBAAkB,GAAmB;QACvC,QAAQ,EAAE,GAAG,EAAE;YACX,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,EAAE,KAAC,MAAM,KAAG;QAChB,QAAQ,EAAE,oBAAoB;QAC9B,KAAK,EAAE,CAAC,CAAC,4BAA4B,CAAC;KACzC,CAAC;IAEF,OAAO;QACH,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI;QACxD,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAC5B,KAAC,SAAS,IACN,IAAI,QACJ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EAAE;gBACV,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,GACH,CACL,CAAC,CAAC,CAAC,IAAI;KACX,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"useLinkPrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useLinkPrimaryAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAGpE,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,6BAA6B,EAAC,MAAM,eAAe,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACjC,SAAS,EACT,YAAY,EACZ,UAAU,EACV,MAAM,EACN,eAAe,EACf,MAAM,EAOR,EAAE,EAAE;IACF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3D,MAAM,oBAAoB,GAAG,YAAY,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;IAEpE,6BAA6B,CAAC;QAC1B,IAAI,EAAE,UAAU,CAAC,IAAI,KAAK,MAAM;QAChC,SAAS,EAAE;YACP,EAAE,EAAG,UAA8B,CAAC,eAAe;SACtD;QACD,WAAW,EAAE,IAAI,CAAC,EAAE;YAChB,MAAM,aAAa,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC;YACD,gBAAgB,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;IAElD,MAAM,kBAAkB,GAAmB;QACvC,QAAQ,EAAE,GAAG,EAAE;YACX,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,EAAE,KAAC,MAAM,KAAG;QAChB,QAAQ,EAAE,oBAAoB;QAC9B,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC;KAC1G,CAAC;IAEF,OAAO;QACH,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI;QACxD,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAC5B,KAAC,SAAS,IACN,IAAI,QACJ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC5C,OAAO,EAAE,GAAG,EAAE;gBACV,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,GACH,CACL,CAAC,CAAC,CAAC,IAAI;KACX,CAAC;AACN,CAAC,CAAC"}
@@ -2,8 +2,10 @@ import { FunctionComponent } from 'react';
2
2
  import { ISubmitMultipleResult } from '../../../components/RecordEdition/EditRecordContent/_types';
3
3
  interface ILinkModalProps {
4
4
  open: boolean;
5
+ linkId?: string;
5
6
  onClose: () => void;
6
7
  onLink?: (saveValuesResult: ISubmitMultipleResult) => void;
8
+ onReplace?: (replaceValuesResult: ISubmitMultipleResult) => void;
7
9
  }
8
10
  export declare const LinkModal: FunctionComponent<ILinkModalProps>;
9
11
  export {};
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useExplorerLinkAttributeQuery } from '../../../_gqlTypes';
3
3
  import { SelectRecordForLinkModal } from '../../../components/SelectRecordForLinkModal';
4
- import { useLinkMassAction } from './useLinkMassAction';
4
+ import { useAddLinkMassAction } from './useAddLinkMassAction';
5
5
  import { useViewSettingsContext } from '../manage-view-settings/store-view-settings/useViewSettingsContext';
6
- export const LinkModal = ({ open, onLink, onClose }) => {
6
+ import { useReplaceLinkMassAction } from './useReplaceLinkMassAction';
7
+ import { LINK_RECORDS_MODAL_CLASSNAME } from '../_constants';
8
+ export const LinkModal = ({ open, linkId, onLink, onReplace, onClose }) => {
7
9
  const { view } = useViewSettingsContext();
8
10
  const { data: attributeData } = useExplorerLinkAttributeQuery({
9
11
  skip: view.entrypoint.type !== 'link',
@@ -12,12 +14,20 @@ export const LinkModal = ({ open, onLink, onClose }) => {
12
14
  }
13
15
  });
14
16
  const isMultiple = attributeData?.attributes?.list?.[0]?.multiple_values;
15
- const { createLinks } = useLinkMassAction({
17
+ const isReplacement = !!linkId;
18
+ const { createLinks } = useAddLinkMassAction({
16
19
  store: { view },
17
20
  linkAttributeId: view.entrypoint.linkAttributeId,
18
21
  onLink,
19
22
  closeModal: onClose
20
23
  });
21
- return (_jsx(SelectRecordForLinkModal, { open: open, childLibraryId: view.libraryId, onSelectionCompleted: createLinks, selectionMode: isMultiple ? 'multiple' : 'simple', hideSelectAllAction: !isMultiple && view.entrypoint.type === 'link', onClose: onClose }));
24
+ const { replaceLink } = useReplaceLinkMassAction({
25
+ store: { view },
26
+ linkAttributeId: view.entrypoint.linkAttributeId,
27
+ linkId,
28
+ onReplace,
29
+ closeModal: onClose
30
+ });
31
+ return (_jsx(SelectRecordForLinkModal, { className: LINK_RECORDS_MODAL_CLASSNAME, open: open, childLibraryId: view.libraryId, onSelectionCompleted: isReplacement ? replaceLink : createLinks, replacementMode: isReplacement, selectionMode: isReplacement || !isMultiple ? 'simple' : 'multiple', hideSelectAllAction: (isReplacement || !isMultiple) && view.entrypoint.type === 'link', onClose: onClose }));
22
32
  };
23
33
  //# sourceMappingURL=LinkModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkModal.js","sourceRoot":"","sources":["../../../../src/components/Explorer/link-item/LinkModal.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,6BAA6B,EAAC,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAC,wBAAwB,EAAC,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,sBAAsB,EAAC,MAAM,oEAAoE,CAAC;AAQ1G,MAAM,CAAC,MAAM,SAAS,GAAuC,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAC,EAAE,EAAE;IACrF,MAAM,EAAC,IAAI,EAAC,GAAG,sBAAsB,EAAE,CAAC;IAExC,MAAM,EAAC,IAAI,EAAE,aAAa,EAAC,GAAG,6BAA6B,CAAC;QACxD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;QACrC,SAAS,EAAE;YACP,EAAE,EAAG,IAAI,CAAC,UAA8B,CAAC,eAAe;SAC3D;KACJ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC;IAEzE,MAAM,EAAC,WAAW,EAAC,GAAG,iBAAiB,CAAC;QACpC,KAAK,EAAE,EAAC,IAAI,EAAC;QACb,eAAe,EAAG,IAAI,CAAC,UAA8B,CAAC,eAAe;QACrE,MAAM;QACN,UAAU,EAAE,OAAO;KACtB,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,wBAAwB,IACrB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,IAAI,CAAC,SAAS,EAC9B,oBAAoB,EAAE,WAAW,EACjC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EACjD,mBAAmB,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,EACnE,OAAO,EAAE,OAAO,GAClB,CACL,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"LinkModal.js","sourceRoot":"","sources":["../../../../src/components/Explorer/link-item/LinkModal.tsx"],"names":[],"mappings":";AAIA,OAAO,EAA4B,6BAA6B,EAAC,MAAM,eAAe,CAAC;AAEvF,OAAO,EAAC,wBAAwB,EAAC,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,sBAAsB,EAAC,MAAM,oEAAoE,CAAC;AAC1G,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAU3D,MAAM,CAAC,MAAM,SAAS,GAAuC,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAC,EAAE,EAAE;IACxG,MAAM,EAAC,IAAI,EAAC,GAAG,sBAAsB,EAAE,CAAC;IAExC,MAAM,EAAC,IAAI,EAAE,aAAa,EAAC,GAAG,6BAA6B,CAAC;QACxD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;QACrC,SAAS,EAAE;YACP,EAAE,EAAG,IAAI,CAAC,UAA8B,CAAC,eAAe;SAC3D;KACJ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC;IACzE,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAE/B,MAAM,EAAC,WAAW,EAAC,GAAG,oBAAoB,CAAC;QACvC,KAAK,EAAE,EAAC,IAAI,EAAC;QACb,eAAe,EAAG,IAAI,CAAC,UAA8B,CAAC,eAAe;QACrE,MAAM;QACN,UAAU,EAAE,OAAO;KACtB,CAAC,CAAC;IAEH,MAAM,EAAC,WAAW,EAAC,GAAG,wBAAwB,CAAC;QAC3C,KAAK,EAAE,EAAC,IAAI,EAAC;QACb,eAAe,EAAG,IAAI,CAAC,UAA8B,CAAC,eAAe;QACrE,MAAM;QACN,SAAS;QACT,UAAU,EAAE,OAAO;KACtB,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,wBAAwB,IACrB,SAAS,EAAE,4BAA4B,EACvC,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,IAAI,CAAC,SAAS,EAC9B,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAC/D,eAAe,EAAE,aAAa,EAC9B,aAAa,EAAE,aAAa,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EACnE,mBAAmB,EAAE,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,EACtF,OAAO,EAAE,OAAO,GAClB,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -9,7 +9,7 @@ import { IViewSettingsState } from '../manage-view-settings';
9
9
  * @param onLink - callback to let outside world know about linking feedback
10
10
  * @param closeModal - callback to close the link modal
11
11
  */
12
- export declare const useLinkMassAction: ({ store: { view }, linkAttributeId, onLink, closeModal }: {
12
+ export declare const useAddLinkMassAction: ({ store: { view }, linkAttributeId, onLink, closeModal }: {
13
13
  store: {
14
14
  view: IViewSettingsState;
15
15
  };
@@ -10,7 +10,7 @@ import useSaveValueBatchMutation from '../../../components/RecordEdition/EditRec
10
10
  * @param onLink - callback to let outside world know about linking feedback
11
11
  * @param closeModal - callback to close the link modal
12
12
  */
13
- export const useLinkMassAction = ({ store: { view }, linkAttributeId, onLink, closeModal }) => {
13
+ export const useAddLinkMassAction = ({ store: { view }, linkAttributeId, onLink, closeModal }) => {
14
14
  const { saveValues } = useSaveValueBatchMutation();
15
15
  return {
16
16
  createLinks: async (data) => {
@@ -31,4 +31,4 @@ export const useLinkMassAction = ({ store: { view }, linkAttributeId, onLink, cl
31
31
  }
32
32
  };
33
33
  };
34
- //# sourceMappingURL=useLinkMassAction.js.map
34
+ //# sourceMappingURL=useAddLinkMassAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAddLinkMassAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/link-item/useAddLinkMassAction.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,yBAAyB,MAAM,uFAAuF,CAAC;AAM9H;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACjC,KAAK,EAAE,EAAC,IAAI,EAAC,EACb,eAAe,EACf,MAAM,EACN,UAAU,EAQb,EAAE,EAAE;IACD,MAAM,EAAC,UAAU,EAAC,GAAG,yBAAyB,EAAE,CAAC;IAEjD,OAAO;QACH,WAAW,EAAE,KAAK,EAAE,IAA+B,EAAE,EAAE;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,UAA6B,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,EAAE;aACZ,CAAC,CAAC,CAAC;YAEJ,MAAM,gBAAgB,GAAG,MAAM,UAAU,CACrC;gBACI,EAAE,EAAE,UAAU,CAAC,cAAc;gBAC7B,OAAO,EAAE;oBACL,EAAE,EAAE,UAAU,CAAC,eAAe;iBACjC;aACJ,EACD,MAAM,CACT,CAAC;YACF,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC;YAC3B,UAAU,EAAE,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { ExplorerSelectionIdsQuery } from '../../../_gqlTypes';
2
+ import { ISubmitMultipleResult } from '../../../components/RecordEdition/EditRecordContent/_types';
3
+ import { IViewSettingsState } from '../manage-view-settings';
4
+ /**
5
+ * Hook used to replace link
6
+ *
7
+ * @param view - represent the current view
8
+ * @param linkAttributeId - attribute that represent the link
9
+ * @param linkId - concerned link item
10
+ * @param onReplace - callback to let outside world know about replacing feedback
11
+ * @param closeModal - callback to close the link modal
12
+ */
13
+ export declare const useReplaceLinkMassAction: ({ store: { view }, linkAttributeId, linkId, onReplace, closeModal }: {
14
+ store: {
15
+ view: IViewSettingsState;
16
+ };
17
+ linkAttributeId: string;
18
+ linkId?: string;
19
+ onReplace?: (replaceValuesResult: ISubmitMultipleResult) => void;
20
+ closeModal: () => void;
21
+ }) => {
22
+ replaceLink: (data: ExplorerSelectionIdsQuery) => Promise<void>;
23
+ };
@@ -0,0 +1,35 @@
1
+ import useSaveValueBatchMutation from '../../../components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';
2
+ /**
3
+ * Hook used to replace link
4
+ *
5
+ * @param view - represent the current view
6
+ * @param linkAttributeId - attribute that represent the link
7
+ * @param linkId - concerned link item
8
+ * @param onReplace - callback to let outside world know about replacing feedback
9
+ * @param closeModal - callback to close the link modal
10
+ */
11
+ export const useReplaceLinkMassAction = ({ store: { view }, linkAttributeId, linkId, onReplace, closeModal }) => {
12
+ const { saveValues } = useSaveValueBatchMutation();
13
+ return {
14
+ replaceLink: async (data) => {
15
+ if (!linkId) {
16
+ return;
17
+ }
18
+ const entrypoint = view.entrypoint;
19
+ const values = data.records.list.map(({ id }) => ({
20
+ attribute: linkAttributeId,
21
+ idValue: linkId,
22
+ value: id
23
+ }));
24
+ const replaceValuesResult = await saveValues({
25
+ id: entrypoint.parentRecordId,
26
+ library: {
27
+ id: entrypoint.parentLibraryId
28
+ }
29
+ }, values);
30
+ onReplace?.(replaceValuesResult);
31
+ closeModal();
32
+ }
33
+ };
34
+ };
35
+ //# sourceMappingURL=useReplaceLinkMassAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReplaceLinkMassAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/link-item/useReplaceLinkMassAction.tsx"],"names":[],"mappings":"AAIA,OAAO,yBAAyB,MAAM,uFAAuF,CAAC;AAK9H;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACrC,KAAK,EAAE,EAAC,IAAI,EAAC,EACb,eAAe,EACf,MAAM,EACN,SAAS,EACT,UAAU,EASb,EAAE,EAAE;IACD,MAAM,EAAC,UAAU,EAAC,GAAG,yBAAyB,EAAE,CAAC;IAEjD,OAAO;QACH,WAAW,EAAE,KAAK,EAAE,IAA+B,EAAE,EAAE;YACnD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO;YACX,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAA6B,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,EAAE;aACZ,CAAC,CAAC,CAAC;YAEJ,MAAM,mBAAmB,GAAG,MAAM,UAAU,CACxC;gBACI,EAAE,EAAE,UAAU,CAAC,cAAc;gBAC7B,OAAO,EAAE;oBACL,EAAE,EAAE,UAAU,CAAC,eAAe;iBACjC;aACJ,EACD,MAAM,CACT,CAAC;YACF,SAAS,EAAE,CAAC,mBAAmB,CAAC,CAAC;YACjC,UAAU,EAAE,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
@@ -3,27 +3,29 @@
3
3
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
4
  import { useMemo, useState } from 'react';
5
5
  import { useDebouncedValue } from '../../../../hooks/useDebouncedValue';
6
- import { useGetAttributesByLibQuery } from '../../../../_gqlTypes';
6
+ import { useGetAttributesByLibWithPermissionsQuery } from '../../../../_gqlTypes';
7
7
  import { localizedTranslation } from '@leav/utils';
8
8
  import { useLang } from '../../../../hooks';
9
9
  const sanitize = (str) => str
10
10
  .normalize('NFD')
11
11
  .replace(/\p{Diacritic}/gu, '')
12
12
  .toLowerCase();
13
- const _mapping = (data, availableLanguages) => data?.attributes?.list.reduce((acc, attribute) => {
14
- const label = localizedTranslation(attribute.label, availableLanguages);
15
- acc[attribute.id] = {
16
- ...attribute,
17
- label,
18
- index: `${sanitize(attribute.id)} ${sanitize(label)}`
19
- };
13
+ const _mapping = (data, availableLanguages) => data?.attributes?.list.reduce((acc, { permissions, ...attribute }) => {
14
+ if (permissions.access_attribute) {
15
+ const label = localizedTranslation(attribute.label, availableLanguages);
16
+ acc[attribute.id] = {
17
+ ...attribute,
18
+ label,
19
+ index: `${sanitize(attribute.id)} ${sanitize(label)}`
20
+ };
21
+ }
20
22
  return acc;
21
23
  }, {}) ?? {};
22
24
  export const useAttributeDetailsData = (libraryId) => {
23
25
  const [searchInput, setSearchInput] = useState('');
24
26
  const debouncedSearchInput = useDebouncedValue(searchInput, 300);
25
27
  const { lang: availableLanguages } = useLang();
26
- const { data } = useGetAttributesByLibQuery({
28
+ const { data } = useGetAttributesByLibWithPermissionsQuery({
27
29
  variables: {
28
30
  library: libraryId
29
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAttributeDetailsData.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/_shared/useAttributeDetailsData.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAttributeDetailsData.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/_shared/useAttributeDetailsData.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@ export declare const _isValidFieldFilterThrough: (filter: ValidFieldFilter | Val
5
5
  export declare const _isLinkAttributeDetails: (linkAttributeData: NonNullable<ExplorerLinkAttributeQuery["attributes"]>["list"][number]) => linkAttributeData is LinkAttributeDetailsFragment & {
6
6
  id: string;
7
7
  multiple_values: boolean;
8
+ permissions: {
9
+ access_attribute: boolean;
10
+ edit_value: boolean;
11
+ };
8
12
  };
9
13
  export type validFiltersArgument = GetViewsListQuery['views']['list'][number]['filters'] | ExplorerFilter[];
10
14
  export type ExplorerAttributesById = Record<string, NonNullable<ExplorerAttributesQuery['attributes']>['list'][number]>;