@leav/ui 1.9.0 → 1.10.0-8a6786e5

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 (517) hide show
  1. package/dist/_gqlTypes/index.d.ts +291 -120
  2. package/dist/_gqlTypes/index.js +204 -87
  3. package/dist/_gqlTypes/index.js.map +1 -1
  4. package/dist/_queries/records/createRecordMutation.js +2 -2
  5. package/dist/_queries/records/createRecordMutation.js.map +1 -1
  6. package/dist/_utils/getFiltersFromRequest.js +5 -6
  7. package/dist/_utils/getFiltersFromRequest.js.map +1 -1
  8. package/dist/_utils/index.js +3 -4
  9. package/dist/_utils/index.js.map +1 -1
  10. package/dist/_utils/typeguards.d.ts +5 -0
  11. package/dist/_utils/typeguards.js +6 -0
  12. package/dist/_utils/typeguards.js.map +1 -1
  13. package/dist/components/Explorer/Explorer.d.ts +2 -1
  14. package/dist/components/Explorer/Explorer.js +31 -13
  15. package/dist/components/Explorer/Explorer.js.map +1 -1
  16. package/dist/components/Explorer/ExplorerToolbar.js +2 -1
  17. package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
  18. package/dist/components/Explorer/_queries/useExplorerCountData.d.ts +16 -0
  19. package/dist/components/Explorer/_queries/useExplorerCountData.js +26 -0
  20. package/dist/components/Explorer/_queries/useExplorerCountData.js.map +1 -0
  21. package/dist/components/Explorer/_queries/useExplorerData.js +18 -20
  22. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  23. package/dist/components/Explorer/actions-mass/ResultsCount.d.ts +10 -0
  24. package/dist/components/Explorer/actions-mass/ResultsCount.js +8 -0
  25. package/dist/components/Explorer/actions-mass/ResultsCount.js.map +1 -0
  26. package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js +1 -1
  27. package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js.map +1 -1
  28. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.d.ts +9 -2
  29. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js +18 -4
  30. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js.map +1 -1
  31. package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.d.ts +10 -0
  32. package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.js +69 -0
  33. package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.js.map +1 -0
  34. package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.d.ts +18 -0
  35. package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.js +57 -0
  36. package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.js.map +1 -0
  37. package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.d.ts +19 -0
  38. package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.js +94 -0
  39. package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.js.map +1 -0
  40. package/dist/components/Explorer/actions-mass/useMassActions.d.ts +5 -3
  41. package/dist/components/Explorer/actions-mass/useMassActions.js +19 -13
  42. package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -1
  43. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +3 -1
  44. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +5 -1
  45. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  46. package/dist/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.js +6 -1
  47. package/dist/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.js.map +1 -1
  48. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.d.ts +3 -0
  49. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js +5 -5
  50. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js.map +1 -1
  51. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js +1 -1
  52. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js.map +1 -1
  53. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +2 -2
  54. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  55. package/dist/components/Explorer/useViewSettingsReducer.js +11 -8
  56. package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
  57. package/dist/components/Filters/_queries/treeFiltersDataQuery.d.ts +6 -0
  58. package/dist/components/Filters/_queries/treeFiltersDataQuery.js +54 -0
  59. package/dist/components/Filters/_queries/treeFiltersDataQuery.js.map +1 -0
  60. package/dist/components/Filters/context/useGetTreeFilters.js +24 -40
  61. package/dist/components/Filters/context/useGetTreeFilters.js.map +1 -1
  62. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js +1 -2
  63. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js.map +1 -1
  64. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.d.ts +6 -0
  65. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js +54 -0
  66. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js.map +1 -0
  67. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js +22 -41
  68. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js.map +1 -1
  69. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -0
  70. package/dist/components/RecordEdition/EditRecord/EditRecord.js +3 -3
  71. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  72. package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +4 -0
  73. package/dist/components/RecordEdition/EditRecordContent/_types.js.map +1 -1
  74. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +1 -3
  75. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  76. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +28 -17
  77. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js.map +1 -1
  78. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +1 -0
  79. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +30 -18
  80. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  81. package/dist/components/RecordEdition/EditRecordPage/ErrorComponent.d.ts +2 -0
  82. package/dist/components/RecordEdition/EditRecordPage/ErrorComponent.js +11 -0
  83. package/dist/components/RecordEdition/EditRecordPage/ErrorComponent.js.map +1 -0
  84. package/dist/components/RecordEdition/EditRecordPage/getInitialRecordValues.d.ts +2 -0
  85. package/dist/components/RecordEdition/EditRecordPage/getInitialRecordValues.js +35 -0
  86. package/dist/components/RecordEdition/EditRecordPage/getInitialRecordValues.js.map +1 -0
  87. package/dist/components/RecordEdition/_types.d.ts +1 -1
  88. package/dist/components/RecordEdition/_types.js.map +1 -1
  89. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +7 -6
  90. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
  91. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.d.ts +1 -1
  92. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js +6 -2
  93. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js.map +1 -1
  94. package/dist/components/SearchModal/SearchModal.js +28 -18
  95. package/dist/components/SearchModal/SearchModal.js.map +1 -1
  96. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +0 -2
  97. package/dist/components/SelectTreeNode/SelectTreeNode.js +2 -2
  98. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  99. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +0 -2
  100. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +60 -114
  101. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  102. package/dist/components/SelectTreeNode/TreeNodeTitle.d.ts +0 -1
  103. package/dist/components/SelectTreeNode/TreeNodeTitle.js +3 -7
  104. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
  105. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.d.ts +6 -0
  106. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js +56 -0
  107. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js.map +1 -0
  108. package/dist/components/SelectTreeNode/_types.d.ts +0 -1
  109. package/dist/components/SelectTreeNode/_types.js.map +1 -1
  110. package/dist/components/index.d.ts +0 -3
  111. package/dist/components/index.js +0 -3
  112. package/dist/components/index.js.map +1 -1
  113. package/dist/hooks/useGetRecordForm/useGetRecordForm.js +24 -22
  114. package/dist/hooks/useGetRecordForm/useGetRecordForm.js.map +1 -1
  115. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js +9 -6
  116. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js.map +1 -1
  117. package/dist/hooks/useIFrameMessenger/schema.d.ts +14 -2
  118. package/dist/hooks/useIFrameMessenger/schema.js +7 -1
  119. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
  120. package/dist/hooks/useIFrameMessenger/types.d.ts +5 -0
  121. package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
  122. package/dist/hooks/useRecordsConsultationHistory/useRecordsConsultationHistory.d.ts +1 -1
  123. package/dist/hooks/useRecordsConsultationHistory/useRecordsConsultationHistory.js +14 -6
  124. package/dist/hooks/useRecordsConsultationHistory/useRecordsConsultationHistory.js.map +1 -1
  125. package/dist/hooks/useRedirectToLogin/useRedirectToLogin.d.ts +2 -1
  126. package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js +32 -4
  127. package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js.map +1 -1
  128. package/dist/locales/en/shared.json +14 -4
  129. package/dist/locales/fr/shared.json +14 -4
  130. package/package.json +11 -20
  131. package/dist/__mocks__/common/mockSearchContextProvider.d.ts +0 -6
  132. package/dist/__mocks__/common/mockSearchContextProvider.js +0 -10
  133. package/dist/__mocks__/common/mockSearchContextProvider.js.map +0 -1
  134. package/dist/components/AttributesSelectionList/Attribute/Attribute.d.ts +0 -3
  135. package/dist/components/AttributesSelectionList/Attribute/Attribute.js +0 -50
  136. package/dist/components/AttributesSelectionList/Attribute/Attribute.js.map +0 -1
  137. package/dist/components/AttributesSelectionList/Attribute/index.d.ts +0 -2
  138. package/dist/components/AttributesSelectionList/Attribute/index.js +0 -6
  139. package/dist/components/AttributesSelectionList/Attribute/index.js.map +0 -1
  140. package/dist/components/AttributesSelectionList/AttributesSelectionList.d.ts +0 -10
  141. package/dist/components/AttributesSelectionList/AttributesSelectionList.js +0 -72
  142. package/dist/components/AttributesSelectionList/AttributesSelectionList.js.map +0 -1
  143. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.d.ts +0 -7
  144. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js +0 -39
  145. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js.map +0 -1
  146. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.d.ts +0 -2
  147. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js +0 -6
  148. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js.map +0 -1
  149. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.d.ts +0 -2
  150. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js +0 -63
  151. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js.map +0 -1
  152. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.d.ts +0 -2
  153. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js +0 -6
  154. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js.map +0 -1
  155. package/dist/components/AttributesSelectionList/_types.d.ts +0 -8
  156. package/dist/components/AttributesSelectionList/_types.js +0 -2
  157. package/dist/components/AttributesSelectionList/_types.js.map +0 -1
  158. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.d.ts +0 -3
  159. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js +0 -9
  160. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js.map +0 -1
  161. package/dist/components/AttributesSelectionList/index.d.ts +0 -2
  162. package/dist/components/AttributesSelectionList/index.js +0 -6
  163. package/dist/components/AttributesSelectionList/index.js.map +0 -1
  164. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.d.ts +0 -11
  165. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js +0 -10
  166. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js.map +0 -1
  167. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.d.ts +0 -33
  168. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js +0 -77
  169. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js.map +0 -1
  170. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.d.ts +0 -10
  171. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js +0 -8
  172. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js.map +0 -1
  173. package/dist/components/AttributesSelectionList/sharedComponents.d.ts +0 -809
  174. package/dist/components/AttributesSelectionList/sharedComponents.js +0 -16
  175. package/dist/components/AttributesSelectionList/sharedComponents.js.map +0 -1
  176. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.d.ts +0 -10
  177. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js +0 -39
  178. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js.map +0 -1
  179. package/dist/components/DeactivateRecordsModal/index.d.ts +0 -1
  180. package/dist/components/DeactivateRecordsModal/index.js +0 -5
  181. package/dist/components/DeactivateRecordsModal/index.js.map +0 -1
  182. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.d.ts +0 -13
  183. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js +0 -50
  184. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js.map +0 -1
  185. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.d.ts +0 -2
  186. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js +0 -6
  187. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js.map +0 -1
  188. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.d.ts +0 -2
  189. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js +0 -80
  190. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js.map +0 -1
  191. package/dist/components/LibraryItemsList/DisplayOptions/index.d.ts +0 -2
  192. package/dist/components/LibraryItemsList/DisplayOptions/index.js +0 -6
  193. package/dist/components/LibraryItemsList/DisplayOptions/index.js.map +0 -1
  194. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.d.ts +0 -2
  195. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js +0 -22
  196. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js.map +0 -1
  197. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.d.ts +0 -2
  198. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js +0 -6
  199. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js.map +0 -1
  200. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.d.ts +0 -13
  201. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js +0 -229
  202. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js.map +0 -1
  203. package/dist/components/LibraryItemsList/FiltersDropdown/index.d.ts +0 -2
  204. package/dist/components/LibraryItemsList/FiltersDropdown/index.js +0 -6
  205. package/dist/components/LibraryItemsList/FiltersDropdown/index.js.map +0 -1
  206. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.d.ts +0 -11
  207. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +0 -328
  208. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +0 -1
  209. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.d.ts +0 -7
  210. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js +0 -90
  211. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js.map +0 -1
  212. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.d.ts +0 -2
  213. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js +0 -6
  214. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js.map +0 -1
  215. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.d.ts +0 -3
  216. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js +0 -13
  217. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js.map +0 -1
  218. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.d.ts +0 -2
  219. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js +0 -6
  220. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js.map +0 -1
  221. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.d.ts +0 -3
  222. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js +0 -26
  223. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js.map +0 -1
  224. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.d.ts +0 -2
  225. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js +0 -6
  226. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js.map +0 -1
  227. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.d.ts +0 -3
  228. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js +0 -22
  229. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js.map +0 -1
  230. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.d.ts +0 -2
  231. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js +0 -6
  232. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js.map +0 -1
  233. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.d.ts +0 -3
  234. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js +0 -35
  235. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js.map +0 -1
  236. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.d.ts +0 -2
  237. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js +0 -6
  238. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js.map +0 -1
  239. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.d.ts +0 -3
  240. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js +0 -34
  241. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js.map +0 -1
  242. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.d.ts +0 -2
  243. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js +0 -6
  244. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js.map +0 -1
  245. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.d.ts +0 -2
  246. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js +0 -16
  247. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js.map +0 -1
  248. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.d.ts +0 -2
  249. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js +0 -6
  250. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js.map +0 -1
  251. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.d.ts +0 -8
  252. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js +0 -11
  253. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js.map +0 -1
  254. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.d.ts +0 -2
  255. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js +0 -6
  256. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js.map +0 -1
  257. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.d.ts +0 -6
  258. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js +0 -38
  259. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js.map +0 -1
  260. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.d.ts +0 -2
  261. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js +0 -6
  262. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js.map +0 -1
  263. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.d.ts +0 -14
  264. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js +0 -147
  265. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js.map +0 -1
  266. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.d.ts +0 -2
  267. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js +0 -121
  268. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js.map +0 -1
  269. package/dist/components/LibraryItemsList/FiltersPanel/index.d.ts +0 -2
  270. package/dist/components/LibraryItemsList/FiltersPanel/index.js +0 -6
  271. package/dist/components/LibraryItemsList/FiltersPanel/index.js.map +0 -1
  272. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.d.ts +0 -3
  273. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js +0 -17
  274. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js.map +0 -1
  275. package/dist/components/LibraryItemsList/IconViewType/IconViewType.d.ts +0 -8
  276. package/dist/components/LibraryItemsList/IconViewType/IconViewType.js +0 -18
  277. package/dist/components/LibraryItemsList/IconViewType/IconViewType.js.map +0 -1
  278. package/dist/components/LibraryItemsList/IconViewType/index.d.ts +0 -2
  279. package/dist/components/LibraryItemsList/IconViewType/index.js +0 -6
  280. package/dist/components/LibraryItemsList/IconViewType/index.js.map +0 -1
  281. package/dist/components/LibraryItemsList/LibraryItemsList.d.ts +0 -14
  282. package/dist/components/LibraryItemsList/LibraryItemsList.js +0 -18
  283. package/dist/components/LibraryItemsList/LibraryItemsList.js.map +0 -1
  284. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.d.ts +0 -16
  285. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js +0 -202
  286. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js.map +0 -1
  287. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.d.ts +0 -2
  288. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js +0 -6
  289. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js.map +0 -1
  290. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.d.ts +0 -6
  291. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js +0 -32
  292. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js.map +0 -1
  293. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.d.ts +0 -2
  294. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js +0 -6
  295. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js.map +0 -1
  296. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.d.ts +0 -2
  297. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js +0 -21
  298. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js.map +0 -1
  299. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.d.ts +0 -2
  300. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js +0 -6
  301. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js.map +0 -1
  302. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.d.ts +0 -8
  303. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js +0 -56
  304. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js.map +0 -1
  305. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.d.ts +0 -2
  306. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js +0 -6
  307. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js.map +0 -1
  308. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.d.ts +0 -7
  309. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js +0 -54
  310. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js.map +0 -1
  311. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.d.ts +0 -2
  312. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js +0 -6
  313. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js.map +0 -1
  314. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.d.ts +0 -8
  315. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js +0 -66
  316. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js.map +0 -1
  317. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.d.ts +0 -2
  318. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js +0 -6
  319. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js.map +0 -1
  320. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.d.ts +0 -8
  321. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js +0 -59
  322. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js.map +0 -1
  323. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.d.ts +0 -9
  324. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js +0 -56
  325. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js.map +0 -1
  326. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.d.ts +0 -2
  327. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js +0 -6
  328. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js.map +0 -1
  329. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.d.ts +0 -5
  330. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js +0 -34
  331. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js.map +0 -1
  332. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.d.ts +0 -2
  333. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js +0 -6
  334. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js.map +0 -1
  335. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.d.ts +0 -5
  336. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js +0 -23
  337. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js.map +0 -1
  338. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.d.ts +0 -3
  339. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js +0 -80
  340. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js.map +0 -1
  341. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.d.ts +0 -2
  342. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js +0 -6
  343. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js.map +0 -1
  344. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.d.ts +0 -2
  345. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js +0 -6
  346. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js.map +0 -1
  347. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.d.ts +0 -12
  348. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js +0 -11
  349. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js.map +0 -1
  350. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.d.ts +0 -12
  351. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js +0 -2
  352. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js.map +0 -1
  353. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.d.ts +0 -2
  354. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js +0 -40
  355. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js.map +0 -1
  356. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.d.ts +0 -6
  357. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js +0 -81
  358. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js.map +0 -1
  359. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.d.ts +0 -2
  360. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js +0 -6
  361. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js.map +0 -1
  362. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.d.ts +0 -9
  363. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js +0 -142
  364. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js.map +0 -1
  365. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.d.ts +0 -2
  366. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js +0 -6
  367. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js.map +0 -1
  368. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.d.ts +0 -2
  369. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js +0 -232
  370. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js.map +0 -1
  371. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.d.ts +0 -2
  372. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js +0 -6
  373. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js.map +0 -1
  374. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.d.ts +0 -9
  375. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js +0 -27
  376. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js.map +0 -1
  377. package/dist/components/LibraryItemsList/MenuItemList/index.d.ts +0 -2
  378. package/dist/components/LibraryItemsList/MenuItemList/index.js +0 -6
  379. package/dist/components/LibraryItemsList/MenuItemList/index.js.map +0 -1
  380. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.d.ts +0 -2
  381. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js +0 -62
  382. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js.map +0 -1
  383. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.d.ts +0 -2
  384. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js +0 -6
  385. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js.map +0 -1
  386. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.d.ts +0 -5
  387. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js +0 -139
  388. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js.map +0 -1
  389. package/dist/components/LibraryItemsList/MenuItemListSelected/index.d.ts +0 -2
  390. package/dist/components/LibraryItemsList/MenuItemListSelected/index.js +0 -6
  391. package/dist/components/LibraryItemsList/MenuItemListSelected/index.js.map +0 -1
  392. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.d.ts +0 -2
  393. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js +0 -58
  394. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js.map +0 -1
  395. package/dist/components/LibraryItemsList/MenuSelection/index.d.ts +0 -2
  396. package/dist/components/LibraryItemsList/MenuSelection/index.js +0 -6
  397. package/dist/components/LibraryItemsList/MenuSelection/index.js.map +0 -1
  398. package/dist/components/LibraryItemsList/MenuView/MenuView.d.ts +0 -6
  399. package/dist/components/LibraryItemsList/MenuView/MenuView.js +0 -162
  400. package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +0 -1
  401. package/dist/components/LibraryItemsList/MenuView/index.d.ts +0 -2
  402. package/dist/components/LibraryItemsList/MenuView/index.js +0 -6
  403. package/dist/components/LibraryItemsList/MenuView/index.js.map +0 -1
  404. package/dist/components/LibraryItemsList/SearchItems/SearchItems.d.ts +0 -2
  405. package/dist/components/LibraryItemsList/SearchItems/SearchItems.js +0 -21
  406. package/dist/components/LibraryItemsList/SearchItems/SearchItems.js.map +0 -1
  407. package/dist/components/LibraryItemsList/SearchItems/index.d.ts +0 -2
  408. package/dist/components/LibraryItemsList/SearchItems/index.js +0 -6
  409. package/dist/components/LibraryItemsList/SearchItems/index.js.map +0 -1
  410. package/dist/components/LibraryItemsList/Sidebar/Sidebar.d.ts +0 -2
  411. package/dist/components/LibraryItemsList/Sidebar/Sidebar.js +0 -58
  412. package/dist/components/LibraryItemsList/Sidebar/Sidebar.js.map +0 -1
  413. package/dist/components/LibraryItemsList/Sidebar/index.d.ts +0 -2
  414. package/dist/components/LibraryItemsList/Sidebar/index.js +0 -6
  415. package/dist/components/LibraryItemsList/Sidebar/index.js.map +0 -1
  416. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.d.ts +0 -6
  417. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js +0 -199
  418. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js.map +0 -1
  419. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.d.ts +0 -2
  420. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js +0 -6
  421. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js.map +0 -1
  422. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.d.ts +0 -2
  423. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js +0 -50
  424. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js.map +0 -1
  425. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.d.ts +0 -3
  426. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js +0 -11
  427. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js.map +0 -1
  428. package/dist/components/LibraryItemsList/TileDisplay/index.d.ts +0 -2
  429. package/dist/components/LibraryItemsList/TileDisplay/index.js +0 -6
  430. package/dist/components/LibraryItemsList/TileDisplay/index.js.map +0 -1
  431. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.d.ts +0 -2
  432. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js +0 -66
  433. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js.map +0 -1
  434. package/dist/components/LibraryItemsList/VersionsPanel/index.d.ts +0 -2
  435. package/dist/components/LibraryItemsList/VersionsPanel/index.js +0 -6
  436. package/dist/components/LibraryItemsList/VersionsPanel/index.js.map +0 -1
  437. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.d.ts +0 -9
  438. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js +0 -85
  439. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js.map +0 -1
  440. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.d.ts +0 -2
  441. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js +0 -6
  442. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js.map +0 -1
  443. package/dist/components/LibraryItemsList/ViewPanel/View/View.d.ts +0 -7
  444. package/dist/components/LibraryItemsList/ViewPanel/View/View.js +0 -152
  445. package/dist/components/LibraryItemsList/ViewPanel/View/View.js.map +0 -1
  446. package/dist/components/LibraryItemsList/ViewPanel/View/index.d.ts +0 -2
  447. package/dist/components/LibraryItemsList/ViewPanel/View/index.js +0 -6
  448. package/dist/components/LibraryItemsList/ViewPanel/View/index.js.map +0 -1
  449. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.d.ts +0 -2
  450. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js +0 -209
  451. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js.map +0 -1
  452. package/dist/components/LibraryItemsList/ViewPanel/index.d.ts +0 -2
  453. package/dist/components/LibraryItemsList/ViewPanel/index.js +0 -6
  454. package/dist/components/LibraryItemsList/ViewPanel/index.js.map +0 -1
  455. package/dist/components/LibraryItemsList/constants.d.ts +0 -12
  456. package/dist/components/LibraryItemsList/constants.js +0 -19
  457. package/dist/components/LibraryItemsList/constants.js.map +0 -1
  458. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.d.ts +0 -3
  459. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js +0 -21
  460. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js.map +0 -1
  461. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.d.ts +0 -3
  462. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js +0 -18
  463. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js.map +0 -1
  464. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.d.ts +0 -4
  465. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js +0 -64
  466. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js.map +0 -1
  467. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.d.ts +0 -5
  468. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js +0 -40
  469. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js.map +0 -1
  470. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.d.ts +0 -6
  471. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js +0 -10
  472. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js.map +0 -1
  473. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.d.ts +0 -2
  474. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js +0 -13
  475. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js.map +0 -1
  476. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.d.ts +0 -2
  477. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js +0 -18
  478. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js.map +0 -1
  479. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.d.ts +0 -8
  480. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js +0 -99
  481. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js.map +0 -1
  482. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.d.ts +0 -82
  483. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js +0 -2
  484. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js.map +0 -1
  485. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.d.ts +0 -2
  486. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js +0 -6
  487. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js.map +0 -1
  488. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.d.ts +0 -7
  489. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js +0 -7
  490. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js.map +0 -1
  491. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.d.ts +0 -121
  492. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js +0 -228
  493. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js.map +0 -1
  494. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.d.ts +0 -5
  495. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js +0 -8
  496. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js.map +0 -1
  497. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.d.ts +0 -7
  498. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js +0 -40
  499. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js.map +0 -1
  500. package/dist/components/LibraryItemsList/index.d.ts +0 -1
  501. package/dist/components/LibraryItemsList/index.js +0 -5
  502. package/dist/components/LibraryItemsList/index.js.map +0 -1
  503. package/dist/components/LibraryItemsList/manageItems.d.ts +0 -11
  504. package/dist/components/LibraryItemsList/manageItems.js +0 -98
  505. package/dist/components/LibraryItemsList/manageItems.js.map +0 -1
  506. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.d.ts +0 -7
  507. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js +0 -38
  508. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js.map +0 -1
  509. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.d.ts +0 -2
  510. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js +0 -6
  511. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js.map +0 -1
  512. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.d.ts +0 -12
  513. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js +0 -29
  514. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js.map +0 -1
  515. package/dist/components/LibraryItemsList/shared/sharedUtils.d.ts +0 -4
  516. package/dist/components/LibraryItemsList/shared/sharedUtils.js +0 -9
  517. package/dist/components/LibraryItemsList/shared/sharedUtils.js.map +0 -1
@@ -71,8 +71,8 @@ export const FilterItems = ({ libraryId }) => {
71
71
  });
72
72
  };
73
73
  const _handleDragEnd = ({ active: draggedElement, over: dropTarget }) => {
74
- const indexFrom = activeFilters.findIndex(({ field }) => field === String(draggedElement.id));
75
- const indexTo = activeFilters.findIndex(({ field }) => field === String(dropTarget?.id));
74
+ const indexFrom = activeFilters.findIndex(({ field }) => Array.isArray(field) ? field.includes(String(draggedElement.id)) : field === String(draggedElement.id));
75
+ const indexTo = activeFilters.findIndex(({ field }) => Array.isArray(field) ? field.includes(String(dropTarget?.id)) : field === String(dropTarget?.id));
76
76
  if (!dropTarget || indexFrom === indexTo || indexTo === -1) {
77
77
  return;
78
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.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 FunctionComponent} from 'react';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faSearch} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n smartFilter: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].smart_filter ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) => field === String(draggedElement.id));\n const indexTo = activeFilters.findIndex(({field}) => field === String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye icon={faEye} />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FontAwesomeIcon icon={faSearch} />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash icon={faEyeSlash} />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
1
+ {"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAC9D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACH,eAAe,EAIf,aAAa,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,aAAa,EACb,UAAU,EAEV,cAAc,EACd,aAAa,EACb,SAAS,EACT,UAAU,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,eAAe,EAAE,2BAA2B,EAAE,2BAA2B,EAAC,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EAAC,uBAAuB,EAAC,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAC,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAC,iBAAiB,EAAC,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAE9E,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAIrC,CAAC;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;CAK3B,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;;CAE7C,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;;CAE1C,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC5B,SAA2C,EACe,EAAE,CAC5D,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,gBAAgB,IAAI,SAAS,CAAC;AAEvH,MAAM,uBAAuB,GAAG,CAC5B,SAA2C,EACe,EAAE,CAC5D,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,aAAa,IAAI,SAAS,CAAC;AAExE,MAAM,CAAC,MAAM,WAAW,GAA2C,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE;IAC/E,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EACF,WAAW,EAAE,EAAC,OAAO,EAAC,EACtB,QAAQ,GACX,GAAG,iBAAiB,EAAE,CAAC;IAExB,MAAM,EAAC,eAAe,EAAE,wBAAwB,EAAE,oBAAoB,EAAC,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAE7G,MAAM,OAAO,GAAG,UAAU,CACtB,SAAS,CAAC,aAAa,CAAC,EACxB,SAAS,CAAC,cAAc,EAAE;QACtB,gBAAgB,EAAE,2BAA2B;KAChD,CAAC,CACL,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,GAAG,EAAE;QAC5C,QAAQ,CAAC;YACL,IAAI,EAAE,uBAAuB,CAAC,UAAU;YACxC,OAAO,EAAE;gBACL,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE;oBACP,EAAE,EAAE,WAAW;oBACf,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC,KAAK;oBAC9C,MAAM,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,IAAI;oBACxE,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI;oBAC5C,UAAU,EAAG,oBAAoB,CAAC,WAAW,CAA4B,CAAC,UAAU;oBACpF,aAAa,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;wBACrE,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,cAAc,IAAI,SAAS,CAAC;wBACjE,CAAC,CAAC,SAAS,EAAE,2DAA2D;oBAC5E,UAAU,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC;wBAC9D,CAAC,CAAC,SAAS;oBACf,WAAW,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;wBACnE,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC;wBAC/D,CAAC,CAAC,SAAS;iBAClB;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,GAAG,EAAE;QAC5C,QAAQ,CAAC;YACL,IAAI,EAAE,uBAAuB,CAAC,aAAa;YAC3C,OAAO,EAAE;gBACL,EAAE,EAAE,QAAQ;aACf;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,EAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAe,EAAE,EAAE;QAChF,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAClD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CACzG,CAAC;QACF,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAChD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CACnG,CAAC;QACF,IAAI,CAAC,UAAU,IAAI,SAAS,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO;QACX,CAAC;QAED,QAAQ,CAAC,EAAC,IAAI,EAAE,uBAAuB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,EAAC,CAAC,CAAC;IACzF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACvG,MAAM,eAAe,GAAG,wBAAwB,CAAC,MAAM,CACnD,WAAW,CAAC,EAAE,CACV,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,WAAW,CAAC;QACpE,CAAC,CAAC,SAAS,IAAI,oBAAoB,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CACtG,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,mBAAK,CAAC;IACjB,CAAC;IAED,OAAO,CACH,MAAC,mBAAmB,eACf,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,KAAC,UAAU,kBAAa,CAAC,CAAC,6BAA6B,CAAC,YACpD,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,YACtF,KAAC,eAAe,IACZ,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EACvD,QAAQ,EAAE,2BAA2B,YAEpC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAC/B,KAAC,cAAc,IAEX,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,EACtC,WAAW,QACX,qBAAqB,EAAE;gCACnB,IAAI,EAAE,KAAC,WAAW,IAAC,IAAI,EAAE,KAAK,GAAI;gCAClC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;gCACjC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;6BACzC,YAED,KAAC,gBAAgB,IACb,MAAM,EACF;oCACI,GAAG,YAAY;oCACf,SAAS,EAAE;wCACP,GAAG,YAAY,CAAC,SAAS;wCACzB,GAAG,oBAAoB,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC;qCACvD;iCACQ,GAEnB,IAnBG,YAAY,CAAC,SAAS,CAAC,EAAE,CAoBjB,CACpB,CAAC,GACY,GACT,GACJ,CAChB,EACD,KAAC,aAAa,CAAC,KAAK,IAAC,KAAK,EAAC,IAAI,YAAE,CAAC,CAAC,+BAA+B,CAAC,GAAuB,EAC1F,KAAC,QAAQ,IACL,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EACvC,QAAQ,EAAE,eAAe,EACzB,UAAU,QACV,MAAM,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,QAAQ,GAAI,GAC7C,EACF,KAAC,UAAU,kBAAa,CAAC,CAAC,+BAA+B,CAAC,YACrD,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAChC,KAAC,cAAc,IAEX,WAAW,EAAE,WAAW,EACxB,qBAAqB,EAAE;wBACnB,IAAI,EAAE,KAAC,cAAc,IAAC,IAAI,EAAE,UAAU,GAAI;wBAC1C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;wBACjC,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC;qBAClC,YAED,KAAC,SAAS,IAAC,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC,KAAK,GAAI,IARxD,WAAW,CASH,CACpB,CAAC,GACO,IACK,CACzB,CAAC;AACN,CAAC,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 {type FunctionComponent} from 'react';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faSearch} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n smartFilter: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].smart_filter ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) =>\n Array.isArray(field) ? field.includes(String(draggedElement.id)) : field === String(draggedElement.id),\n );\n const indexTo = activeFilters.findIndex(({field}) =>\n Array.isArray(field) ? field.includes(String(dropTarget?.id)) : field === String(dropTarget?.id),\n );\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye icon={faEye} />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FontAwesomeIcon icon={faSearch} />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash icon={faEyeSlash} />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
@@ -33,19 +33,22 @@ export const useViewSettingsReducer = (entrypoint, defaultViewSettings = {}, ign
33
33
  /**
34
34
  * On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`
35
35
  */
36
- useExplorerLinkAttributeQuery({
36
+ const { data: linkAttributeData } = useExplorerLinkAttributeQuery({
37
37
  skip: entrypoint.type !== 'link',
38
38
  variables: {
39
39
  id: entrypoint.linkAttributeId,
40
40
  },
41
- onCompleted: data => {
42
- const attributeData = data?.attributes?.list?.[0];
43
- if (!attributeData) {
44
- throw new Error('Unknown link attribute');
45
- }
46
- setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);
47
- },
48
41
  });
42
+ useEffect(() => {
43
+ if (entrypoint.type !== 'link') {
44
+ return;
45
+ }
46
+ const attributeData = linkAttributeData?.attributes?.list?.[0];
47
+ if (!attributeData) {
48
+ return;
49
+ }
50
+ setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);
51
+ }, [entrypoint, linkAttributeData]);
49
52
  const {
50
53
  /**
51
54
  * List of my views and shared views
@@ -1 +1 @@
1
- {"version":3,"file":"useViewSettingsReducer.js","sourceRoot":"","sources":["../../../src/components/Explorer/useViewSettingsReducer.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 {useEffect, useMemo, useReducer, useState} from 'react';\nimport {\n type GetViewsListQuery,\n useExplorerAttributesQuery,\n useExplorerLinkAttributeQuery,\n useGetViewsListQuery,\n ViewSizes,\n} from '_ui/_gqlTypes';\nimport {type DefaultViewSettings, type Entrypoint, type IEntrypointLink} from './_types';\nimport {mapViewTypeFromLegacyToExplorer} from './_constants';\nimport {\n type IViewSettingsState,\n useEditSettings,\n viewSettingsInitialState,\n viewSettingsReducer,\n} from './manage-view-settings';\nimport {\n type AttributesById,\n isLinkAttributeDetails,\n useTransformFilters,\n} from '_ui/components/Filters/useTransformFilters';\n\nconst _areDifferents = <T extends object>(object1: T, object2: T) =>\n Object.keys(object1).some(key => object1[key] !== object2[key]);\n\nexport const useViewSettingsReducer = (\n entrypoint: Entrypoint,\n defaultViewSettings: DefaultViewSettings = {},\n ignoreViewByDefault: boolean,\n) => {\n /**\n * Should be `true` during all the warm up, until we `RESET` the view.\n */\n const [loading, setLoading] = useState(true);\n const [libraryId, setLibraryId] = useState(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n const [view, dispatch] = useReducer(viewSettingsReducer, viewSettingsInitialState);\n const {closeSettingsPanel} = useEditSettings();\n\n // FIXME: should be two methods taking `lang` as argument\n const {toValidFilters} = useTransformFilters();\n\n /**\n * We need to check if the `props.entrypoint` has changed to detect a new `props.entrypoint.libraryId`.\n *\n * If `false`, we reload from scratch and close the side panel that contains the views.\n */\n const needToReloadViewsFromScratch = _areDifferents(entrypoint, view.entrypoint);\n\n useEffect(() => {\n if (needToReloadViewsFromScratch) {\n setLoading(true);\n setLibraryId(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n closeSettingsPanel();\n }\n }, [needToReloadViewsFromScratch]);\n\n /**\n * On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`\n */\n useExplorerLinkAttributeQuery({\n skip: entrypoint.type !== 'link',\n variables: {\n id: (entrypoint as IEntrypointLink).linkAttributeId,\n },\n onCompleted: data => {\n const attributeData = data?.attributes?.list?.[0];\n if (!attributeData) {\n throw new Error('Unknown link attribute');\n }\n setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);\n },\n });\n\n const {\n /**\n * List of my views and shared views\n */\n data: viewData,\n loading: viewsLoading,\n error: viewError,\n } = useGetViewsListQuery({\n skip: libraryId === null,\n variables: {\n libraryId: libraryId as string,\n },\n });\n\n let userView: GetViewsListQuery['views']['list'][number] | undefined;\n if (defaultViewSettings?.viewId) {\n userView = viewData?.views?.list?.find(viewItem => viewItem.id === defaultViewSettings.viewId);\n }\n // On still `undefined` view, we take the last added one\n userView = userView ?? viewData?.views?.list?.at(-1);\n\n const userViewFilters = ignoreViewByDefault ? [] : toValidFilters(userView?.filters ?? []);\n\n const userAttributesToHydrate = ignoreViewByDefault\n ? []\n : [\n ...userViewFilters,\n ...(userView?.sort ?? []),\n ...(userView?.attributes?.map(attribute => ({field: attribute.id})) ?? []),\n ];\n\n const preparedDefaultFilters = toValidFilters(defaultViewSettings.filters ?? []);\n\n const attributesToHydrate = [\n ...new Set(\n [\n ...(preparedDefaultFilters ?? []),\n ...(defaultViewSettings.sort ?? []),\n ...userAttributesToHydrate,\n ...(defaultViewSettings?.attributesIds?.map(attributeId => ({field: attributeId})) ?? []),\n ].map(({field}) => field),\n ),\n ];\n\n const {\n data: attributesData,\n loading: attributesLoading,\n error: attributesError,\n } = useExplorerAttributesQuery({\n variables: {\n ids: attributesToHydrate,\n },\n skip: libraryId === null || viewsLoading || attributesToHydrate.length === 0,\n });\n\n const attributesDataById = useMemo(\n () =>\n (attributesData?.attributes?.list ?? []).reduce<AttributesById>((acc, attr) => {\n if (attr.permissions.access_attribute) {\n acc[attr.id] = attr;\n }\n return acc;\n }, {}),\n [attributesData],\n );\n\n useEffect(() => {\n if (libraryId !== null && !viewsLoading && !attributesLoading) {\n const savedViews = (viewData?.views.list ?? []).map(\n ({id, label, shared, display, filters, sort, attributes, created_by}) => ({\n id,\n ownerId: created_by.id,\n label,\n shared,\n display: {type: display.type, size: display.size || ViewSizes.MEDIUM},\n filters: toValidFilters(filters ?? []),\n sort: sort ?? [],\n attributes: attributes?.map(attribute => attribute.id) ?? [],\n }),\n );\n /**\n * Filters merged from `<Explorer />` props and `view`.\n * > Could include hidden filters too.\n */\n const defaultSorts = defaultViewSettings?.sort ?? [];\n const userViewSorts = ignoreViewByDefault ? [] : (userView?.sort ?? []);\n const defaultAttributesIds = (defaultViewSettings?.attributesIds ?? []).filter(\n attr => attributesDataById[attr],\n );\n const userViewAttributesIds = ignoreViewByDefault\n ? []\n : (userView?.attributes ?? []).map(attr => attr.id).filter(attr => attributesDataById[attr]);\n\n let viewProps = {};\n if (!ignoreViewByDefault) {\n viewProps = {\n viewId: userView?.id ?? null,\n viewLabels: userView?.label ?? {},\n viewType: userView?.display\n ? mapViewTypeFromLegacyToExplorer[userView.display.type]\n : viewSettingsInitialState.viewType,\n };\n }\n\n const hydratedSettings: IViewSettingsState = {\n ...viewSettingsInitialState,\n entrypoint,\n libraryId,\n ...viewProps,\n savedViews,\n ...defaultViewSettings,\n attributesIds: defaultAttributesIds.length > 0 ? defaultAttributesIds : userViewAttributesIds,\n sort: (defaultSorts.length > 0 ? defaultSorts : userViewSorts)\n .map(s => ({\n field: s.field,\n order: s.order,\n }))\n .filter(s => attributesDataById[s.field]),\n };\n dispatch({\n type: 'RESET',\n payload: {\n ...hydratedSettings,\n initialViewSettings: {\n viewType: hydratedSettings.viewType,\n attributesIds: hydratedSettings.attributesIds,\n sort: hydratedSettings.sort,\n pageSize: hydratedSettings.pageSize,\n },\n defaultViewSettings: {\n viewType: defaultViewSettings.viewType ?? 'table',\n attributesIds: defaultViewSettings.attributesIds ?? [],\n sort: defaultViewSettings.sort ?? [],\n },\n },\n });\n setLoading(false);\n }\n }, [attributesLoading, viewsLoading, libraryId]);\n\n return {\n loading,\n error: viewError ?? attributesError,\n view,\n dispatch,\n };\n};\n"]}
1
+ {"version":3,"file":"useViewSettingsReducer.js","sourceRoot":"","sources":["../../../src/components/Explorer/useViewSettingsReducer.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 {useEffect, useMemo, useReducer, useState} from 'react';\nimport {\n type GetViewsListQuery,\n useExplorerAttributesQuery,\n useExplorerLinkAttributeQuery,\n useGetViewsListQuery,\n ViewSizes,\n} from '_ui/_gqlTypes';\nimport {type DefaultViewSettings, type Entrypoint, type IEntrypointLink} from './_types';\nimport {mapViewTypeFromLegacyToExplorer} from './_constants';\nimport {\n type IViewSettingsState,\n useEditSettings,\n viewSettingsInitialState,\n viewSettingsReducer,\n} from './manage-view-settings';\nimport {\n type AttributesById,\n isLinkAttributeDetails,\n useTransformFilters,\n} from '_ui/components/Filters/useTransformFilters';\n\nconst _areDifferents = <T extends object>(object1: T, object2: T) =>\n Object.keys(object1).some(key => object1[key] !== object2[key]);\n\nexport const useViewSettingsReducer = (\n entrypoint: Entrypoint,\n defaultViewSettings: DefaultViewSettings = {},\n ignoreViewByDefault: boolean,\n) => {\n /**\n * Should be `true` during all the warm up, until we `RESET` the view.\n */\n const [loading, setLoading] = useState(true);\n const [libraryId, setLibraryId] = useState(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n const [view, dispatch] = useReducer(viewSettingsReducer, viewSettingsInitialState);\n const {closeSettingsPanel} = useEditSettings();\n\n // FIXME: should be two methods taking `lang` as argument\n const {toValidFilters} = useTransformFilters();\n\n /**\n * We need to check if the `props.entrypoint` has changed to detect a new `props.entrypoint.libraryId`.\n *\n * If `false`, we reload from scratch and close the side panel that contains the views.\n */\n const needToReloadViewsFromScratch = _areDifferents(entrypoint, view.entrypoint);\n\n useEffect(() => {\n if (needToReloadViewsFromScratch) {\n setLoading(true);\n setLibraryId(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n closeSettingsPanel();\n }\n }, [needToReloadViewsFromScratch]);\n\n /**\n * On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`\n */\n const {data: linkAttributeData} = useExplorerLinkAttributeQuery({\n skip: entrypoint.type !== 'link',\n variables: {\n id: (entrypoint as IEntrypointLink).linkAttributeId,\n },\n });\n\n useEffect(() => {\n if (entrypoint.type !== 'link') {\n return;\n }\n\n const attributeData = linkAttributeData?.attributes?.list?.[0];\n\n if (!attributeData) {\n return;\n }\n\n setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);\n }, [entrypoint, linkAttributeData]);\n\n const {\n /**\n * List of my views and shared views\n */\n data: viewData,\n loading: viewsLoading,\n error: viewError,\n } = useGetViewsListQuery({\n skip: libraryId === null,\n variables: {\n libraryId: libraryId as string,\n },\n });\n\n let userView: GetViewsListQuery['views']['list'][number] | undefined;\n if (defaultViewSettings?.viewId) {\n userView = viewData?.views?.list?.find(viewItem => viewItem.id === defaultViewSettings.viewId);\n }\n // On still `undefined` view, we take the last added one\n userView = userView ?? viewData?.views?.list?.at(-1);\n\n const userViewFilters = ignoreViewByDefault ? [] : toValidFilters(userView?.filters ?? []);\n\n const userAttributesToHydrate = ignoreViewByDefault\n ? []\n : [\n ...userViewFilters,\n ...(userView?.sort ?? []),\n ...(userView?.attributes?.map(attribute => ({field: attribute.id})) ?? []),\n ];\n\n const preparedDefaultFilters = toValidFilters(defaultViewSettings.filters ?? []);\n\n const attributesToHydrate = [\n ...new Set(\n [\n ...(preparedDefaultFilters ?? []),\n ...(defaultViewSettings.sort ?? []),\n ...userAttributesToHydrate,\n ...(defaultViewSettings?.attributesIds?.map(attributeId => ({field: attributeId})) ?? []),\n ].map(({field}) => field),\n ),\n ];\n\n const {\n data: attributesData,\n loading: attributesLoading,\n error: attributesError,\n } = useExplorerAttributesQuery({\n variables: {\n ids: attributesToHydrate,\n },\n skip: libraryId === null || viewsLoading || attributesToHydrate.length === 0,\n });\n\n const attributesDataById = useMemo(\n () =>\n (attributesData?.attributes?.list ?? []).reduce<AttributesById>((acc, attr) => {\n if (attr.permissions.access_attribute) {\n acc[attr.id] = attr;\n }\n return acc;\n }, {}),\n [attributesData],\n );\n\n useEffect(() => {\n if (libraryId !== null && !viewsLoading && !attributesLoading) {\n const savedViews = (viewData?.views.list ?? []).map(\n ({id, label, shared, display, filters, sort, attributes, created_by}) => ({\n id,\n ownerId: created_by.id,\n label,\n shared,\n display: {type: display.type, size: display.size || ViewSizes.MEDIUM},\n filters: toValidFilters(filters ?? []),\n sort: sort ?? [],\n attributes: attributes?.map(attribute => attribute.id) ?? [],\n }),\n );\n /**\n * Filters merged from `<Explorer />` props and `view`.\n * > Could include hidden filters too.\n */\n const defaultSorts = defaultViewSettings?.sort ?? [];\n const userViewSorts = ignoreViewByDefault ? [] : (userView?.sort ?? []);\n const defaultAttributesIds = (defaultViewSettings?.attributesIds ?? []).filter(\n attr => attributesDataById[attr],\n );\n const userViewAttributesIds = ignoreViewByDefault\n ? []\n : (userView?.attributes ?? []).map(attr => attr.id).filter(attr => attributesDataById[attr]);\n\n let viewProps = {};\n if (!ignoreViewByDefault) {\n viewProps = {\n viewId: userView?.id ?? null,\n viewLabels: userView?.label ?? {},\n viewType: userView?.display\n ? mapViewTypeFromLegacyToExplorer[userView.display.type]\n : viewSettingsInitialState.viewType,\n };\n }\n\n const hydratedSettings: IViewSettingsState = {\n ...viewSettingsInitialState,\n entrypoint,\n libraryId,\n ...viewProps,\n savedViews,\n ...defaultViewSettings,\n attributesIds: defaultAttributesIds.length > 0 ? defaultAttributesIds : userViewAttributesIds,\n sort: (defaultSorts.length > 0 ? defaultSorts : userViewSorts)\n .map(s => ({\n field: s.field,\n order: s.order,\n }))\n .filter(s => attributesDataById[s.field]),\n };\n dispatch({\n type: 'RESET',\n payload: {\n ...hydratedSettings,\n initialViewSettings: {\n viewType: hydratedSettings.viewType,\n attributesIds: hydratedSettings.attributesIds,\n sort: hydratedSettings.sort,\n pageSize: hydratedSettings.pageSize,\n },\n defaultViewSettings: {\n viewType: defaultViewSettings.viewType ?? 'table',\n attributesIds: defaultViewSettings.attributesIds ?? [],\n sort: defaultViewSettings.sort ?? [],\n },\n },\n });\n setLoading(false);\n }\n }, [attributesLoading, viewsLoading, libraryId]);\n\n return {\n loading,\n error: viewError ?? attributesError,\n view,\n dispatch,\n };\n};\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generates recursive GraphQL for tree node children.
3
+ * Used to fetch nested children up to the specified depth.
4
+ */
5
+ export declare const treeFiltersTreeNodeChildren: (depth?: number) => string;
6
+ export declare const treeFiltersDataQuery: (depthTreeNodes?: number) => import("@apollo/client").DocumentNode;
@@ -0,0 +1,54 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { gql } from '@apollo/client';
5
+ const DEFAULT_DEPTH_TREE_NODES = 10;
6
+ /**
7
+ * Generates recursive GraphQL for tree node children.
8
+ * Used to fetch nested children up to the specified depth.
9
+ */
10
+ export const treeFiltersTreeNodeChildren = (depth = 0) => `
11
+ children {
12
+ id
13
+ record {
14
+ id
15
+ whoAmI {
16
+ id
17
+ label
18
+ library {
19
+ id
20
+ }
21
+ }
22
+ }
23
+ accessRecordByDefaultPermission
24
+ ${depth > 0 ? treeFiltersTreeNodeChildren(depth - 1) : ''}
25
+ }
26
+ `;
27
+ export const treeFiltersDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql `
28
+ query TreeFiltersDataQuery(
29
+ $treeId: ID!
30
+ $startAt: ID
31
+ $accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput
32
+ ) {
33
+ treeContent(
34
+ treeId: $treeId
35
+ startAt: $startAt
36
+ accessRecordByDefaultPermission: $accessRecordByDefaultPermission
37
+ ) {
38
+ id
39
+ record {
40
+ id
41
+ whoAmI {
42
+ id
43
+ label
44
+ library {
45
+ id
46
+ }
47
+ }
48
+ }
49
+ ${treeFiltersTreeNodeChildren(depthTreeNodes - 1)}
50
+ accessRecordByDefaultPermission
51
+ }
52
+ }
53
+ `;
54
+ //# sourceMappingURL=treeFiltersDataQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeFiltersDataQuery.js","sourceRoot":"","sources":["../../../../src/components/Filters/_queries/treeFiltersDataQuery.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAEnC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;;;;;;;;;;;;;;UAchD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;;CAEhE,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,cAAc,GAAG,wBAAwB,EAAE,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;cAsBxE,2BAA2B,CAAC,cAAc,GAAG,CAAC,CAAC;;;;CAI5D,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 {gql} from '@apollo/client';\n\nconst DEFAULT_DEPTH_TREE_NODES = 10;\n\n/**\n * Generates recursive GraphQL for tree node children.\n * Used to fetch nested children up to the specified depth.\n */\nexport const treeFiltersTreeNodeChildren = (depth = 0) => `\n children {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n accessRecordByDefaultPermission\n ${depth > 0 ? treeFiltersTreeNodeChildren(depth - 1) : ''}\n }\n`;\n\nexport const treeFiltersDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql`\n query TreeFiltersDataQuery(\n $treeId: ID!\n $startAt: ID\n $accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput\n ) {\n treeContent(\n treeId: $treeId\n startAt: $startAt\n accessRecordByDefaultPermission: $accessRecordByDefaultPermission\n ) {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n ${treeFiltersTreeNodeChildren(depthTreeNodes - 1)}\n accessRecordByDefaultPermission\n }\n }\n`;\n"]}
@@ -1,13 +1,27 @@
1
1
  // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
2
  // This file is released under LGPL V3
3
3
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
- import { useGetLibraryByIdQuery, useGetTreeNodeChildrenWithAccessByDefaultPermissionQueryLazyQuery, } from '../../../_gqlTypes';
4
+ import { useLazyQuery } from '@apollo/client';
5
+ import { useGetLibraryByIdQuery } from '../../../_gqlTypes';
5
6
  import { useEffect, useState } from 'react';
6
- import { defaultPaginationPageSize } from '../../../constants';
7
+ import { treeFiltersDataQuery } from '../_queries/treeFiltersDataQuery';
8
+ const _flattenNodes = (nodes) => nodes.flatMap(node => [
9
+ ...(node.accessRecordByDefaultPermission
10
+ ? [
11
+ {
12
+ nodeId: node.id,
13
+ libraryId: node.record.whoAmI.library.id,
14
+ value: node.record.id,
15
+ label: node.record.whoAmI.label,
16
+ },
17
+ ]
18
+ : []),
19
+ ..._flattenNodes(node.children ?? []),
20
+ ]);
7
21
  export const useGetTreeFilters = ({ libraryId, skip }) => {
8
22
  const [treeFilters, setTreeFilters] = useState({});
9
23
  const [treeFiltersLoading, setTreeFiltersLoading] = useState(true);
10
- const [loadTreeContent] = useGetTreeNodeChildrenWithAccessByDefaultPermissionQueryLazyQuery();
24
+ const [loadTreeFilters] = useLazyQuery(treeFiltersDataQuery());
11
25
  const { data: libraryData, loading: libraryLoading } = useGetLibraryByIdQuery({
12
26
  variables: {
13
27
  id: libraryId,
@@ -23,50 +37,20 @@ export const useGetTreeFilters = ({ libraryId, skip }) => {
23
37
  attributeId: attribute.id,
24
38
  treeId: libraryData?.libraries.list[0]?.attributes.find(tree => tree.id === attribute.id)?.linked_tree?.id,
25
39
  })) || [];
26
- const _fetchChildrenPage = async (treeId, attributeId, parentNodeKey, offset) => {
27
- const { data } = await loadTreeContent({
40
+ const treeResponse = await Promise.all(treeAttributesWithExtendedPermissions.map(async (attribute) => {
41
+ const { data } = await loadTreeFilters({
28
42
  variables: {
29
- treeId,
30
- node: parentNodeKey,
31
- pagination: { offset, limit: defaultPaginationPageSize },
43
+ treeId: attribute.treeId,
32
44
  accessRecordByDefaultPermission: {
33
- attributeId,
45
+ attributeId: attribute.attributeId,
34
46
  libraryId,
35
47
  },
36
48
  },
37
49
  });
38
- const { list, totalCount } = data?.treeNodeChildren ?? { list: [], totalCount: 0 };
39
- const records = [];
40
- for (const node of list) {
41
- if (node.accessRecordByDefaultPermission) {
42
- records.push({
43
- nodeId: node.id,
44
- libraryId: node.record.whoAmI.library.id,
45
- value: node.record.id,
46
- label: node.record.whoAmI.label,
47
- });
48
- }
49
- if (node.childrenCount > 0) {
50
- const childrenRecords = await _fetchAllChildren(treeId, attributeId, node.id);
51
- records.push(...childrenRecords);
52
- }
53
- }
54
- return { records, totalCount };
55
- };
56
- const _fetchAllChildren = async (treeId, attributeId, parentNodeKey, offset = 0, accumulated = []) => {
57
- const { records, totalCount } = await _fetchChildrenPage(treeId, attributeId, parentNodeKey, offset);
58
- const allRecords = [...accumulated, ...records];
59
- const nextOffset = offset + defaultPaginationPageSize;
60
- if (nextOffset < totalCount) {
61
- return _fetchAllChildren(treeId, attributeId, parentNodeKey, nextOffset, allRecords);
62
- }
63
- return allRecords;
64
- };
65
- const treeResponse = await Promise.all(treeAttributesWithExtendedPermissions.map(async (attribute) => {
66
- const recordIds = await _fetchAllChildren(attribute.treeId, attribute.attributeId, null);
50
+ const flatNodes = _flattenNodes(data?.treeContent ?? []);
67
51
  return {
68
52
  attributeId: attribute.attributeId,
69
- recordIds,
53
+ recordIds: flatNodes,
70
54
  };
71
55
  }));
72
56
  const attributeRecords = treeResponse.reduce((acc, item) => {
@@ -79,7 +63,7 @@ export const useGetTreeFilters = ({ libraryId, skip }) => {
79
63
  setTreeFiltersLoading(false);
80
64
  };
81
65
  fetchTreeFilters();
82
- }, [skip, libraryId, libraryLoading, libraryData, loadTreeContent]);
66
+ }, [skip, libraryId, libraryLoading, libraryData, loadTreeFilters]);
83
67
  return {
84
68
  data: treeFilters,
85
69
  loading: treeFiltersLoading,
@@ -1 +1 @@
1
- {"version":3,"file":"useGetTreeFilters.js","sourceRoot":"","sources":["../../../../src/components/Filters/context/useGetTreeFilters.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 {\n type TreeAttributeDetailsFragment,\n useGetLibraryByIdQuery,\n useGetTreeNodeChildrenWithAccessByDefaultPermissionQueryLazyQuery,\n} from '_ui/_gqlTypes';\nimport {useEffect, useState} from 'react';\nimport {defaultPaginationPageSize} from '_ui/constants';\n\ninterface ITreeNode {\n nodeId: string;\n libraryId: string;\n value: string;\n label: string;\n}\n\nexport interface ITreeFilters {\n [x: string]: ITreeNode[];\n}\n\nexport const useGetTreeFilters = ({libraryId, skip}: {libraryId: string; skip: boolean}) => {\n const [treeFilters, setTreeFilters] = useState<ITreeFilters>({});\n const [treeFiltersLoading, setTreeFiltersLoading] = useState(true);\n const [loadTreeContent] = useGetTreeNodeChildrenWithAccessByDefaultPermissionQueryLazyQuery();\n\n const {data: libraryData, loading: libraryLoading} = useGetLibraryByIdQuery({\n variables: {\n id: libraryId,\n },\n skip: skip || !libraryId,\n });\n\n useEffect(() => {\n if (skip || !libraryId || libraryLoading || !libraryData) {\n return;\n }\n\n const fetchTreeFilters = async () => {\n const treeAttributesWithExtendedPermissions: Array<{attributeId: string; treeId: string}> =\n libraryData?.libraries.list[0]?.permissions_conf?.permissionTreeAttributes.map(attribute => ({\n attributeId: attribute.id,\n treeId: (\n libraryData?.libraries.list[0]?.attributes.find(\n tree => tree.id === attribute.id,\n ) as TreeAttributeDetailsFragment\n )?.linked_tree?.id,\n })) || [];\n\n const _fetchChildrenPage = async (\n treeId: string,\n attributeId: string,\n parentNodeKey: string | null,\n offset: number,\n ) => {\n const {data} = await loadTreeContent({\n variables: {\n treeId,\n node: parentNodeKey,\n pagination: {offset, limit: defaultPaginationPageSize},\n accessRecordByDefaultPermission: {\n attributeId,\n libraryId,\n },\n },\n });\n\n const {list, totalCount} = data?.treeNodeChildren ?? {list: [], totalCount: 0};\n\n const records: ITreeNode[] = [];\n\n for (const node of list) {\n if (node.accessRecordByDefaultPermission) {\n records.push({\n nodeId: node.id,\n libraryId: node.record.whoAmI.library.id,\n value: node.record.id,\n label: node.record.whoAmI.label,\n });\n }\n\n if (node.childrenCount > 0) {\n const childrenRecords = await _fetchAllChildren(treeId, attributeId, node.id);\n records.push(...childrenRecords);\n }\n }\n\n return {records, totalCount};\n };\n\n const _fetchAllChildren = async (\n treeId: string,\n attributeId: string,\n parentNodeKey: string | null,\n offset = 0,\n accumulated: ITreeNode[] = [],\n ): Promise<ITreeNode[]> => {\n const {records, totalCount} = await _fetchChildrenPage(treeId, attributeId, parentNodeKey, offset);\n const allRecords = [...accumulated, ...records];\n\n const nextOffset = offset + defaultPaginationPageSize;\n if (nextOffset < totalCount) {\n return _fetchAllChildren(treeId, attributeId, parentNodeKey, nextOffset, allRecords);\n }\n\n return allRecords;\n };\n\n const treeResponse = await Promise.all(\n treeAttributesWithExtendedPermissions.map(async attribute => {\n const recordIds = await _fetchAllChildren(attribute.treeId, attribute.attributeId, null);\n\n return {\n attributeId: attribute.attributeId,\n recordIds,\n };\n }),\n );\n\n const attributeRecords = treeResponse.reduce((acc, item) => {\n if (item.recordIds.length > 0) {\n acc[item.attributeId] = item.recordIds;\n }\n return acc;\n }, {});\n\n setTreeFilters(attributeRecords);\n setTreeFiltersLoading(false);\n };\n\n fetchTreeFilters();\n }, [skip, libraryId, libraryLoading, libraryData, loadTreeContent]);\n\n return {\n data: treeFilters,\n loading: treeFiltersLoading,\n };\n};\n"]}
1
+ {"version":3,"file":"useGetTreeFilters.js","sourceRoot":"","sources":["../../../../src/components/Filters/context/useGetTreeFilters.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 {useLazyQuery} from '@apollo/client';\nimport {type TreeAttributeDetailsFragment, useGetLibraryByIdQuery, type TreeFiltersDataQueryQuery} from '_ui/_gqlTypes';\nimport {useEffect, useState} from 'react';\nimport {treeFiltersDataQuery} from '../_queries/treeFiltersDataQuery';\n\ninterface ITreeNode {\n nodeId: string;\n libraryId: string;\n value: string;\n label: string;\n}\n\nexport interface ITreeFilters {\n [x: string]: ITreeNode[];\n}\n\nconst _flattenNodes = (\n nodes: Array<\n TreeFiltersDataQueryQuery['treeContent'][number] & {\n children?: Array<TreeFiltersDataQueryQuery['treeContent'][number]>;\n }\n >,\n): ITreeNode[] =>\n nodes.flatMap(node => [\n ...(node.accessRecordByDefaultPermission\n ? [\n {\n nodeId: node.id,\n libraryId: node.record.whoAmI.library.id,\n value: node.record.id,\n label: node.record.whoAmI.label,\n },\n ]\n : []),\n ..._flattenNodes(node.children ?? []),\n ]);\n\nexport const useGetTreeFilters = ({libraryId, skip}: {libraryId: string; skip: boolean}) => {\n const [treeFilters, setTreeFilters] = useState<ITreeFilters>({});\n const [treeFiltersLoading, setTreeFiltersLoading] = useState(true);\n const [loadTreeFilters] = useLazyQuery(treeFiltersDataQuery());\n\n const {data: libraryData, loading: libraryLoading} = useGetLibraryByIdQuery({\n variables: {\n id: libraryId,\n },\n skip: skip || !libraryId,\n });\n\n useEffect(() => {\n if (skip || !libraryId || libraryLoading || !libraryData) {\n return;\n }\n\n const fetchTreeFilters = async () => {\n const treeAttributesWithExtendedPermissions: Array<{attributeId: string; treeId: string}> =\n libraryData?.libraries.list[0]?.permissions_conf?.permissionTreeAttributes.map(attribute => ({\n attributeId: attribute.id,\n treeId: (\n libraryData?.libraries.list[0]?.attributes.find(\n tree => tree.id === attribute.id,\n ) as TreeAttributeDetailsFragment\n )?.linked_tree?.id,\n })) || [];\n\n const treeResponse = await Promise.all(\n treeAttributesWithExtendedPermissions.map(async attribute => {\n const {data} = await loadTreeFilters({\n variables: {\n treeId: attribute.treeId,\n accessRecordByDefaultPermission: {\n attributeId: attribute.attributeId,\n libraryId,\n },\n },\n });\n\n const flatNodes = _flattenNodes(data?.treeContent ?? []);\n\n return {\n attributeId: attribute.attributeId,\n recordIds: flatNodes,\n };\n }),\n );\n\n const attributeRecords = treeResponse.reduce((acc, item) => {\n if (item.recordIds.length > 0) {\n acc[item.attributeId] = item.recordIds;\n }\n return acc;\n }, {});\n\n setTreeFilters(attributeRecords);\n setTreeFiltersLoading(false);\n };\n\n fetchTreeFilters();\n }, [skip, libraryId, libraryLoading, libraryData, loadTreeFilters]);\n\n return {\n data: treeFilters,\n loading: treeFiltersLoading,\n };\n};\n"]}
@@ -101,8 +101,7 @@ export const TreeAttributeDropDown = ({ filter, onFilterChange, }) => {
101
101
  selectedKeys: selectedNodesIds,
102
102
  checkedKeys: selectedNodesIds,
103
103
  defaultExpandedKeys: selectedNodesIds,
104
- expandedKeys: [...selectedNodesIds, ...expandedNodeIdsFromUser, ...expandedNodeIdsFromSearch],
105
- autoExpandParent: true,
104
+ expandedKeys: [...expandedNodeIdsFromUser, ...expandedNodeIdsFromSearch],
106
105
  checkable: true,
107
106
  checkStrictly: true,
108
107
  multiple: true,
@@ -1 +1 @@
1
- {"version":3,"file":"TreeAttributeDropDown.js","sourceRoot":"","sources":["../../../../../../src/components/Filters/filter-items/filter-type/tree/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, type Key, useMemo, useState} from 'react';\nimport {type IFilterChildrenTreeDropDownProps} from '../_types';\nimport styled from 'styled-components';\nimport {KitDivider, KitLoader, KitSpace, KitTree, KitTypography} from 'aristid-ds';\nimport {type EventDataNode} from 'antd/lib/tree';\nimport {type ITreeNode, useGetTreeData} from './useGetTreeData';\nimport {ErrorDisplay} from '_ui/components/ErrorDisplay';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useTreesSearch} from './useTreesSearch';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {EmptyValueCheckbox} from '../../shared/EmptyValueCheckbox';\nimport {SelectAllCheckbox} from '../../shared/SelectAllCheckbox';\nimport {buildFlattenTree} from './utils/buildFlattenTreeMap';\nimport {getSelectAllState} from './utils/getSelectAllState';\nimport {filterTreeByPermission} from './utils/filterTreeByPermission';\n\nconst ScrollableContent = styled.div`\n max-height: 182px; /* Equal to 5.5 nodes of KitTree */\n overflow-y: auto;\n overflow-x: hidden;\n width: 100%;\n`;\n\nconst FilteredTreeTitle = styled(KitTypography.Text)`\n color: var(--general-colors-neutral-grey-500);\n`;\n\nconst FilteredTreeSpacer = styled(KitSpace)`\n width: 100%;\n`;\n\nconst DropdownContentWrapper = styled(KitSpace)`\n width: 327px;\n justify-content: center;\n`;\n\nexport const TreeAttributeDropDown: FunctionComponent<IFilterChildrenTreeDropDownProps> = ({\n filter,\n onFilterChange,\n}) => {\n const {t} = useSharedTranslation();\n const {filtersData} = useFiltersContext();\n const {treeData, isLoading, error} = useGetTreeData({\n treeId: filter.attribute.linkedTree?.id ?? '',\n attributeId: filter.attribute.id,\n libraryId: filtersData.libraryId,\n });\n\n // Split treeData based on accessRecordByDefaultPermission\n const visibleByDefaultTree = useMemo(() => filterTreeByPermission(treeData, true), [treeData]);\n const hiddenByDefaultTree = useMemo(() => filterTreeByPermission(treeData, false), [treeData]);\n\n const {filteredVisibleByDefaultTree, filteredHiddenByDefaultTree, expandedNodeIdsFromSearch, SearchInput} =\n useTreesSearch(visibleByDefaultTree, hiddenByDefaultTree);\n\n const [expandedNodeIdsFromUser, setExpandedNodeIdsFromUser] = useState<Key[]>([]);\n\n const selectedNodesIds = (filter.nodes ?? []).map(node => node.nodeId);\n const areBothTreesFilled = visibleByDefaultTree.length > 0 && hiddenByDefaultTree.length > 0;\n\n // Build flatten trees to optimize the search and selection of nodes in handling functions\n const flattenTreeData = useMemo(() => buildFlattenTree(treeData), [treeData]);\n const flattenVisibleByDefaultTree = useMemo(() => buildFlattenTree(visibleByDefaultTree), [visibleByDefaultTree]);\n const flattenHiddenByDefaultTree = useMemo(() => buildFlattenTree(hiddenByDefaultTree), [hiddenByDefaultTree]);\n\n const _handleOnSelectEmptyValue = (selected: boolean) => {\n onFilterChange({\n ...filter,\n withEmptyValues: selected,\n });\n };\n\n const _handleOnSelect = (node: ITreeNode, selected: boolean) => {\n let newSelectedIds: string[];\n\n if (selected) {\n newSelectedIds = [...selectedNodesIds, node.id];\n } else {\n newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.id);\n }\n\n const selectedNodes = newSelectedIds\n .map(nodeId => flattenTreeData.get(nodeId))\n .filter((selectedNode): selectedNode is ITreeNode => Boolean(selectedNode));\n\n onFilterChange({\n ...filter,\n nodes: selectedNodes.map(selectedNode => ({nodeId: selectedNode.id, libraryId: selectedNode.libraryId})),\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n });\n };\n\n const _handleOnSelectAll = (treeToSelect: Map<string, ITreeNode>, isSelected: boolean) => {\n const treeNodeIds = Array.from(treeToSelect.keys());\n\n // Using Set to avoid duplicates\n const newSelectedIds = isSelected\n ? [...new Set([...selectedNodesIds, ...treeNodeIds])]\n : selectedNodesIds.filter(id => !treeNodeIds.includes(id));\n\n const selectedNodes = newSelectedIds\n .map(nodeId => flattenTreeData.get(nodeId))\n .filter((selectedNode): selectedNode is ITreeNode => Boolean(selectedNode));\n\n onFilterChange({\n ...filter,\n nodes: selectedNodes.map(selectedNode => ({\n nodeId: selectedNode.id,\n libraryId: selectedNode.libraryId,\n })),\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n });\n };\n\n const _handleOnSelectAllVisibleByDefault = (isSelected: boolean) =>\n _handleOnSelectAll(flattenVisibleByDefaultTree, isSelected);\n\n const _handleOnSelectAllHiddenByDefault = (isSelected: boolean) =>\n _handleOnSelectAll(flattenHiddenByDefaultTree, isSelected);\n\n const {allSelected: allVisibleSelected, indeterminate: visibleIndeterminate} = getSelectAllState(\n selectedNodesIds,\n flattenVisibleByDefaultTree,\n );\n\n const {allSelected: allHiddenSelected, indeterminate: hiddenIndeterminate} = getSelectAllState(\n selectedNodesIds,\n flattenHiddenByDefaultTree,\n );\n\n const treeCommonProps: ComponentProps<typeof KitTree> = {\n selectedKeys: selectedNodesIds,\n checkedKeys: selectedNodesIds,\n defaultExpandedKeys: selectedNodesIds,\n expandedKeys: [...selectedNodesIds, ...expandedNodeIdsFromUser, ...expandedNodeIdsFromSearch],\n autoExpandParent: true,\n checkable: true,\n checkStrictly: true,\n multiple: true,\n onExpand: expandedKeys => {\n setExpandedNodeIdsFromUser(expandedKeys);\n },\n onCheck: (_, info) => {\n const node = info.node as EventDataNode<ITreeNode>;\n _handleOnSelect(node, info.checked);\n },\n onSelect: (_, info) => {\n const node = info.node as EventDataNode<ITreeNode>;\n _handleOnSelect(node, info.selected);\n },\n };\n\n if (isLoading) {\n return (\n <DropdownContentWrapper>\n <KitLoader />\n </DropdownContentWrapper>\n );\n }\n\n if (error) {\n return (\n <DropdownContentWrapper>\n <ErrorDisplay message={error.message} />\n </DropdownContentWrapper>\n );\n }\n\n return (\n <DropdownContentWrapper direction=\"vertical\" size=\"xs\">\n {SearchInput}\n {areBothTreesFilled ? (\n <>\n <EmptyValueCheckbox onSelect={_handleOnSelectEmptyValue} filter={filter} />\n <FilteredTreeSpacer direction=\"vertical\" size=\"xxs\">\n <FilteredTreeTitle size=\"fontSize5\" weight=\"medium\">\n {t('filters.visible-by-default')}\n </FilteredTreeTitle>\n <ScrollableContent>\n <SelectAllCheckbox\n checked={allVisibleSelected}\n indeterminate={visibleIndeterminate}\n onChange={_handleOnSelectAllVisibleByDefault}\n />\n <KitTree treeData={filteredVisibleByDefaultTree} {...treeCommonProps} />\n </ScrollableContent>\n </FilteredTreeSpacer>\n <KitDivider noMargin />\n <FilteredTreeSpacer direction=\"vertical\" size=\"xxs\">\n <FilteredTreeTitle size=\"fontSize5\" weight=\"medium\">\n {t('filters.hidden-by-default')}\n </FilteredTreeTitle>\n <ScrollableContent>\n <SelectAllCheckbox\n checked={allHiddenSelected}\n indeterminate={hiddenIndeterminate}\n onChange={_handleOnSelectAllHiddenByDefault}\n />\n <KitTree treeData={filteredHiddenByDefaultTree} {...treeCommonProps} />\n </ScrollableContent>\n </FilteredTreeSpacer>\n </>\n ) : (\n <ScrollableContent>\n <EmptyValueCheckbox onSelect={_handleOnSelectEmptyValue} filter={filter} />\n <SelectAllCheckbox\n checked={visibleByDefaultTree.length > 0 ? allVisibleSelected : allHiddenSelected}\n indeterminate={visibleByDefaultTree.length > 0 ? visibleIndeterminate : hiddenIndeterminate}\n onChange={\n visibleByDefaultTree.length > 0\n ? _handleOnSelectAllVisibleByDefault\n : _handleOnSelectAllHiddenByDefault\n }\n />\n <KitTree\n treeData={\n visibleByDefaultTree.length > 0 ? filteredVisibleByDefaultTree : filteredHiddenByDefaultTree\n }\n {...treeCommonProps}\n />\n </ScrollableContent>\n )}\n </DropdownContentWrapper>\n );\n};\n"]}
1
+ {"version":3,"file":"TreeAttributeDropDown.js","sourceRoot":"","sources":["../../../../../../src/components/Filters/filter-items/filter-type/tree/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, type Key, useMemo, useState} from 'react';\nimport {type IFilterChildrenTreeDropDownProps} from '../_types';\nimport styled from 'styled-components';\nimport {KitDivider, KitLoader, KitSpace, KitTree, KitTypography} from 'aristid-ds';\nimport {type EventDataNode} from 'antd/lib/tree';\nimport {type ITreeNode, useGetTreeData} from './useGetTreeData';\nimport {ErrorDisplay} from '_ui/components/ErrorDisplay';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useTreesSearch} from './useTreesSearch';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {EmptyValueCheckbox} from '../../shared/EmptyValueCheckbox';\nimport {SelectAllCheckbox} from '../../shared/SelectAllCheckbox';\nimport {buildFlattenTree} from './utils/buildFlattenTreeMap';\nimport {getSelectAllState} from './utils/getSelectAllState';\nimport {filterTreeByPermission} from './utils/filterTreeByPermission';\n\nconst ScrollableContent = styled.div`\n max-height: 182px; /* Equal to 5.5 nodes of KitTree */\n overflow-y: auto;\n overflow-x: hidden;\n width: 100%;\n`;\n\nconst FilteredTreeTitle = styled(KitTypography.Text)`\n color: var(--general-colors-neutral-grey-500);\n`;\n\nconst FilteredTreeSpacer = styled(KitSpace)`\n width: 100%;\n`;\n\nconst DropdownContentWrapper = styled(KitSpace)`\n width: 327px;\n justify-content: center;\n`;\n\nexport const TreeAttributeDropDown: FunctionComponent<IFilterChildrenTreeDropDownProps> = ({\n filter,\n onFilterChange,\n}) => {\n const {t} = useSharedTranslation();\n const {filtersData} = useFiltersContext();\n const {treeData, isLoading, error} = useGetTreeData({\n treeId: filter.attribute.linkedTree?.id ?? '',\n attributeId: filter.attribute.id,\n libraryId: filtersData.libraryId,\n });\n\n // Split treeData based on accessRecordByDefaultPermission\n const visibleByDefaultTree = useMemo(() => filterTreeByPermission(treeData, true), [treeData]);\n const hiddenByDefaultTree = useMemo(() => filterTreeByPermission(treeData, false), [treeData]);\n\n const {filteredVisibleByDefaultTree, filteredHiddenByDefaultTree, expandedNodeIdsFromSearch, SearchInput} =\n useTreesSearch(visibleByDefaultTree, hiddenByDefaultTree);\n\n const [expandedNodeIdsFromUser, setExpandedNodeIdsFromUser] = useState<Key[]>([]);\n\n const selectedNodesIds = (filter.nodes ?? []).map(node => node.nodeId);\n const areBothTreesFilled = visibleByDefaultTree.length > 0 && hiddenByDefaultTree.length > 0;\n\n // Build flatten trees to optimize the search and selection of nodes in handling functions\n const flattenTreeData = useMemo(() => buildFlattenTree(treeData), [treeData]);\n const flattenVisibleByDefaultTree = useMemo(() => buildFlattenTree(visibleByDefaultTree), [visibleByDefaultTree]);\n const flattenHiddenByDefaultTree = useMemo(() => buildFlattenTree(hiddenByDefaultTree), [hiddenByDefaultTree]);\n\n const _handleOnSelectEmptyValue = (selected: boolean) => {\n onFilterChange({\n ...filter,\n withEmptyValues: selected,\n });\n };\n\n const _handleOnSelect = (node: ITreeNode, selected: boolean) => {\n let newSelectedIds: string[];\n\n if (selected) {\n newSelectedIds = [...selectedNodesIds, node.id];\n } else {\n newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.id);\n }\n\n const selectedNodes = newSelectedIds\n .map(nodeId => flattenTreeData.get(nodeId))\n .filter((selectedNode): selectedNode is ITreeNode => Boolean(selectedNode));\n\n onFilterChange({\n ...filter,\n nodes: selectedNodes.map(selectedNode => ({nodeId: selectedNode.id, libraryId: selectedNode.libraryId})),\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n });\n };\n\n const _handleOnSelectAll = (treeToSelect: Map<string, ITreeNode>, isSelected: boolean) => {\n const treeNodeIds = Array.from(treeToSelect.keys());\n\n // Using Set to avoid duplicates\n const newSelectedIds = isSelected\n ? [...new Set([...selectedNodesIds, ...treeNodeIds])]\n : selectedNodesIds.filter(id => !treeNodeIds.includes(id));\n\n const selectedNodes = newSelectedIds\n .map(nodeId => flattenTreeData.get(nodeId))\n .filter((selectedNode): selectedNode is ITreeNode => Boolean(selectedNode));\n\n onFilterChange({\n ...filter,\n nodes: selectedNodes.map(selectedNode => ({\n nodeId: selectedNode.id,\n libraryId: selectedNode.libraryId,\n })),\n value: selectedNodes.map(selectedNode => selectedNode.recordId),\n formattedValue: selectedNodes.map(selectedNode => selectedNode.title),\n });\n };\n\n const _handleOnSelectAllVisibleByDefault = (isSelected: boolean) =>\n _handleOnSelectAll(flattenVisibleByDefaultTree, isSelected);\n\n const _handleOnSelectAllHiddenByDefault = (isSelected: boolean) =>\n _handleOnSelectAll(flattenHiddenByDefaultTree, isSelected);\n\n const {allSelected: allVisibleSelected, indeterminate: visibleIndeterminate} = getSelectAllState(\n selectedNodesIds,\n flattenVisibleByDefaultTree,\n );\n\n const {allSelected: allHiddenSelected, indeterminate: hiddenIndeterminate} = getSelectAllState(\n selectedNodesIds,\n flattenHiddenByDefaultTree,\n );\n\n const treeCommonProps: ComponentProps<typeof KitTree> = {\n selectedKeys: selectedNodesIds,\n checkedKeys: selectedNodesIds,\n defaultExpandedKeys: selectedNodesIds,\n expandedKeys: [...expandedNodeIdsFromUser, ...expandedNodeIdsFromSearch],\n checkable: true,\n checkStrictly: true,\n multiple: true,\n onExpand: expandedKeys => {\n setExpandedNodeIdsFromUser(expandedKeys);\n },\n onCheck: (_, info) => {\n const node = info.node as EventDataNode<ITreeNode>;\n _handleOnSelect(node, info.checked);\n },\n onSelect: (_, info) => {\n const node = info.node as EventDataNode<ITreeNode>;\n _handleOnSelect(node, info.selected);\n },\n };\n\n if (isLoading) {\n return (\n <DropdownContentWrapper>\n <KitLoader />\n </DropdownContentWrapper>\n );\n }\n\n if (error) {\n return (\n <DropdownContentWrapper>\n <ErrorDisplay message={error.message} />\n </DropdownContentWrapper>\n );\n }\n\n return (\n <DropdownContentWrapper direction=\"vertical\" size=\"xs\">\n {SearchInput}\n {areBothTreesFilled ? (\n <>\n <EmptyValueCheckbox onSelect={_handleOnSelectEmptyValue} filter={filter} />\n <FilteredTreeSpacer direction=\"vertical\" size=\"xxs\">\n <FilteredTreeTitle size=\"fontSize5\" weight=\"medium\">\n {t('filters.visible-by-default')}\n </FilteredTreeTitle>\n <ScrollableContent>\n <SelectAllCheckbox\n checked={allVisibleSelected}\n indeterminate={visibleIndeterminate}\n onChange={_handleOnSelectAllVisibleByDefault}\n />\n <KitTree treeData={filteredVisibleByDefaultTree} {...treeCommonProps} />\n </ScrollableContent>\n </FilteredTreeSpacer>\n <KitDivider noMargin />\n <FilteredTreeSpacer direction=\"vertical\" size=\"xxs\">\n <FilteredTreeTitle size=\"fontSize5\" weight=\"medium\">\n {t('filters.hidden-by-default')}\n </FilteredTreeTitle>\n <ScrollableContent>\n <SelectAllCheckbox\n checked={allHiddenSelected}\n indeterminate={hiddenIndeterminate}\n onChange={_handleOnSelectAllHiddenByDefault}\n />\n <KitTree treeData={filteredHiddenByDefaultTree} {...treeCommonProps} />\n </ScrollableContent>\n </FilteredTreeSpacer>\n </>\n ) : (\n <ScrollableContent>\n <EmptyValueCheckbox onSelect={_handleOnSelectEmptyValue} filter={filter} />\n <SelectAllCheckbox\n checked={visibleByDefaultTree.length > 0 ? allVisibleSelected : allHiddenSelected}\n indeterminate={visibleByDefaultTree.length > 0 ? visibleIndeterminate : hiddenIndeterminate}\n onChange={\n visibleByDefaultTree.length > 0\n ? _handleOnSelectAllVisibleByDefault\n : _handleOnSelectAllHiddenByDefault\n }\n />\n <KitTree\n treeData={\n visibleByDefaultTree.length > 0 ? filteredVisibleByDefaultTree : filteredHiddenByDefaultTree\n }\n {...treeCommonProps}\n />\n </ScrollableContent>\n )}\n </DropdownContentWrapper>\n );\n};\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generates recursive GraphQL for tree node children.
3
+ * Used to fetch nested children up to the specified depth.
4
+ */
5
+ export declare const filterTreeNodeChildren: (depth?: number) => string;
6
+ export declare const filterTreeDataQuery: (depthTreeNodes?: number) => import("@apollo/client").DocumentNode;
@@ -0,0 +1,54 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { gql } from '@apollo/client';
5
+ const DEFAULT_DEPTH_TREE_NODES = 10;
6
+ /**
7
+ * Generates recursive GraphQL for tree node children.
8
+ * Used to fetch nested children up to the specified depth.
9
+ */
10
+ export const filterTreeNodeChildren = (depth = 0) => `
11
+ children {
12
+ id
13
+ record {
14
+ id
15
+ whoAmI {
16
+ id
17
+ label
18
+ library {
19
+ id
20
+ }
21
+ }
22
+ }
23
+ ${depth > 0 ? filterTreeNodeChildren(depth - 1) : ''}
24
+ accessRecordByDefaultPermission
25
+ }
26
+ `;
27
+ export const filterTreeDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql `
28
+ query FilterTreeDataQuery(
29
+ $treeId: ID!
30
+ $startAt: ID
31
+ $accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput
32
+ ) {
33
+ treeContent(
34
+ treeId: $treeId
35
+ startAt: $startAt
36
+ accessRecordByDefaultPermission: $accessRecordByDefaultPermission
37
+ ) {
38
+ id
39
+ record {
40
+ id
41
+ whoAmI {
42
+ id
43
+ label
44
+ library {
45
+ id
46
+ }
47
+ }
48
+ }
49
+ ${filterTreeNodeChildren(depthTreeNodes - 1)}
50
+ accessRecordByDefaultPermission
51
+ }
52
+ }
53
+ `;
54
+ //# sourceMappingURL=filterTreeDataQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterTreeDataQuery.js","sourceRoot":"","sources":["../../../../../../../src/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAEnC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;;;;;;;;;;;;;UAa3C,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;;;CAG3D,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,GAAG,wBAAwB,EAAE,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;cAsBvE,sBAAsB,CAAC,cAAc,GAAG,CAAC,CAAC;;;;CAIvD,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 {gql} from '@apollo/client';\n\nconst DEFAULT_DEPTH_TREE_NODES = 10;\n\n/**\n * Generates recursive GraphQL for tree node children.\n * Used to fetch nested children up to the specified depth.\n */\nexport const filterTreeNodeChildren = (depth = 0) => `\n children {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n ${depth > 0 ? filterTreeNodeChildren(depth - 1) : ''}\n accessRecordByDefaultPermission\n }\n`;\n\nexport const filterTreeDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql`\n query FilterTreeDataQuery(\n $treeId: ID!\n $startAt: ID\n $accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput\n ) {\n treeContent(\n treeId: $treeId\n startAt: $startAt\n accessRecordByDefaultPermission: $accessRecordByDefaultPermission\n ) {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n ${filterTreeNodeChildren(depthTreeNodes - 1)}\n accessRecordByDefaultPermission\n }\n }\n`;\n"]}