@leav/ui 1.8.0 → 1.9.0-0dfef3bb

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 (549) hide show
  1. package/dist/_gqlTypes/index.d.ts +452 -172
  2. package/dist/_gqlTypes/index.js +259 -87
  3. package/dist/_gqlTypes/index.js.map +1 -1
  4. package/dist/_queries/attributes/attributeDetailsFragment.js +3 -0
  5. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  6. package/dist/_queries/records/createRecordMutation.js +2 -2
  7. package/dist/_queries/records/createRecordMutation.js.map +1 -1
  8. package/dist/_utils/getFiltersFromRequest.js +5 -6
  9. package/dist/_utils/getFiltersFromRequest.js.map +1 -1
  10. package/dist/_utils/index.js +3 -4
  11. package/dist/_utils/index.js.map +1 -1
  12. package/dist/_utils/typeguards.d.ts +5 -0
  13. package/dist/_utils/typeguards.js +6 -0
  14. package/dist/_utils/typeguards.js.map +1 -1
  15. package/dist/components/Explorer/Explorer.d.ts +2 -1
  16. package/dist/components/Explorer/Explorer.js +31 -13
  17. package/dist/components/Explorer/Explorer.js.map +1 -1
  18. package/dist/components/Explorer/ExplorerToolbar.js +2 -1
  19. package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
  20. package/dist/components/Explorer/_queries/useExplorerCountData.d.ts +16 -0
  21. package/dist/components/Explorer/_queries/useExplorerCountData.js +26 -0
  22. package/dist/components/Explorer/_queries/useExplorerCountData.js.map +1 -0
  23. package/dist/components/Explorer/_queries/useExplorerData.js +18 -20
  24. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  25. package/dist/components/Explorer/actions-mass/ResultsCount.d.ts +10 -0
  26. package/dist/components/Explorer/actions-mass/ResultsCount.js +8 -0
  27. package/dist/components/Explorer/actions-mass/ResultsCount.js.map +1 -0
  28. package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js +1 -1
  29. package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js.map +1 -1
  30. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.d.ts +9 -2
  31. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js +18 -4
  32. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js.map +1 -1
  33. package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.d.ts +10 -0
  34. package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.js +69 -0
  35. package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.js.map +1 -0
  36. package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.d.ts +18 -0
  37. package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.js +57 -0
  38. package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.js.map +1 -0
  39. package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.d.ts +19 -0
  40. package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.js +94 -0
  41. package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.js.map +1 -0
  42. package/dist/components/Explorer/actions-mass/useMassActions.d.ts +5 -3
  43. package/dist/components/Explorer/actions-mass/useMassActions.js +19 -13
  44. package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -1
  45. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +3 -1
  46. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +5 -1
  47. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  48. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js +1 -1
  49. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js.map +1 -1
  50. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +5 -2
  51. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  52. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js +17 -8
  53. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js.map +1 -1
  54. package/dist/components/Filters/_queries/treeFiltersDataQuery.d.ts +6 -0
  55. package/dist/components/Filters/_queries/treeFiltersDataQuery.js +54 -0
  56. package/dist/components/Filters/_queries/treeFiltersDataQuery.js.map +1 -0
  57. package/dist/components/Filters/_types.d.ts +12 -1
  58. package/dist/components/Filters/_types.js +2 -1
  59. package/dist/components/Filters/_types.js.map +1 -1
  60. package/dist/components/Filters/context/filtersReducer.js +3 -2
  61. package/dist/components/Filters/context/filtersReducer.js.map +1 -1
  62. package/dist/components/Filters/context/useGetTreeFilters.js +24 -40
  63. package/dist/components/Filters/context/useGetTreeFilters.js.map +1 -1
  64. package/dist/components/Filters/filter-items/CommonFilterItem.js +2 -2
  65. package/dist/components/Filters/filter-items/CommonFilterItem.js.map +1 -1
  66. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js +1 -1
  67. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js.map +1 -1
  68. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js +5 -1
  69. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js.map +1 -1
  70. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js +3 -3
  71. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js.map +1 -1
  72. package/dist/components/Filters/filter-items/filter-type/_types.d.ts +6 -1
  73. package/dist/components/Filters/filter-items/filter-type/_types.js.map +1 -1
  74. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.d.ts +2 -0
  75. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.js +106 -0
  76. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.js.map +1 -0
  77. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.d.ts +25 -0
  78. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.js +59 -0
  79. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.js.map +1 -0
  80. package/dist/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.d.ts +5 -0
  81. package/dist/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.js +25 -0
  82. package/dist/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.js.map +1 -0
  83. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js +5 -4
  84. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js.map +1 -1
  85. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.d.ts +6 -0
  86. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js +54 -0
  87. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js.map +1 -0
  88. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js +22 -41
  89. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js.map +1 -1
  90. package/dist/components/Filters/filter-items/{EmptyValueCheckbox.d.ts → shared/EmptyValueCheckbox.d.ts} +2 -1
  91. package/dist/components/Filters/filter-items/shared/EmptyValueCheckbox.js +20 -0
  92. package/dist/components/Filters/filter-items/shared/EmptyValueCheckbox.js.map +1 -0
  93. package/dist/components/Filters/filter-items/shared/FilterTreeNodeTitle.d.ts +5 -0
  94. package/dist/components/Filters/filter-items/shared/FilterTreeNodeTitle.js +18 -0
  95. package/dist/components/Filters/filter-items/shared/FilterTreeNodeTitle.js.map +1 -0
  96. package/dist/components/Filters/filter-items/{SelectAllCheckbox.js → shared/SelectAllCheckbox.js} +1 -1
  97. package/dist/components/Filters/filter-items/shared/SelectAllCheckbox.js.map +1 -0
  98. package/dist/components/Filters/prepareFiltersForRequest.js +10 -5
  99. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
  100. package/dist/components/Filters/useFilters.d.ts +542 -0
  101. package/dist/components/Filters/useTransformFilters.js +3 -0
  102. package/dist/components/Filters/useTransformFilters.js.map +1 -1
  103. package/dist/components/Notifications/hooks/useNotificationSubscription.d.ts +9 -3
  104. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -0
  105. package/dist/components/RecordEdition/EditRecord/EditRecord.js +3 -3
  106. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  107. package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +4 -0
  108. package/dist/components/RecordEdition/EditRecordContent/_types.js.map +1 -1
  109. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +1 -3
  110. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  111. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +28 -17
  112. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js.map +1 -1
  113. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +1 -0
  114. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +30 -18
  115. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  116. package/dist/components/RecordEdition/EditRecordPage/ErrorComponent.d.ts +2 -0
  117. package/dist/components/RecordEdition/EditRecordPage/ErrorComponent.js +11 -0
  118. package/dist/components/RecordEdition/EditRecordPage/ErrorComponent.js.map +1 -0
  119. package/dist/components/RecordEdition/EditRecordPage/getInitialRecordValues.d.ts +2 -0
  120. package/dist/components/RecordEdition/EditRecordPage/getInitialRecordValues.js +35 -0
  121. package/dist/components/RecordEdition/EditRecordPage/getInitialRecordValues.js.map +1 -0
  122. package/dist/components/RecordEdition/_types.d.ts +1 -1
  123. package/dist/components/RecordEdition/_types.js.map +1 -1
  124. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +7 -6
  125. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
  126. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.d.ts +1 -1
  127. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js +6 -2
  128. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js.map +1 -1
  129. package/dist/components/SearchModal/SearchModal.js +28 -18
  130. package/dist/components/SearchModal/SearchModal.js.map +1 -1
  131. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +0 -2
  132. package/dist/components/SelectTreeNode/SelectTreeNode.js +2 -2
  133. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  134. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +0 -2
  135. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +60 -115
  136. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  137. package/dist/components/SelectTreeNode/TreeNodeTitle.d.ts +0 -1
  138. package/dist/components/SelectTreeNode/TreeNodeTitle.js +3 -7
  139. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
  140. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.d.ts +6 -0
  141. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js +56 -0
  142. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js.map +1 -0
  143. package/dist/components/SelectTreeNode/_types.d.ts +0 -1
  144. package/dist/components/SelectTreeNode/_types.js.map +1 -1
  145. package/dist/components/index.d.ts +0 -3
  146. package/dist/components/index.js +0 -3
  147. package/dist/components/index.js.map +1 -1
  148. package/dist/hooks/useGetLibraryDetailExtendedQuery/useGetLibraryDetailExtendedQuery.d.ts +1 -1
  149. package/dist/hooks/useGetRecordUpdatesSubscription/useGetRecordUpdatesSubscription.d.ts +9 -3
  150. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js.map +1 -1
  151. package/dist/hooks/useIFrameMessenger/schema.d.ts +2 -2
  152. package/dist/hooks/useIFrameMessenger/schema.js +1 -1
  153. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
  154. package/dist/hooks/useIFrameMessenger/types.d.ts +5 -0
  155. package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
  156. package/dist/locales/en/shared.json +11 -4
  157. package/dist/locales/fr/shared.json +11 -4
  158. package/package.json +12 -21
  159. package/dist/__mocks__/common/mockSearchContextProvider.d.ts +0 -6
  160. package/dist/__mocks__/common/mockSearchContextProvider.js +0 -10
  161. package/dist/__mocks__/common/mockSearchContextProvider.js.map +0 -1
  162. package/dist/components/AttributesSelectionList/Attribute/Attribute.d.ts +0 -3
  163. package/dist/components/AttributesSelectionList/Attribute/Attribute.js +0 -50
  164. package/dist/components/AttributesSelectionList/Attribute/Attribute.js.map +0 -1
  165. package/dist/components/AttributesSelectionList/Attribute/index.d.ts +0 -2
  166. package/dist/components/AttributesSelectionList/Attribute/index.js +0 -6
  167. package/dist/components/AttributesSelectionList/Attribute/index.js.map +0 -1
  168. package/dist/components/AttributesSelectionList/AttributesSelectionList.d.ts +0 -10
  169. package/dist/components/AttributesSelectionList/AttributesSelectionList.js +0 -72
  170. package/dist/components/AttributesSelectionList/AttributesSelectionList.js.map +0 -1
  171. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.d.ts +0 -7
  172. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js +0 -39
  173. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js.map +0 -1
  174. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.d.ts +0 -2
  175. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js +0 -6
  176. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js.map +0 -1
  177. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.d.ts +0 -2
  178. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js +0 -63
  179. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js.map +0 -1
  180. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.d.ts +0 -2
  181. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js +0 -6
  182. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js.map +0 -1
  183. package/dist/components/AttributesSelectionList/_types.d.ts +0 -8
  184. package/dist/components/AttributesSelectionList/_types.js +0 -2
  185. package/dist/components/AttributesSelectionList/_types.js.map +0 -1
  186. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.d.ts +0 -3
  187. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js +0 -9
  188. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js.map +0 -1
  189. package/dist/components/AttributesSelectionList/index.d.ts +0 -2
  190. package/dist/components/AttributesSelectionList/index.js +0 -6
  191. package/dist/components/AttributesSelectionList/index.js.map +0 -1
  192. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.d.ts +0 -11
  193. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js +0 -10
  194. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js.map +0 -1
  195. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.d.ts +0 -33
  196. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js +0 -77
  197. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js.map +0 -1
  198. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.d.ts +0 -10
  199. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js +0 -8
  200. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js.map +0 -1
  201. package/dist/components/AttributesSelectionList/sharedComponents.d.ts +0 -809
  202. package/dist/components/AttributesSelectionList/sharedComponents.js +0 -16
  203. package/dist/components/AttributesSelectionList/sharedComponents.js.map +0 -1
  204. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.d.ts +0 -10
  205. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js +0 -39
  206. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js.map +0 -1
  207. package/dist/components/DeactivateRecordsModal/index.d.ts +0 -1
  208. package/dist/components/DeactivateRecordsModal/index.js +0 -5
  209. package/dist/components/DeactivateRecordsModal/index.js.map +0 -1
  210. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js +0 -16
  211. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js.map +0 -1
  212. package/dist/components/Filters/filter-items/SelectAllCheckbox.js.map +0 -1
  213. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.d.ts +0 -13
  214. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js +0 -50
  215. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js.map +0 -1
  216. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.d.ts +0 -2
  217. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js +0 -6
  218. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js.map +0 -1
  219. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.d.ts +0 -2
  220. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js +0 -80
  221. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js.map +0 -1
  222. package/dist/components/LibraryItemsList/DisplayOptions/index.d.ts +0 -2
  223. package/dist/components/LibraryItemsList/DisplayOptions/index.js +0 -6
  224. package/dist/components/LibraryItemsList/DisplayOptions/index.js.map +0 -1
  225. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.d.ts +0 -2
  226. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js +0 -22
  227. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js.map +0 -1
  228. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.d.ts +0 -2
  229. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js +0 -6
  230. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js.map +0 -1
  231. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.d.ts +0 -13
  232. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js +0 -229
  233. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js.map +0 -1
  234. package/dist/components/LibraryItemsList/FiltersDropdown/index.d.ts +0 -2
  235. package/dist/components/LibraryItemsList/FiltersDropdown/index.js +0 -6
  236. package/dist/components/LibraryItemsList/FiltersDropdown/index.js.map +0 -1
  237. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.d.ts +0 -11
  238. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +0 -328
  239. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +0 -1
  240. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.d.ts +0 -7
  241. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js +0 -90
  242. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js.map +0 -1
  243. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.d.ts +0 -2
  244. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js +0 -6
  245. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js.map +0 -1
  246. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.d.ts +0 -3
  247. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js +0 -13
  248. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js.map +0 -1
  249. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.d.ts +0 -2
  250. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js +0 -6
  251. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js.map +0 -1
  252. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.d.ts +0 -3
  253. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js +0 -26
  254. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js.map +0 -1
  255. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.d.ts +0 -2
  256. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js +0 -6
  257. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js.map +0 -1
  258. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.d.ts +0 -3
  259. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js +0 -22
  260. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js.map +0 -1
  261. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.d.ts +0 -2
  262. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js +0 -6
  263. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js.map +0 -1
  264. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.d.ts +0 -3
  265. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js +0 -35
  266. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js.map +0 -1
  267. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.d.ts +0 -2
  268. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js +0 -6
  269. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js.map +0 -1
  270. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.d.ts +0 -3
  271. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js +0 -34
  272. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js.map +0 -1
  273. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.d.ts +0 -2
  274. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js +0 -6
  275. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js.map +0 -1
  276. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.d.ts +0 -2
  277. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js +0 -16
  278. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js.map +0 -1
  279. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.d.ts +0 -2
  280. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js +0 -6
  281. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js.map +0 -1
  282. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.d.ts +0 -8
  283. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js +0 -11
  284. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js.map +0 -1
  285. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.d.ts +0 -2
  286. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js +0 -6
  287. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js.map +0 -1
  288. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.d.ts +0 -6
  289. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js +0 -38
  290. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js.map +0 -1
  291. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.d.ts +0 -2
  292. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js +0 -6
  293. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js.map +0 -1
  294. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.d.ts +0 -14
  295. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js +0 -147
  296. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js.map +0 -1
  297. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.d.ts +0 -2
  298. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js +0 -121
  299. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js.map +0 -1
  300. package/dist/components/LibraryItemsList/FiltersPanel/index.d.ts +0 -2
  301. package/dist/components/LibraryItemsList/FiltersPanel/index.js +0 -6
  302. package/dist/components/LibraryItemsList/FiltersPanel/index.js.map +0 -1
  303. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.d.ts +0 -3
  304. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js +0 -17
  305. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js.map +0 -1
  306. package/dist/components/LibraryItemsList/IconViewType/IconViewType.d.ts +0 -8
  307. package/dist/components/LibraryItemsList/IconViewType/IconViewType.js +0 -18
  308. package/dist/components/LibraryItemsList/IconViewType/IconViewType.js.map +0 -1
  309. package/dist/components/LibraryItemsList/IconViewType/index.d.ts +0 -2
  310. package/dist/components/LibraryItemsList/IconViewType/index.js +0 -6
  311. package/dist/components/LibraryItemsList/IconViewType/index.js.map +0 -1
  312. package/dist/components/LibraryItemsList/LibraryItemsList.d.ts +0 -14
  313. package/dist/components/LibraryItemsList/LibraryItemsList.js +0 -18
  314. package/dist/components/LibraryItemsList/LibraryItemsList.js.map +0 -1
  315. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.d.ts +0 -16
  316. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js +0 -202
  317. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js.map +0 -1
  318. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.d.ts +0 -2
  319. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js +0 -6
  320. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js.map +0 -1
  321. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.d.ts +0 -6
  322. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js +0 -32
  323. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js.map +0 -1
  324. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.d.ts +0 -2
  325. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js +0 -6
  326. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js.map +0 -1
  327. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.d.ts +0 -2
  328. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js +0 -21
  329. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js.map +0 -1
  330. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.d.ts +0 -2
  331. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js +0 -6
  332. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js.map +0 -1
  333. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.d.ts +0 -8
  334. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js +0 -56
  335. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js.map +0 -1
  336. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.d.ts +0 -2
  337. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js +0 -6
  338. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js.map +0 -1
  339. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.d.ts +0 -7
  340. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js +0 -54
  341. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js.map +0 -1
  342. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.d.ts +0 -2
  343. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js +0 -6
  344. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js.map +0 -1
  345. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.d.ts +0 -8
  346. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js +0 -66
  347. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js.map +0 -1
  348. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.d.ts +0 -2
  349. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js +0 -6
  350. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js.map +0 -1
  351. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.d.ts +0 -8
  352. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js +0 -59
  353. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js.map +0 -1
  354. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.d.ts +0 -9
  355. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js +0 -56
  356. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js.map +0 -1
  357. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.d.ts +0 -2
  358. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js +0 -6
  359. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js.map +0 -1
  360. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.d.ts +0 -5
  361. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js +0 -34
  362. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js.map +0 -1
  363. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.d.ts +0 -2
  364. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js +0 -6
  365. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js.map +0 -1
  366. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.d.ts +0 -5
  367. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js +0 -23
  368. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js.map +0 -1
  369. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.d.ts +0 -3
  370. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js +0 -80
  371. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js.map +0 -1
  372. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.d.ts +0 -2
  373. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js +0 -6
  374. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js.map +0 -1
  375. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.d.ts +0 -2
  376. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js +0 -6
  377. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js.map +0 -1
  378. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.d.ts +0 -12
  379. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js +0 -11
  380. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js.map +0 -1
  381. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.d.ts +0 -12
  382. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js +0 -2
  383. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js.map +0 -1
  384. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.d.ts +0 -2
  385. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js +0 -40
  386. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js.map +0 -1
  387. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.d.ts +0 -6
  388. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js +0 -81
  389. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js.map +0 -1
  390. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.d.ts +0 -2
  391. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js +0 -6
  392. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js.map +0 -1
  393. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.d.ts +0 -9
  394. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js +0 -142
  395. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js.map +0 -1
  396. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.d.ts +0 -2
  397. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js +0 -6
  398. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js.map +0 -1
  399. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.d.ts +0 -2
  400. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js +0 -232
  401. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js.map +0 -1
  402. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.d.ts +0 -2
  403. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js +0 -6
  404. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js.map +0 -1
  405. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.d.ts +0 -9
  406. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js +0 -27
  407. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js.map +0 -1
  408. package/dist/components/LibraryItemsList/MenuItemList/index.d.ts +0 -2
  409. package/dist/components/LibraryItemsList/MenuItemList/index.js +0 -6
  410. package/dist/components/LibraryItemsList/MenuItemList/index.js.map +0 -1
  411. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.d.ts +0 -2
  412. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js +0 -62
  413. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js.map +0 -1
  414. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.d.ts +0 -2
  415. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js +0 -6
  416. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js.map +0 -1
  417. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.d.ts +0 -5
  418. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js +0 -139
  419. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js.map +0 -1
  420. package/dist/components/LibraryItemsList/MenuItemListSelected/index.d.ts +0 -2
  421. package/dist/components/LibraryItemsList/MenuItemListSelected/index.js +0 -6
  422. package/dist/components/LibraryItemsList/MenuItemListSelected/index.js.map +0 -1
  423. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.d.ts +0 -2
  424. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js +0 -58
  425. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js.map +0 -1
  426. package/dist/components/LibraryItemsList/MenuSelection/index.d.ts +0 -2
  427. package/dist/components/LibraryItemsList/MenuSelection/index.js +0 -6
  428. package/dist/components/LibraryItemsList/MenuSelection/index.js.map +0 -1
  429. package/dist/components/LibraryItemsList/MenuView/MenuView.d.ts +0 -6
  430. package/dist/components/LibraryItemsList/MenuView/MenuView.js +0 -162
  431. package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +0 -1
  432. package/dist/components/LibraryItemsList/MenuView/index.d.ts +0 -2
  433. package/dist/components/LibraryItemsList/MenuView/index.js +0 -6
  434. package/dist/components/LibraryItemsList/MenuView/index.js.map +0 -1
  435. package/dist/components/LibraryItemsList/SearchItems/SearchItems.d.ts +0 -2
  436. package/dist/components/LibraryItemsList/SearchItems/SearchItems.js +0 -21
  437. package/dist/components/LibraryItemsList/SearchItems/SearchItems.js.map +0 -1
  438. package/dist/components/LibraryItemsList/SearchItems/index.d.ts +0 -2
  439. package/dist/components/LibraryItemsList/SearchItems/index.js +0 -6
  440. package/dist/components/LibraryItemsList/SearchItems/index.js.map +0 -1
  441. package/dist/components/LibraryItemsList/Sidebar/Sidebar.d.ts +0 -2
  442. package/dist/components/LibraryItemsList/Sidebar/Sidebar.js +0 -58
  443. package/dist/components/LibraryItemsList/Sidebar/Sidebar.js.map +0 -1
  444. package/dist/components/LibraryItemsList/Sidebar/index.d.ts +0 -2
  445. package/dist/components/LibraryItemsList/Sidebar/index.js +0 -6
  446. package/dist/components/LibraryItemsList/Sidebar/index.js.map +0 -1
  447. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.d.ts +0 -6
  448. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js +0 -199
  449. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js.map +0 -1
  450. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.d.ts +0 -2
  451. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js +0 -6
  452. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js.map +0 -1
  453. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.d.ts +0 -2
  454. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js +0 -50
  455. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js.map +0 -1
  456. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.d.ts +0 -3
  457. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js +0 -11
  458. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js.map +0 -1
  459. package/dist/components/LibraryItemsList/TileDisplay/index.d.ts +0 -2
  460. package/dist/components/LibraryItemsList/TileDisplay/index.js +0 -6
  461. package/dist/components/LibraryItemsList/TileDisplay/index.js.map +0 -1
  462. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.d.ts +0 -2
  463. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js +0 -66
  464. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js.map +0 -1
  465. package/dist/components/LibraryItemsList/VersionsPanel/index.d.ts +0 -2
  466. package/dist/components/LibraryItemsList/VersionsPanel/index.js +0 -6
  467. package/dist/components/LibraryItemsList/VersionsPanel/index.js.map +0 -1
  468. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.d.ts +0 -9
  469. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js +0 -85
  470. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js.map +0 -1
  471. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.d.ts +0 -2
  472. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js +0 -6
  473. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js.map +0 -1
  474. package/dist/components/LibraryItemsList/ViewPanel/View/View.d.ts +0 -7
  475. package/dist/components/LibraryItemsList/ViewPanel/View/View.js +0 -152
  476. package/dist/components/LibraryItemsList/ViewPanel/View/View.js.map +0 -1
  477. package/dist/components/LibraryItemsList/ViewPanel/View/index.d.ts +0 -2
  478. package/dist/components/LibraryItemsList/ViewPanel/View/index.js +0 -6
  479. package/dist/components/LibraryItemsList/ViewPanel/View/index.js.map +0 -1
  480. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.d.ts +0 -2
  481. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js +0 -209
  482. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js.map +0 -1
  483. package/dist/components/LibraryItemsList/ViewPanel/index.d.ts +0 -2
  484. package/dist/components/LibraryItemsList/ViewPanel/index.js +0 -6
  485. package/dist/components/LibraryItemsList/ViewPanel/index.js.map +0 -1
  486. package/dist/components/LibraryItemsList/constants.d.ts +0 -12
  487. package/dist/components/LibraryItemsList/constants.js +0 -19
  488. package/dist/components/LibraryItemsList/constants.js.map +0 -1
  489. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.d.ts +0 -3
  490. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js +0 -21
  491. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js.map +0 -1
  492. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.d.ts +0 -3
  493. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js +0 -18
  494. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js.map +0 -1
  495. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.d.ts +0 -4
  496. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js +0 -64
  497. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js.map +0 -1
  498. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.d.ts +0 -5
  499. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js +0 -40
  500. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js.map +0 -1
  501. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.d.ts +0 -6
  502. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js +0 -10
  503. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js.map +0 -1
  504. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.d.ts +0 -2
  505. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js +0 -13
  506. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js.map +0 -1
  507. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.d.ts +0 -2
  508. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js +0 -18
  509. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js.map +0 -1
  510. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.d.ts +0 -8
  511. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js +0 -99
  512. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js.map +0 -1
  513. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.d.ts +0 -82
  514. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js +0 -2
  515. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js.map +0 -1
  516. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.d.ts +0 -2
  517. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js +0 -6
  518. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js.map +0 -1
  519. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.d.ts +0 -7
  520. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js +0 -7
  521. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js.map +0 -1
  522. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.d.ts +0 -121
  523. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js +0 -228
  524. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js.map +0 -1
  525. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.d.ts +0 -5
  526. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js +0 -8
  527. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js.map +0 -1
  528. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.d.ts +0 -7
  529. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js +0 -40
  530. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js.map +0 -1
  531. package/dist/components/LibraryItemsList/index.d.ts +0 -1
  532. package/dist/components/LibraryItemsList/index.js +0 -5
  533. package/dist/components/LibraryItemsList/index.js.map +0 -1
  534. package/dist/components/LibraryItemsList/manageItems.d.ts +0 -11
  535. package/dist/components/LibraryItemsList/manageItems.js +0 -98
  536. package/dist/components/LibraryItemsList/manageItems.js.map +0 -1
  537. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.d.ts +0 -7
  538. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js +0 -38
  539. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js.map +0 -1
  540. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.d.ts +0 -2
  541. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js +0 -6
  542. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js.map +0 -1
  543. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.d.ts +0 -12
  544. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js +0 -29
  545. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js.map +0 -1
  546. package/dist/components/LibraryItemsList/shared/sharedUtils.d.ts +0 -4
  547. package/dist/components/LibraryItemsList/shared/sharedUtils.js +0 -9
  548. package/dist/components/LibraryItemsList/shared/sharedUtils.js.map +0 -1
  549. /package/dist/components/Filters/filter-items/{SelectAllCheckbox.d.ts → shared/SelectAllCheckbox.d.ts} +0 -0
@@ -0,0 +1,94 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
3
+ // This file is released under LGPL V3
4
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
+ import { useCallback, useMemo, useState } from 'react';
6
+ import { LibraryBehavior, useForcePreviewsGenerationMutation, useGetLibraryByIdQuery, } from '../../../_gqlTypes';
7
+ import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
8
+ import { MASS_SELECTION_ALL } from '../_constants';
9
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
10
+ import { faImage } from '@fortawesome/free-solid-svg-icons';
11
+ import { GeneratePreviewsModal } from './generate-previews/GeneratePreviewsModal';
12
+ import { KitAlert } from 'aristid-ds';
13
+ import { ERROR_ALERT_DURATION, SUCCESS_NOTIFICATION_DURATION } from '../../../constants';
14
+ /**
15
+ * Hook that provides a mass action configuration for generating previews for selected or all items
16
+ * from a view/data set
17
+ */
18
+ export const useGeneratePreviewsMassAction = ({ isEnabled, store: { view }, totalCount, onGeneratePreviews, }) => {
19
+ const { t } = useSharedTranslation();
20
+ const [isModalOpen, setIsModalOpen] = useState(false);
21
+ const [massSelectionFilter, setMassSelectionFilter] = useState();
22
+ const [startPreviewsGeneration, { loading: isGeneratingPreviews }] = useForcePreviewsGenerationMutation();
23
+ const { data: libraryData } = useGetLibraryByIdQuery({
24
+ variables: {
25
+ id: view.libraryId,
26
+ },
27
+ });
28
+ const _handleConfirmGeneratePreviews = useCallback(async (previewSizes, isFailedOnly) => {
29
+ if (!massSelectionFilter) {
30
+ return;
31
+ }
32
+ const total = view.massSelection === MASS_SELECTION_ALL ? totalCount : view.massSelection.length;
33
+ try {
34
+ const result = await startPreviewsGeneration({
35
+ variables: {
36
+ libraryId: view.libraryId,
37
+ filters: massSelectionFilter ?? null,
38
+ failedOnly: isFailedOnly,
39
+ previewVersionSizeNames: previewSizes,
40
+ },
41
+ });
42
+ const isSuccess = result.data?.forcePreviewsGeneration ?? false;
43
+ if (isSuccess) {
44
+ KitAlert.success({
45
+ showIcon: true,
46
+ duration: SUCCESS_NOTIFICATION_DURATION,
47
+ closable: true,
48
+ message: t('files.previews_generation_success'),
49
+ description: null,
50
+ });
51
+ }
52
+ else {
53
+ KitAlert.info({
54
+ showIcon: true,
55
+ duration: ERROR_ALERT_DURATION,
56
+ closable: true,
57
+ message: t('files.previews_generation_nothing_to_do'),
58
+ description: null,
59
+ });
60
+ }
61
+ onGeneratePreviews?.(massSelectionFilter, view.massSelection);
62
+ setIsModalOpen(false);
63
+ }
64
+ catch (e) {
65
+ KitAlert.error({
66
+ showIcon: true,
67
+ duration: ERROR_ALERT_DURATION,
68
+ message: t('error.error_occurred'),
69
+ description: t('explorer.massAction.generate_previews_error_description', { count: total }),
70
+ closable: true,
71
+ });
72
+ }
73
+ }, [view.libraryId, view.massSelection, totalCount, massSelectionFilter, onGeneratePreviews, t]);
74
+ const _handleCloseModal = useCallback(() => {
75
+ setIsModalOpen(false);
76
+ setMassSelectionFilter(undefined);
77
+ }, []);
78
+ const _generatePreviewsMassAction = useMemo(() => ({
79
+ label: t('explorer.massAction.generate_previews'),
80
+ icon: _jsx(FontAwesomeIcon, { icon: faImage }),
81
+ deselectAll: false,
82
+ callback: filter => {
83
+ setMassSelectionFilter(filter);
84
+ setIsModalOpen(true);
85
+ },
86
+ }), [t]);
87
+ const generatePreviewsModal = isEnabled ? (_jsx(GeneratePreviewsModal, { open: isModalOpen, libraryId: view.libraryId, isGeneratingPreviews: isGeneratingPreviews, onClose: _handleCloseModal, onConfirm: _handleConfirmGeneratePreviews })) : null;
88
+ const isLibraryFileBehavior = libraryData?.libraries?.list?.[0]?.behavior === LibraryBehavior.files;
89
+ return {
90
+ generatePreviewsMassAction: isEnabled && isLibraryFileBehavior ? _generatePreviewsMassAction : null,
91
+ GeneratePreviewsModal: isLibraryFileBehavior ? generatePreviewsModal : null,
92
+ };
93
+ };
94
+ //# sourceMappingURL=useGeneratePreviewsMassAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGeneratePreviewsMassAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useGeneratePreviewsMassAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAA8B,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAClF,OAAO,EACH,eAAe,EACf,kCAAkC,EAClC,sBAAsB,GAEzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAGpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,OAAO,EAAC,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAC,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,oBAAoB,EAAE,6BAA6B,EAAC,MAAM,eAAe,CAAC;AAOlF;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAC1C,SAAS,EACT,KAAK,EAAE,EAAC,IAAI,EAAC,EACb,UAAU,EACV,kBAAkB,GAOpB,EAAwC,EAAE;IACxC,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,EAAmC,CAAC;IAClG,MAAM,CAAC,uBAAuB,EAAE,EAAC,OAAO,EAAE,oBAAoB,EAAC,CAAC,GAAG,kCAAkC,EAAE,CAAC;IACxG,MAAM,EAAC,IAAI,EAAE,WAAW,EAAC,GAAG,sBAAsB,CAAC;QAC/C,SAAS,EAAE;YACP,EAAE,EAAE,IAAI,CAAC,SAAS;SACrB;KACJ,CAAC,CAAC;IAEH,MAAM,8BAA8B,GAAG,WAAW,CAC9C,KAAK,EAAE,YAAmB,EAAE,YAAqB,EAAE,EAAE;QACjD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,KAAK,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAEjG,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;gBACzC,SAAS,EAAE;oBACP,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,OAAO,EAAE,mBAAmB,IAAI,IAAI;oBACpC,UAAU,EAAE,YAAY;oBACxB,uBAAuB,EAAE,YAAwB;iBACpD;aACJ,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,uBAAuB,IAAI,KAAK,CAAC;YAEhE,IAAI,SAAS,EAAE,CAAC;gBACZ,QAAQ,CAAC,OAAO,CAAC;oBACb,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,6BAA6B;oBACvC,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,CAAC,CAAC,mCAAmC,CAAC;oBAC/C,WAAW,EAAE,IAAI;iBACpB,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,CAAC,CAAC,yCAAyC,CAAC;oBACrD,WAAW,EAAE,IAAI;iBACpB,CAAC,CAAC;YACP,CAAC;YAED,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9D,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,KAAK,CAAC;gBACX,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,oBAAoB;gBAC9B,OAAO,EAAE,CAAC,CAAC,sBAAsB,CAAC;gBAClC,WAAW,EAAE,CAAC,CAAC,yDAAyD,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC;gBACzF,QAAQ,EAAE,IAAI;aACjB,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EACD,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAC/F,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,2BAA2B,GAAiB,OAAO,CACrD,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,CAAC,CAAC,uCAAuC,CAAC;QACjD,IAAI,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,OAAO,GAAI;QACxC,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,MAAM,CAAC,EAAE;YACf,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC/B,cAAc,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;KACJ,CAAC,EACF,CAAC,CAAC,CAAC,CACN,CAAC;IAEF,MAAM,qBAAqB,GAAG,SAAS,CAAC,CAAC,CAAC,CACtC,KAAC,qBAAqB,IAClB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,8BAA8B,GAC3C,CACL,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,qBAAqB,GAAG,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,eAAe,CAAC,KAAK,CAAC;IAEpG,OAAO;QACH,0BAA0B,EAAE,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI;QACnG,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI;KAC9E,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 Key, type ReactElement, useCallback, useMemo, useState} from 'react';\nimport {\n LibraryBehavior,\n useForcePreviewsGenerationMutation,\n useGetLibraryByIdQuery,\n type RecordFilterInput,\n} from '_ui/_gqlTypes';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type FeatureHook, type IMassActions} from '../_types';\nimport {type IViewSettingsState} from '../manage-view-settings';\nimport {MASS_SELECTION_ALL} from '../_constants';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faImage} from '@fortawesome/free-solid-svg-icons';\nimport {GeneratePreviewsModal} from './generate-previews/GeneratePreviewsModal';\nimport {KitAlert} from 'aristid-ds';\nimport {ERROR_ALERT_DURATION, SUCCESS_NOTIFICATION_DURATION} from '_ui/constants';\n\ninterface IUseGeneratePreviewsMassActionReturn {\n generatePreviewsMassAction: IMassActions | null;\n GeneratePreviewsModal: ReactElement | null;\n}\n\n/**\n * Hook that provides a mass action configuration for generating previews for selected or all items\n * from a view/data set\n */\nexport const useGeneratePreviewsMassAction = ({\n isEnabled,\n store: {view},\n totalCount,\n onGeneratePreviews,\n}: FeatureHook<{\n store: {\n view: IViewSettingsState;\n };\n totalCount: number;\n onGeneratePreviews?: IMassActions['callback'];\n}>): IUseGeneratePreviewsMassActionReturn => {\n const {t} = useSharedTranslation();\n\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [massSelectionFilter, setMassSelectionFilter] = useState<RecordFilterInput[] | undefined>();\n const [startPreviewsGeneration, {loading: isGeneratingPreviews}] = useForcePreviewsGenerationMutation();\n const {data: libraryData} = useGetLibraryByIdQuery({\n variables: {\n id: view.libraryId,\n },\n });\n\n const _handleConfirmGeneratePreviews = useCallback(\n async (previewSizes: Key[], isFailedOnly: boolean) => {\n if (!massSelectionFilter) {\n return;\n }\n\n const total = view.massSelection === MASS_SELECTION_ALL ? totalCount : view.massSelection.length;\n\n try {\n const result = await startPreviewsGeneration({\n variables: {\n libraryId: view.libraryId,\n filters: massSelectionFilter ?? null,\n failedOnly: isFailedOnly,\n previewVersionSizeNames: previewSizes as string[],\n },\n });\n\n const isSuccess = result.data?.forcePreviewsGeneration ?? false;\n\n if (isSuccess) {\n KitAlert.success({\n showIcon: true,\n duration: SUCCESS_NOTIFICATION_DURATION,\n closable: true,\n message: t('files.previews_generation_success'),\n description: null,\n });\n } else {\n KitAlert.info({\n showIcon: true,\n duration: ERROR_ALERT_DURATION,\n closable: true,\n message: t('files.previews_generation_nothing_to_do'),\n description: null,\n });\n }\n\n onGeneratePreviews?.(massSelectionFilter, view.massSelection);\n setIsModalOpen(false);\n } catch (e) {\n KitAlert.error({\n showIcon: true,\n duration: ERROR_ALERT_DURATION,\n message: t('error.error_occurred'),\n description: t('explorer.massAction.generate_previews_error_description', {count: total}),\n closable: true,\n });\n }\n },\n [view.libraryId, view.massSelection, totalCount, massSelectionFilter, onGeneratePreviews, t],\n );\n\n const _handleCloseModal = useCallback(() => {\n setIsModalOpen(false);\n setMassSelectionFilter(undefined);\n }, []);\n\n const _generatePreviewsMassAction: IMassActions = useMemo(\n () => ({\n label: t('explorer.massAction.generate_previews'),\n icon: <FontAwesomeIcon icon={faImage} />,\n deselectAll: false,\n callback: filter => {\n setMassSelectionFilter(filter);\n setIsModalOpen(true);\n },\n }),\n [t],\n );\n\n const generatePreviewsModal = isEnabled ? (\n <GeneratePreviewsModal\n open={isModalOpen}\n libraryId={view.libraryId}\n isGeneratingPreviews={isGeneratingPreviews}\n onClose={_handleCloseModal}\n onConfirm={_handleConfirmGeneratePreviews}\n />\n ) : null;\n\n const isLibraryFileBehavior = libraryData?.libraries?.list?.[0]?.behavior === LibraryBehavior.files;\n\n return {\n generatePreviewsMassAction: isEnabled && isLibraryFileBehavior ? _generatePreviewsMassAction : null,\n GeneratePreviewsModal: isLibraryFileBehavior ? generatePreviewsModal : null,\n };\n};\n"]}
@@ -8,19 +8,21 @@ import { type IUIFiltersState } from '../../../components/Filters/context/filter
8
8
  * @param isEnabled - whether the selection is present
9
9
  * @param view - represent the current view
10
10
  * @param dispatch - method to change the current view
11
- * @param totalCount - used for display only
11
+ * @param totalCountFiltered - number of results with the current filters
12
+ * @param totalCountLibrary - number of total items in the library (without filters)
12
13
  * @param allVisibleKeys - list of all ids currently selected
13
14
  * @param massActions - array of all actions available on mass selection
14
15
  * @param snackbarId - id of the snackbar displayed
15
16
  */
16
- export declare const useMassActions: ({ isEnabled, store: { dispatch, view }, filtersStore: { filters, filtersOperator }, totalCount, allVisibleKeys, massActions, snackbarId, }: {
17
+ export declare const useMassActions: ({ isEnabled, store: { dispatch, view }, filtersStore: { filters, filtersOperator }, totalCountFiltered, totalCountLibrary, allVisibleKeys, massActions, snackbarId, }: {
17
18
  isEnabled: boolean;
18
19
  store: {
19
20
  view: IViewSettingsState;
20
21
  dispatch: Dispatch<IViewSettingsAction>;
21
22
  };
22
23
  filtersStore: IUIFiltersState;
23
- totalCount: number;
24
+ totalCountFiltered: number;
25
+ totalCountLibrary: number;
24
26
  allVisibleKeys: string[];
25
27
  massActions: IMassActions[];
26
28
  snackbarId: string;
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  // This file is released under LGPL V3
4
4
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
5
  import { closeKitSnackBar, KitCheckbox, KitDropDown, KitSpace, openKitSnackBar } from 'aristid-ds';
6
- import { useCallback, useEffect } from 'react';
6
+ import { useCallback, useEffect, useState } from 'react';
7
7
  import { RecordFilterCondition, RecordFilterOperator } from '../../../_gqlTypes';
8
8
  import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
9
9
  import { interleaveElement } from '../../../_utils/interleaveElement';
@@ -11,20 +11,26 @@ import { MASS_SELECTION_ALL } from '../_constants';
11
11
  import { ViewSettingsActionTypes } from '../manage-view-settings';
12
12
  import { prepareFiltersForRequest } from '../../../components/Filters';
13
13
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
14
- import { faChevronDown } from '@fortawesome/free-solid-svg-icons';
14
+ import { faCaretDown } from '@fortawesome/free-solid-svg-icons';
15
+ import { ResultsCount } from './ResultsCount';
15
16
  /**
16
17
  * Hook used to manage mass selection as the snackbar and all kind of selection (manual, all in page, all in filters)
17
18
  *
18
19
  * @param isEnabled - whether the selection is present
19
20
  * @param view - represent the current view
20
21
  * @param dispatch - method to change the current view
21
- * @param totalCount - used for display only
22
+ * @param totalCountFiltered - number of results with the current filters
23
+ * @param totalCountLibrary - number of total items in the library (without filters)
22
24
  * @param allVisibleKeys - list of all ids currently selected
23
25
  * @param massActions - array of all actions available on mass selection
24
26
  * @param snackbarId - id of the snackbar displayed
25
27
  */
26
- export const useMassActions = ({ isEnabled, store: { dispatch, view }, filtersStore: { filters, filtersOperator }, totalCount, allVisibleKeys, massActions, snackbarId, }) => {
28
+ export const useMassActions = ({ isEnabled, store: { dispatch, view }, filtersStore: { filters, filtersOperator }, totalCountFiltered, totalCountLibrary, allVisibleKeys, massActions, snackbarId, }) => {
27
29
  const { t } = useSharedTranslation();
30
+ const [isInactive, setIsInactive] = useState(false);
31
+ useEffect(() => {
32
+ setIsInactive(filters.filter(f => f.field === 'active')?.[0]?.value === 'false');
33
+ }, [filters]);
28
34
  useEffect(() => {
29
35
  if (view.massSelection === MASS_SELECTION_ALL || view.massSelection.length !== 0) {
30
36
  openKitSnackBar({
@@ -34,7 +40,7 @@ export const useMassActions = ({ isEnabled, store: { dispatch, view }, filtersSt
34
40
  toasterId: snackbarId,
35
41
  onClose: () => _setSelectedKeys([]),
36
42
  message: t('explorer.massAction.selectedItems', {
37
- count: view.massSelection === MASS_SELECTION_ALL ? totalCount : view.massSelection.length,
43
+ count: view.massSelection === MASS_SELECTION_ALL ? totalCountFiltered : view.massSelection.length,
38
44
  }),
39
45
  actions: massActions.map(({ label, icon, deselectAll, callback }, index) => ({
40
46
  key: index,
@@ -63,13 +69,13 @@ export const useMassActions = ({ isEnabled, store: { dispatch, view }, filtersSt
63
69
  else {
64
70
  closeKitSnackBar(snackbarId);
65
71
  }
66
- }, [view.massSelection, filters, totalCount]);
72
+ }, [view.massSelection, filters, totalCountFiltered]);
67
73
  useEffect(() => () => closeKitSnackBar(snackbarId), []);
68
- const isOnePage = view.pageSize > totalCount;
69
- const hasSelectedAllAvailableItems = view.massSelection === MASS_SELECTION_ALL || view.massSelection.length === totalCount;
74
+ const isOnePage = view.pageSize > totalCountFiltered;
75
+ const hasSelectedAllAvailableItems = view.massSelection === MASS_SELECTION_ALL || view.massSelection.length === totalCountFiltered;
70
76
  const hasSelectedSomeItems = view.massSelection !== MASS_SELECTION_ALL &&
71
77
  view.massSelection.length > 0 &&
72
- view.massSelection.length < totalCount;
78
+ view.massSelection.length < totalCountFiltered;
73
79
  const _selectAllButton = isOnePage ? (_jsx(KitCheckbox, { "aria-checked": hasSelectedSomeItems ? 'mixed' : hasSelectedAllAvailableItems ? 'true' : 'false', indeterminate: hasSelectedSomeItems, checked: hasSelectedAllAvailableItems, onChange: _ => {
74
80
  if (hasSelectedAllAvailableItems) {
75
81
  _setSelectedKeys([]);
@@ -77,7 +83,7 @@ export const useMassActions = ({ isEnabled, store: { dispatch, view }, filtersSt
77
83
  else {
78
84
  _setSelectedKeys(allVisibleKeys);
79
85
  }
80
- }, children: t('explorer.massAction.itemsTotal', { count: totalCount }) })) : (_jsx(KitDropDown, { trigger: ['click'], menu: {
86
+ }, children: _jsx(ResultsCount, { t: t, isInactive: isInactive, totalCountFiltered: totalCountFiltered, totalCountLibrary: totalCountLibrary }) })) : (_jsx(KitDropDown, { trigger: ['click'], menu: {
81
87
  items: [
82
88
  hasSelectedAllAvailableItems
83
89
  ? null
@@ -91,8 +97,8 @@ export const useMassActions = ({ isEnabled, store: { dispatch, view }, filtersSt
91
97
  {
92
98
  key: 'toggle_all_selection',
93
99
  label: hasSelectedAllAvailableItems
94
- ? t('explorer.massAction.toggle_selection.deselect_all', { count: totalCount })
95
- : t('explorer.massAction.toggle_selection.select_all', { count: totalCount }),
100
+ ? t('explorer.massAction.toggle_selection.deselect_all', { count: totalCountFiltered })
101
+ : t('explorer.massAction.toggle_selection.select_all', { count: totalCountFiltered }),
96
102
  onClick: async () => {
97
103
  if (hasSelectedAllAvailableItems) {
98
104
  _setSelectedKeys([]);
@@ -103,7 +109,7 @@ export const useMassActions = ({ isEnabled, store: { dispatch, view }, filtersSt
103
109
  },
104
110
  },
105
111
  ],
106
- }, children: _jsx(KitCheckbox, { "aria-checked": hasSelectedSomeItems ? 'mixed' : hasSelectedAllAvailableItems ? 'true' : 'false', indeterminate: hasSelectedSomeItems, checked: hasSelectedAllAvailableItems, children: _jsxs(KitSpace, { size: "s", children: [t('explorer.massAction.itemsTotal', { count: totalCount }), _jsx(FontAwesomeIcon, { icon: faChevronDown })] }) }) }));
112
+ }, children: _jsx(KitCheckbox, { "aria-checked": hasSelectedSomeItems ? 'mixed' : hasSelectedAllAvailableItems ? 'true' : 'false', indeterminate: hasSelectedSomeItems, checked: hasSelectedAllAvailableItems, children: _jsxs(KitSpace, { size: "xxs", children: [_jsx(ResultsCount, { t: t, isInactive: isInactive, totalCountFiltered: totalCountFiltered, totalCountLibrary: totalCountLibrary }), _jsx(FontAwesomeIcon, { icon: faCaretDown, size: "2xs" })] }) }) }));
107
113
  const _setSelectedKeys = useCallback((keys) => dispatch({
108
114
  type: ViewSettingsActionTypes.SET_SELECTED_KEYS,
109
115
  payload: keys,
@@ -1 +1 @@
1
- {"version":3,"file":"useMassActions.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useMassActions.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 {closeKitSnackBar, KitCheckbox, KitDropDown, KitSpace, openKitSnackBar} from 'aristid-ds';\nimport {type Dispatch, useCallback, useEffect, useRef} from 'react';\nimport {RecordFilterCondition, RecordFilterOperator} from '_ui/_gqlTypes';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {interleaveElement} from '_ui/_utils/interleaveElement';\nimport {type IMassActions, type MassSelection} from '../_types';\nimport {MASS_SELECTION_ALL} from '../_constants';\nimport {type IViewSettingsAction, type IViewSettingsState, ViewSettingsActionTypes} from '../manage-view-settings';\nimport {prepareFiltersForRequest} from '_ui/components/Filters';\nimport {type IUIFiltersState} from '_ui/components/Filters/context/filtersReducer';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faChevronDown} from '@fortawesome/free-solid-svg-icons';\n\n/**\n * Hook used to manage mass selection as the snackbar and all kind of selection (manual, all in page, all in filters)\n *\n * @param isEnabled - whether the selection is present\n * @param view - represent the current view\n * @param dispatch - method to change the current view\n * @param totalCount - used for display only\n * @param allVisibleKeys - list of all ids currently selected\n * @param massActions - array of all actions available on mass selection\n * @param snackbarId - id of the snackbar displayed\n */\nexport const useMassActions = ({\n isEnabled,\n store: {dispatch, view},\n filtersStore: {filters, filtersOperator},\n totalCount,\n allVisibleKeys,\n massActions,\n snackbarId,\n}: {\n isEnabled: boolean;\n store: {\n view: IViewSettingsState;\n dispatch: Dispatch<IViewSettingsAction>;\n };\n filtersStore: IUIFiltersState;\n totalCount: number;\n allVisibleKeys: string[];\n massActions: IMassActions[];\n snackbarId: string;\n}) => {\n const {t} = useSharedTranslation();\n\n useEffect(() => {\n if (view.massSelection === MASS_SELECTION_ALL || view.massSelection.length !== 0) {\n openKitSnackBar({\n duration: 0,\n closable: true,\n snackbarId,\n toasterId: snackbarId,\n onClose: () => _setSelectedKeys([]),\n message: t('explorer.massAction.selectedItems', {\n count: view.massSelection === MASS_SELECTION_ALL ? totalCount : view.massSelection.length,\n }),\n actions: massActions.map(({label, icon, deselectAll, callback}, index) => ({\n key: index,\n label,\n icon,\n onClick: async () => {\n await callback(\n view.massSelection === MASS_SELECTION_ALL\n ? prepareFiltersForRequest(filters, filtersOperator)\n : interleaveElement(\n {operator: RecordFilterOperator.OR},\n view.massSelection.map(key => [\n {\n field: 'id',\n condition: RecordFilterCondition.EQUAL,\n value: String(key),\n },\n ]),\n ),\n view.massSelection,\n );\n if (deselectAll) {\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: [],\n });\n }\n },\n })),\n });\n } else {\n closeKitSnackBar(snackbarId);\n }\n }, [view.massSelection, filters, totalCount]);\n\n useEffect(() => () => closeKitSnackBar(snackbarId), []);\n\n const isOnePage = view.pageSize > totalCount;\n const hasSelectedAllAvailableItems =\n view.massSelection === MASS_SELECTION_ALL || view.massSelection.length === totalCount;\n const hasSelectedSomeItems =\n view.massSelection !== MASS_SELECTION_ALL &&\n view.massSelection.length > 0 &&\n view.massSelection.length < totalCount;\n\n const _selectAllButton = isOnePage ? (\n <KitCheckbox\n aria-checked={hasSelectedSomeItems ? 'mixed' : hasSelectedAllAvailableItems ? 'true' : 'false'}\n indeterminate={hasSelectedSomeItems}\n checked={hasSelectedAllAvailableItems}\n onChange={_ => {\n if (hasSelectedAllAvailableItems) {\n _setSelectedKeys([]);\n } else {\n _setSelectedKeys(allVisibleKeys);\n }\n }}\n >\n {t('explorer.massAction.itemsTotal', {count: totalCount})}\n </KitCheckbox>\n ) : (\n <KitDropDown\n trigger={['click']}\n menu={{\n items: [\n hasSelectedAllAvailableItems\n ? null\n : {\n key: 'toggle_page_selection',\n label: t('explorer.massAction.toggle_selection.select_page', {count: view.pageSize}),\n onClick: () => {\n _setSelectedKeys([...new Set([...view.massSelection, ...allVisibleKeys])]);\n },\n },\n {\n key: 'toggle_all_selection',\n label: hasSelectedAllAvailableItems\n ? t('explorer.massAction.toggle_selection.deselect_all', {count: totalCount})\n : t('explorer.massAction.toggle_selection.select_all', {count: totalCount}),\n onClick: async () => {\n if (hasSelectedAllAvailableItems) {\n _setSelectedKeys([]);\n } else {\n _setSelectedKeys(MASS_SELECTION_ALL);\n }\n },\n },\n ],\n }}\n >\n <KitCheckbox\n aria-checked={hasSelectedSomeItems ? 'mixed' : hasSelectedAllAvailableItems ? 'true' : 'false'}\n indeterminate={hasSelectedSomeItems}\n checked={hasSelectedAllAvailableItems}\n >\n <KitSpace size=\"s\">\n {t('explorer.massAction.itemsTotal', {count: totalCount})}\n <FontAwesomeIcon icon={faChevronDown} />\n </KitSpace>\n </KitCheckbox>\n </KitDropDown>\n );\n\n const _setSelectedKeys = useCallback(\n (keys: MassSelection) =>\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: keys,\n }),\n [dispatch],\n );\n\n return {\n selectAllButton: isEnabled ? _selectAllButton : null,\n setSelectedKeys: isEnabled ? _setSelectedKeys : null,\n };\n};\n"]}
1
+ {"version":3,"file":"useMassActions.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-mass/useMassActions.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 {closeKitSnackBar, KitCheckbox, KitDropDown, KitSpace, KitTypography, openKitSnackBar} from 'aristid-ds';\nimport {type Dispatch, useCallback, useEffect, useRef, useState} from 'react';\nimport {RecordFilterCondition, RecordFilterOperator} from '_ui/_gqlTypes';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {interleaveElement} from '_ui/_utils/interleaveElement';\nimport {type IMassActions, type MassSelection} from '../_types';\nimport {MASS_SELECTION_ALL} from '../_constants';\nimport {type IViewSettingsAction, type IViewSettingsState, ViewSettingsActionTypes} from '../manage-view-settings';\nimport {prepareFiltersForRequest} from '_ui/components/Filters';\nimport {type IUIFiltersState} from '_ui/components/Filters/context/filtersReducer';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCaretDown} from '@fortawesome/free-solid-svg-icons';\nimport {ResultsCount} from './ResultsCount';\n\n/**\n * Hook used to manage mass selection as the snackbar and all kind of selection (manual, all in page, all in filters)\n *\n * @param isEnabled - whether the selection is present\n * @param view - represent the current view\n * @param dispatch - method to change the current view\n * @param totalCountFiltered - number of results with the current filters\n * @param totalCountLibrary - number of total items in the library (without filters)\n * @param allVisibleKeys - list of all ids currently selected\n * @param massActions - array of all actions available on mass selection\n * @param snackbarId - id of the snackbar displayed\n */\nexport const useMassActions = ({\n isEnabled,\n store: {dispatch, view},\n filtersStore: {filters, filtersOperator},\n totalCountFiltered,\n totalCountLibrary,\n allVisibleKeys,\n massActions,\n snackbarId,\n}: {\n isEnabled: boolean;\n store: {\n view: IViewSettingsState;\n dispatch: Dispatch<IViewSettingsAction>;\n };\n filtersStore: IUIFiltersState;\n totalCountFiltered: number;\n totalCountLibrary: number;\n allVisibleKeys: string[];\n massActions: IMassActions[];\n snackbarId: string;\n}) => {\n const {t} = useSharedTranslation();\n const [isInactive, setIsInactive] = useState(false);\n\n useEffect(() => {\n setIsInactive(filters.filter(f => f.field === 'active')?.[0]?.value === 'false');\n }, [filters]);\n\n useEffect(() => {\n if (view.massSelection === MASS_SELECTION_ALL || view.massSelection.length !== 0) {\n openKitSnackBar({\n duration: 0,\n closable: true,\n snackbarId,\n toasterId: snackbarId,\n onClose: () => _setSelectedKeys([]),\n message: t('explorer.massAction.selectedItems', {\n count: view.massSelection === MASS_SELECTION_ALL ? totalCountFiltered : view.massSelection.length,\n }),\n actions: massActions.map(({label, icon, deselectAll, callback}, index) => ({\n key: index,\n label,\n icon,\n onClick: async () => {\n await callback(\n view.massSelection === MASS_SELECTION_ALL\n ? prepareFiltersForRequest(filters, filtersOperator)\n : interleaveElement(\n {operator: RecordFilterOperator.OR},\n view.massSelection.map(key => [\n {\n field: 'id',\n condition: RecordFilterCondition.EQUAL,\n value: String(key),\n },\n ]),\n ),\n view.massSelection,\n );\n if (deselectAll) {\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: [],\n });\n }\n },\n })),\n });\n } else {\n closeKitSnackBar(snackbarId);\n }\n }, [view.massSelection, filters, totalCountFiltered]);\n\n useEffect(() => () => closeKitSnackBar(snackbarId), []);\n\n const isOnePage = view.pageSize > totalCountFiltered;\n const hasSelectedAllAvailableItems =\n view.massSelection === MASS_SELECTION_ALL || view.massSelection.length === totalCountFiltered;\n const hasSelectedSomeItems =\n view.massSelection !== MASS_SELECTION_ALL &&\n view.massSelection.length > 0 &&\n view.massSelection.length < totalCountFiltered;\n\n const _selectAllButton = isOnePage ? (\n <KitCheckbox\n aria-checked={hasSelectedSomeItems ? 'mixed' : hasSelectedAllAvailableItems ? 'true' : 'false'}\n indeterminate={hasSelectedSomeItems}\n checked={hasSelectedAllAvailableItems}\n onChange={_ => {\n if (hasSelectedAllAvailableItems) {\n _setSelectedKeys([]);\n } else {\n _setSelectedKeys(allVisibleKeys);\n }\n }}\n >\n <ResultsCount\n t={t}\n isInactive={isInactive}\n totalCountFiltered={totalCountFiltered}\n totalCountLibrary={totalCountLibrary}\n />\n </KitCheckbox>\n ) : (\n <KitDropDown\n trigger={['click']}\n menu={{\n items: [\n hasSelectedAllAvailableItems\n ? null\n : {\n key: 'toggle_page_selection',\n label: t('explorer.massAction.toggle_selection.select_page', {count: view.pageSize}),\n onClick: () => {\n _setSelectedKeys([...new Set([...view.massSelection, ...allVisibleKeys])]);\n },\n },\n {\n key: 'toggle_all_selection',\n label: hasSelectedAllAvailableItems\n ? t('explorer.massAction.toggle_selection.deselect_all', {count: totalCountFiltered})\n : t('explorer.massAction.toggle_selection.select_all', {count: totalCountFiltered}),\n onClick: async () => {\n if (hasSelectedAllAvailableItems) {\n _setSelectedKeys([]);\n } else {\n _setSelectedKeys(MASS_SELECTION_ALL);\n }\n },\n },\n ],\n }}\n >\n <KitCheckbox\n aria-checked={hasSelectedSomeItems ? 'mixed' : hasSelectedAllAvailableItems ? 'true' : 'false'}\n indeterminate={hasSelectedSomeItems}\n checked={hasSelectedAllAvailableItems}\n >\n <KitSpace size=\"xxs\">\n <ResultsCount\n t={t}\n isInactive={isInactive}\n totalCountFiltered={totalCountFiltered}\n totalCountLibrary={totalCountLibrary}\n />\n <FontAwesomeIcon icon={faCaretDown} size=\"2xs\" />\n </KitSpace>\n </KitCheckbox>\n </KitDropDown>\n );\n\n const _setSelectedKeys = useCallback(\n (keys: MassSelection) =>\n dispatch({\n type: ViewSettingsActionTypes.SET_SELECTED_KEYS,\n payload: keys,\n }),\n [dispatch],\n );\n\n return {\n selectAllButton: isEnabled ? _selectAllButton : null,\n setSelectedKeys: isEnabled ? _setSelectedKeys : null,\n };\n};\n"]}
@@ -16,8 +16,9 @@ import { type FeatureHook, type Entrypoint, type IPrimaryAction } from '../_type
16
16
  * @param totalCount - used for display purpose only
17
17
  * @param onCreate - callback to let outside world known about creating item (and linking)
18
18
  * @param refetch - method to call to refresh the list. A new item will be visible if it matches filters and sorts
19
+ * @param refetchCount - method to call to refresh the count of the library. A new item will be visible if it matches filters and sorts
19
20
  */
20
- export declare const useCreatePrimaryAction: ({ isEnabled, isVisible, libraryId, entrypoint, totalCount, canCreateAndLinkValue, isMultivalue, onCreate, formId, joinLibraryContext, refetch, }: FeatureHook<{
21
+ export declare const useCreatePrimaryAction: ({ isEnabled, isVisible, libraryId, entrypoint, totalCount, canCreateAndLinkValue, isMultivalue, onCreate, formId, joinLibraryContext, refetch, refetchCount, }: FeatureHook<{
21
22
  libraryId: string;
22
23
  entrypoint: Entrypoint;
23
24
  totalCount: number;
@@ -30,6 +31,7 @@ export declare const useCreatePrimaryAction: ({ isEnabled, isVisible, libraryId,
30
31
  joinLibraryContext?: JoinLibraryContextFragment;
31
32
  formId?: string;
32
33
  refetch: () => void;
34
+ refetchCount: () => void;
33
35
  }>) => {
34
36
  createPrimaryAction: IPrimaryAction;
35
37
  createModal: ReactElement<any, string | import("react").JSXElementConstructor<any>>;
@@ -28,8 +28,9 @@ import { faPlus } from '@fortawesome/free-solid-svg-icons';
28
28
  * @param totalCount - used for display purpose only
29
29
  * @param onCreate - callback to let outside world known about creating item (and linking)
30
30
  * @param refetch - method to call to refresh the list. A new item will be visible if it matches filters and sorts
31
+ * @param refetchCount - method to call to refresh the count of the library. A new item will be visible if it matches filters and sorts
31
32
  */
32
- export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entrypoint, totalCount, canCreateAndLinkValue, isMultivalue, onCreate, formId, joinLibraryContext, refetch, }) => {
33
+ export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entrypoint, totalCount, canCreateAndLinkValue, isMultivalue, onCreate, formId, joinLibraryContext, refetch, refetchCount, }) => {
33
34
  const { t } = useSharedTranslation();
34
35
  const { lang } = useLang();
35
36
  const [isModalCreationVisible, setIsModalCreationVisible] = useState(false);
@@ -85,6 +86,7 @@ export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entryp
85
86
  case LibraryBehavior.files:
86
87
  _createModal = (_jsx(UploadFiles, { libraryId: _getLibraryId(), multiple: true, onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
87
88
  refetch();
89
+ refetchCount();
88
90
  _notifyNewCreation(t('upload.file'));
89
91
  setIsModalCreationVisible(false);
90
92
  } }));
@@ -92,6 +94,7 @@ export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entryp
92
94
  case LibraryBehavior.directories:
93
95
  _createModal = (_jsx(CreateDirectory, { libraryId: _getLibraryId(), onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
94
96
  refetch();
97
+ refetchCount();
95
98
  _notifyNewCreation(t('upload.folder'));
96
99
  setIsModalCreationVisible(false);
97
100
  } }));
@@ -124,6 +127,7 @@ export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entryp
124
127
  await Promise.resolve(onCreate?.({ recordIdCreated: newRecord.id }));
125
128
  }
126
129
  refetch();
130
+ refetchCount();
127
131
  }, submitButtons: ['create'] }));
128
132
  break;
129
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useCreatePrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useCreatePrimaryAction.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 ReactElement, useState} from 'react';\nimport {KitAlert} from 'aristid-ds';\nimport {CreateDirectory, EditRecordModal, UploadFiles} from '_ui/components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport useSaveValueBatchMutation from '_ui/components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';\nimport {type ISubmitMultipleResult} from '_ui/components/RecordEdition/EditRecordContent/_types';\nimport {\n AttributeType,\n type JoinLibraryContextFragment,\n LibraryBehavior,\n useExplorerLibraryDetailsQuery,\n} from '_ui/_gqlTypes';\nimport {type FeatureHook, type Entrypoint, type IPrimaryAction} from '../_types';\nimport {CREATE_RECORD_MODAL_CLASSNAME} from '../_constants';\nimport {SUCCESS_ALERT_DURATION} from '_ui/constants';\nimport {localizedTranslation} from '@leav/utils';\nimport {useLang} from '_ui/hooks';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faPlus} from '@fortawesome/free-solid-svg-icons';\n\n/**\n * Hook used to get the action for the `<DataView />` component.\n *\n * When the creation is done, we refresh all data even if the new record is not visible due to some filters.\n *\n * It returns also two parts: one for the call action button - one for displaying the modal required by the action.\n *\n * @param isEnabled - whether the action is present\n * @param isVisible - whether the button should be visible or not\n * @param libraryId - the library's id to add new item\n * @param entrypoint - represent the current entrypoint\n * @param totalCount - used for display purpose only\n * @param onCreate - callback to let outside world known about creating item (and linking)\n * @param refetch - method to call to refresh the list. A new item will be visible if it matches filters and sorts\n */\nexport const useCreatePrimaryAction = ({\n isEnabled,\n isVisible,\n libraryId,\n entrypoint,\n totalCount,\n canCreateAndLinkValue,\n isMultivalue,\n onCreate,\n formId,\n joinLibraryContext,\n refetch,\n}: FeatureHook<{\n libraryId: string;\n entrypoint: Entrypoint;\n totalCount: number;\n canCreateAndLinkValue: boolean;\n isMultivalue: boolean;\n onCreate?: ({\n recordIdCreated,\n saveValuesResultOnLink,\n }: {\n recordIdCreated: string;\n saveValuesResultOnLink?: ISubmitMultipleResult;\n }) => void;\n joinLibraryContext?: JoinLibraryContextFragment;\n formId?: string;\n refetch: () => void;\n}>) => {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n const [isModalCreationVisible, setIsModalCreationVisible] = useState(false);\n const {saveValues} = useSaveValueBatchMutation();\n\n const _getLibraryId = () =>\n (joinLibraryContext?.mandatoryAttribute &&\n 'linked_library' in joinLibraryContext.mandatoryAttribute &&\n joinLibraryContext.mandatoryAttribute.linked_library?.id) ||\n libraryId;\n\n const {data, loading, error} = useExplorerLibraryDetailsQuery({\n variables: {libraryId: _getLibraryId()},\n skip: !isEnabled,\n });\n\n const hasCreateRecordPermission = data?.libraries?.list[0]?.permissions?.create_record ?? false;\n\n if (error || loading || !isVisible || !hasCreateRecordPermission) {\n return {createPrimaryAction: null, createModal: null};\n }\n\n let canCreateRecord;\n if (joinLibraryContext?.mandatoryAttribute?.type === AttributeType.tree) {\n canCreateRecord = false;\n } else if (entrypoint.type === 'library') {\n canCreateRecord = true;\n } else {\n canCreateRecord = canCreateAndLinkValue && (isMultivalue || totalCount === 0);\n }\n\n const _createPrimaryAction: IPrimaryAction = {\n callback: () => {\n setIsModalCreationVisible(true);\n },\n icon: <FontAwesomeIcon icon={faPlus} />,\n disabled: !canCreateRecord,\n label: t('explorer.create-one'),\n };\n\n const _notifyNewCreation = (label?: string | null) => {\n KitAlert.success({\n showIcon: true,\n duration: SUCCESS_ALERT_DURATION,\n message: t('items_list.created_in_success.message', {\n libName:\n localizedTranslation(data?.libraries?.list[0]?.label, lang) ||\n t('items_list.created_in_success.item'),\n }),\n description: t('items_list.created_in_success.description', {\n libName:\n localizedTranslation(data?.libraries?.list[0]?.label, lang) ||\n t('items_list.created_in_success.item'),\n itemName: label || t('items_list.created_in_success.item'),\n }),\n closable: true,\n });\n };\n\n let _createModal: ReactElement | null = null;\n switch (data?.libraries?.list[0]?.behavior) {\n case LibraryBehavior.files:\n _createModal = (\n <UploadFiles\n libraryId={_getLibraryId()}\n multiple\n onClose={() => setIsModalCreationVisible(false)}\n onCompleted={() => {\n refetch();\n _notifyNewCreation(t('upload.file'));\n setIsModalCreationVisible(false);\n }}\n />\n );\n break;\n case LibraryBehavior.directories:\n _createModal = (\n <CreateDirectory\n libraryId={_getLibraryId()}\n onClose={() => setIsModalCreationVisible(false)}\n onCompleted={() => {\n refetch();\n _notifyNewCreation(t('upload.folder'));\n setIsModalCreationVisible(false);\n }}\n />\n );\n break;\n case LibraryBehavior.standard:\n case LibraryBehavior.join:\n _createModal = (\n <EditRecordModal\n className={CREATE_RECORD_MODAL_CLASSNAME}\n open\n record={null}\n library={_getLibraryId()}\n creationFormId={formId}\n onClose={() => {\n setIsModalCreationVisible(false);\n }}\n onCreate={async newRecord => {\n _notifyNewCreation(newRecord.label);\n setIsModalCreationVisible(false);\n if (entrypoint.type === 'link') {\n await saveValues(\n {\n id: entrypoint.parentRecordId,\n library: {\n id: entrypoint.parentLibraryId,\n },\n },\n [\n {\n attribute: entrypoint.linkAttributeId,\n idValue: null,\n value: newRecord.id,\n },\n ],\n ).then(async saveValuesResult =>\n onCreate?.({\n recordIdCreated: newRecord.id,\n saveValuesResultOnLink: saveValuesResult,\n }),\n );\n } else {\n await Promise.resolve(onCreate?.({recordIdCreated: newRecord.id}));\n }\n refetch();\n }}\n submitButtons={['create']}\n />\n );\n break;\n }\n\n return {\n createPrimaryAction: isEnabled ? _createPrimaryAction : null,\n createModal: isModalCreationVisible ? _createModal : null,\n };\n};\n"]}
1
+ {"version":3,"file":"useCreatePrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useCreatePrimaryAction.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 ReactElement, useState} from 'react';\nimport {KitAlert} from 'aristid-ds';\nimport {CreateDirectory, EditRecordModal, UploadFiles} from '_ui/components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport useSaveValueBatchMutation from '_ui/components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';\nimport {type ISubmitMultipleResult} from '_ui/components/RecordEdition/EditRecordContent/_types';\nimport {\n AttributeType,\n type JoinLibraryContextFragment,\n LibraryBehavior,\n useExplorerLibraryDetailsQuery,\n} from '_ui/_gqlTypes';\nimport {type FeatureHook, type Entrypoint, type IPrimaryAction} from '../_types';\nimport {CREATE_RECORD_MODAL_CLASSNAME} from '../_constants';\nimport {SUCCESS_ALERT_DURATION} from '_ui/constants';\nimport {localizedTranslation} from '@leav/utils';\nimport {useLang} from '_ui/hooks';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faPlus} from '@fortawesome/free-solid-svg-icons';\n\n/**\n * Hook used to get the action for the `<DataView />` component.\n *\n * When the creation is done, we refresh all data even if the new record is not visible due to some filters.\n *\n * It returns also two parts: one for the call action button - one for displaying the modal required by the action.\n *\n * @param isEnabled - whether the action is present\n * @param isVisible - whether the button should be visible or not\n * @param libraryId - the library's id to add new item\n * @param entrypoint - represent the current entrypoint\n * @param totalCount - used for display purpose only\n * @param onCreate - callback to let outside world known about creating item (and linking)\n * @param refetch - method to call to refresh the list. A new item will be visible if it matches filters and sorts\n * @param refetchCount - method to call to refresh the count of the library. A new item will be visible if it matches filters and sorts\n */\nexport const useCreatePrimaryAction = ({\n isEnabled,\n isVisible,\n libraryId,\n entrypoint,\n totalCount,\n canCreateAndLinkValue,\n isMultivalue,\n onCreate,\n formId,\n joinLibraryContext,\n refetch,\n refetchCount,\n}: FeatureHook<{\n libraryId: string;\n entrypoint: Entrypoint;\n totalCount: number;\n canCreateAndLinkValue: boolean;\n isMultivalue: boolean;\n onCreate?: ({\n recordIdCreated,\n saveValuesResultOnLink,\n }: {\n recordIdCreated: string;\n saveValuesResultOnLink?: ISubmitMultipleResult;\n }) => void;\n joinLibraryContext?: JoinLibraryContextFragment;\n formId?: string;\n refetch: () => void;\n refetchCount: () => void;\n}>) => {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n const [isModalCreationVisible, setIsModalCreationVisible] = useState(false);\n const {saveValues} = useSaveValueBatchMutation();\n\n const _getLibraryId = () =>\n (joinLibraryContext?.mandatoryAttribute &&\n 'linked_library' in joinLibraryContext.mandatoryAttribute &&\n joinLibraryContext.mandatoryAttribute.linked_library?.id) ||\n libraryId;\n\n const {data, loading, error} = useExplorerLibraryDetailsQuery({\n variables: {libraryId: _getLibraryId()},\n skip: !isEnabled,\n });\n\n const hasCreateRecordPermission = data?.libraries?.list[0]?.permissions?.create_record ?? false;\n\n if (error || loading || !isVisible || !hasCreateRecordPermission) {\n return {createPrimaryAction: null, createModal: null};\n }\n\n let canCreateRecord;\n if (joinLibraryContext?.mandatoryAttribute?.type === AttributeType.tree) {\n canCreateRecord = false;\n } else if (entrypoint.type === 'library') {\n canCreateRecord = true;\n } else {\n canCreateRecord = canCreateAndLinkValue && (isMultivalue || totalCount === 0);\n }\n\n const _createPrimaryAction: IPrimaryAction = {\n callback: () => {\n setIsModalCreationVisible(true);\n },\n icon: <FontAwesomeIcon icon={faPlus} />,\n disabled: !canCreateRecord,\n label: t('explorer.create-one'),\n };\n\n const _notifyNewCreation = (label?: string | null) => {\n KitAlert.success({\n showIcon: true,\n duration: SUCCESS_ALERT_DURATION,\n message: t('items_list.created_in_success.message', {\n libName:\n localizedTranslation(data?.libraries?.list[0]?.label, lang) ||\n t('items_list.created_in_success.item'),\n }),\n description: t('items_list.created_in_success.description', {\n libName:\n localizedTranslation(data?.libraries?.list[0]?.label, lang) ||\n t('items_list.created_in_success.item'),\n itemName: label || t('items_list.created_in_success.item'),\n }),\n closable: true,\n });\n };\n\n let _createModal: ReactElement | null = null;\n switch (data?.libraries?.list[0]?.behavior) {\n case LibraryBehavior.files:\n _createModal = (\n <UploadFiles\n libraryId={_getLibraryId()}\n multiple\n onClose={() => setIsModalCreationVisible(false)}\n onCompleted={() => {\n refetch();\n refetchCount();\n _notifyNewCreation(t('upload.file'));\n setIsModalCreationVisible(false);\n }}\n />\n );\n break;\n case LibraryBehavior.directories:\n _createModal = (\n <CreateDirectory\n libraryId={_getLibraryId()}\n onClose={() => setIsModalCreationVisible(false)}\n onCompleted={() => {\n refetch();\n refetchCount();\n _notifyNewCreation(t('upload.folder'));\n setIsModalCreationVisible(false);\n }}\n />\n );\n break;\n case LibraryBehavior.standard:\n case LibraryBehavior.join:\n _createModal = (\n <EditRecordModal\n className={CREATE_RECORD_MODAL_CLASSNAME}\n open\n record={null}\n library={_getLibraryId()}\n creationFormId={formId}\n onClose={() => {\n setIsModalCreationVisible(false);\n }}\n onCreate={async newRecord => {\n _notifyNewCreation(newRecord.label);\n setIsModalCreationVisible(false);\n if (entrypoint.type === 'link') {\n await saveValues(\n {\n id: entrypoint.parentRecordId,\n library: {\n id: entrypoint.parentLibraryId,\n },\n },\n [\n {\n attribute: entrypoint.linkAttributeId,\n idValue: null,\n value: newRecord.id,\n },\n ],\n ).then(async saveValuesResult =>\n onCreate?.({\n recordIdCreated: newRecord.id,\n saveValuesResultOnLink: saveValuesResult,\n }),\n );\n } else {\n await Promise.resolve(onCreate?.({recordIdCreated: newRecord.id}));\n }\n refetch();\n refetchCount();\n }}\n submitButtons={['create']}\n />\n );\n break;\n }\n\n return {\n createPrimaryAction: isEnabled ? _createPrimaryAction : null,\n createModal: isModalCreationVisible ? _createModal : null,\n };\n};\n"]}
@@ -7,6 +7,6 @@ import { KitIdCard, KitRadio, KitSpace, KitTag } from 'aristid-ds';
7
7
  export const SelectViewType = ({ value, onChange }) => {
8
8
  const { t } = useSharedTranslation();
9
9
  const comingSoonTag = (_jsx(KitTag, { type: "secondary", children: _jsx(KitIdCard, { description: String(t('explorer.coming-soon')) }) }));
10
- return (_jsx(KitRadio.Group, { value: value, onChange: onChange, children: _jsxs(KitSpace, { direction: "vertical", size: 0, children: [_jsx(KitRadio, { value: "list", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.view-type-list'), " ", comingSoonTag] }) }), _jsx(KitRadio, { value: "table", children: t('explorer.view-type-table') }), _jsx(KitRadio, { value: "mosaic", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.view-type-mosaic'), " ", comingSoonTag] }) }), _jsx(KitRadio, { value: "planning", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.view-type-planning'), " ", comingSoonTag] }) })] }) }));
10
+ return (_jsx(KitRadio.Group, { value: value, onChange: onChange, children: _jsxs(KitSpace, { direction: "vertical", size: 0, children: [_jsx(KitRadio, { value: "table", children: t('explorer.view-type-table') }), _jsx(KitRadio, { value: "timeline", children: t('explorer.view-type-planning') }), _jsx(KitRadio, { value: "list", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.view-type-list'), " ", comingSoonTag] }) }), _jsx(KitRadio, { value: "mosaic", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.view-type-mosaic'), " ", comingSoonTag] }) })] }) }));
11
11
  };
12
12
  //# sourceMappingURL=SelectViewType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectViewType.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,YAAY,CAAC;AASjE,MAAM,CAAC,MAAM,cAAc,GAA4C,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAE,EAAE;IACzF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,aAAa,GAAG,CAClB,KAAC,MAAM,IAAC,IAAI,EAAC,WAAW,YACpB,KAAC,SAAS,IAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAI,GACxD,CACZ,CAAC;IAEF,OAAO,CACH,KAAC,QAAQ,CAAC,KAAK,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YAC5C,MAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,EAAC,IAAI,EAAE,CAAC,aAClC,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,kBAC3B,MAAC,QAAQ,eACJ,CAAC,CAAC,yBAAyB,CAAC,OAAG,aAAa,IACtC,GACJ,EACX,KAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,YAAE,CAAC,CAAC,0BAA0B,CAAC,GAAY,EAClE,KAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,kBAC7B,MAAC,QAAQ,eACJ,CAAC,CAAC,2BAA2B,CAAC,OAAG,aAAa,IACxC,GACJ,EACX,KAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,kBAC/B,MAAC,QAAQ,eACJ,CAAC,CAAC,6BAA6B,CAAC,OAAG,aAAa,IAC1C,GACJ,IACJ,GACE,CACpB,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 {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {KitIdCard, KitRadio, KitSpace, KitTag} from 'aristid-ds';\nimport {type RadioGroupProps} from 'aristid-ds/dist/Kit/DataEntry/Radio';\nimport {type FunctionComponent} from 'react';\n\ninterface ISelectViewTypeProps {\n value: string;\n onChange: RadioGroupProps['onChange'];\n}\n\nexport const SelectViewType: FunctionComponent<ISelectViewTypeProps> = ({value, onChange}) => {\n const {t} = useSharedTranslation();\n\n const comingSoonTag = (\n <KitTag type=\"secondary\">\n <KitIdCard description={String(t('explorer.coming-soon'))} />\n </KitTag>\n );\n\n return (\n <KitRadio.Group value={value} onChange={onChange}>\n <KitSpace direction=\"vertical\" size={0}>\n <KitRadio value=\"list\" disabled>\n <KitSpace>\n {t('explorer.view-type-list')} {comingSoonTag}\n </KitSpace>\n </KitRadio>\n <KitRadio value=\"table\">{t('explorer.view-type-table')}</KitRadio>\n <KitRadio value=\"mosaic\" disabled>\n <KitSpace>\n {t('explorer.view-type-mosaic')} {comingSoonTag}\n </KitSpace>\n </KitRadio>\n <KitRadio value=\"planning\" disabled>\n <KitSpace>\n {t('explorer.view-type-planning')} {comingSoonTag}\n </KitSpace>\n </KitRadio>\n </KitSpace>\n </KitRadio.Group>\n );\n};\n"]}
1
+ {"version":3,"file":"SelectViewType.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,YAAY,CAAC;AASjE,MAAM,CAAC,MAAM,cAAc,GAA4C,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAE,EAAE;IACzF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,aAAa,GAAG,CAClB,KAAC,MAAM,IAAC,IAAI,EAAC,WAAW,YACpB,KAAC,SAAS,IAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAI,GACxD,CACZ,CAAC;IAEF,OAAO,CACH,KAAC,QAAQ,CAAC,KAAK,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YAC5C,MAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,EAAC,IAAI,EAAE,CAAC,aAClC,KAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,YAAE,CAAC,CAAC,0BAA0B,CAAC,GAAY,EAClE,KAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,YAAE,CAAC,CAAC,6BAA6B,CAAC,GAAY,EACxE,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,kBAC3B,MAAC,QAAQ,eACJ,CAAC,CAAC,yBAAyB,CAAC,OAAG,aAAa,IACtC,GACJ,EACX,KAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,kBAC7B,MAAC,QAAQ,eACJ,CAAC,CAAC,2BAA2B,CAAC,OAAG,aAAa,IACxC,GACJ,IACJ,GACE,CACpB,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 {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {KitIdCard, KitRadio, KitSpace, KitTag} from 'aristid-ds';\nimport {type RadioGroupProps} from 'aristid-ds/dist/Kit/DataEntry/Radio';\nimport {type FunctionComponent} from 'react';\n\ninterface ISelectViewTypeProps {\n value: string;\n onChange: RadioGroupProps['onChange'];\n}\n\nexport const SelectViewType: FunctionComponent<ISelectViewTypeProps> = ({value, onChange}) => {\n const {t} = useSharedTranslation();\n\n const comingSoonTag = (\n <KitTag type=\"secondary\">\n <KitIdCard description={String(t('explorer.coming-soon'))} />\n </KitTag>\n );\n\n return (\n <KitRadio.Group value={value} onChange={onChange}>\n <KitSpace direction=\"vertical\" size={0}>\n <KitRadio value=\"table\">{t('explorer.view-type-table')}</KitRadio>\n <KitRadio value=\"timeline\">{t('explorer.view-type-planning')}</KitRadio>\n <KitRadio value=\"list\" disabled>\n <KitSpace>\n {t('explorer.view-type-list')} {comingSoonTag}\n </KitSpace>\n </KitRadio>\n <KitRadio value=\"mosaic\" disabled>\n <KitSpace>\n {t('explorer.view-type-mosaic')} {comingSoonTag}\n </KitSpace>\n </KitRadio>\n </KitSpace>\n </KitRadio.Group>\n );\n};\n"]}
@@ -55,6 +55,9 @@ export const FilterItems = ({ libraryId }) => {
55
55
  linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])
56
56
  ? (attributeDetailsById[attributeId].linked_tree ?? undefined)
57
57
  : undefined,
58
+ smartFilter: _isLibraryLinkAttribute(attributeDetailsById[attributeId])
59
+ ? (attributeDetailsById[attributeId].smart_filter ?? undefined)
60
+ : undefined,
58
61
  },
59
62
  },
60
63
  });
@@ -68,8 +71,8 @@ export const FilterItems = ({ libraryId }) => {
68
71
  });
69
72
  };
70
73
  const _handleDragEnd = ({ active: draggedElement, over: dropTarget }) => {
71
- const indexFrom = activeFilters.findIndex(({ field }) => field === String(draggedElement.id));
72
- 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));
73
76
  if (!dropTarget || indexFrom === indexTo || indexTo === -1) {
74
77
  return;
75
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 },\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":"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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}) =>\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"]}
@@ -1,5 +1,5 @@
1
1
  import { mapViewTypeFromExplorerToLegacy } from '../../_constants';
2
- import { isUIFilterTree, isUIFilterThrough, isUIFilterValueList } from '../../../../components/Filters/_types';
2
+ import { isUIFilterTree, isUIFilterThrough, isUIFilterValueList, isUIFilterWithSmartFilter, } from '../../../../components/Filters/_types';
3
3
  export const prepareViewForRequest = (view, filters, label) => ({
4
4
  library: view.libraryId,
5
5
  shared: false,
@@ -17,13 +17,6 @@ export const prepareViewForRequest = (view, filters, label) => ({
17
17
  withEmptyValues: filter.withEmptyValues,
18
18
  };
19
19
  }
20
- if (isUIFilterThrough(filter)) {
21
- return {
22
- field: `${filter.field}.${filter.subField}`,
23
- value: filter.value,
24
- condition: filter.subCondition,
25
- };
26
- }
27
20
  if (isUIFilterValueList(filter)) {
28
21
  return {
29
22
  // TODO save filter.field, but need to handle Through an other way in useTransformFilters.toValidFilters to keep that field as saved
@@ -34,6 +27,22 @@ export const prepareViewForRequest = (view, filters, label) => ({
34
27
  withEmptyValues: filter.withEmptyValues,
35
28
  };
36
29
  }
30
+ if (isUIFilterWithSmartFilter(filter)) {
31
+ return {
32
+ field: filter.field, // We use the field here because we want to keep the full path to the attribute (ex: link_attribute.id)
33
+ // TODO : save filter values as string[] when filter and handle fields with libraries
34
+ value: filter.value?.[0],
35
+ condition: filter.condition,
36
+ withEmptyValues: filter.withEmptyValues,
37
+ };
38
+ }
39
+ if (isUIFilterThrough(filter)) {
40
+ return {
41
+ field: `${filter.field}.${filter.subField}`,
42
+ value: filter.value,
43
+ condition: filter.subCondition,
44
+ };
45
+ }
37
46
  return {
38
47
  field: filter.field,
39
48
  value: filter.value,