@leav/ui 1.4.1-4d58c0b2 → 1.4.1-79c3ba25

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 (243) hide show
  1. package/dist/_gqlTypes/index.d.ts +49 -0
  2. package/dist/_gqlTypes/index.js +50 -2
  3. package/dist/_gqlTypes/index.js.map +1 -1
  4. package/dist/_queries/export/exportQuery.js +2 -2
  5. package/dist/_utils/index.js +4 -4
  6. package/dist/components/AttributePicker/AttributesList/AttributesList.js +1 -1
  7. package/dist/components/EditAttributeModal/EditAttribute/EditAttributeInfo/EditAttributeInfoForm/LinkedLibraryForm/LinkedLibraryForm.js +1 -1
  8. package/dist/components/EditAttributeModal/EditAttribute/EditAttributeInfo/EditAttributeInfoForm/LinkedTreeForm/LinkedTreeForm.js +1 -1
  9. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/AttributeCell/AttributeCell.js +1 -1
  10. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryPreviewsSettings/EditPreviewsSettingsModal/EditPreviewsSettingsModal.js +5 -5
  11. package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.js +1 -1
  12. package/dist/components/EntityCard/EntityCard.js +5 -5
  13. package/dist/components/Explorer/Explorer.d.ts +2 -1
  14. package/dist/components/Explorer/Explorer.js +50 -32
  15. package/dist/components/Explorer/Explorer.js.map +1 -1
  16. package/dist/components/Explorer/ExplorerFiltersAndSorts.js +8 -12
  17. package/dist/components/Explorer/ExplorerFiltersAndSorts.js.map +1 -1
  18. package/dist/components/Explorer/ExplorerToolbar.js +6 -3
  19. package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
  20. package/dist/components/Explorer/_constants.d.ts +1 -0
  21. package/dist/components/Explorer/_constants.js +1 -0
  22. package/dist/components/Explorer/_constants.js.map +1 -1
  23. package/dist/components/Explorer/_queries/useExplorerData.d.ts +3 -2
  24. package/dist/components/Explorer/_queries/useExplorerData.js +1 -1
  25. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  26. package/dist/components/Explorer/_types.d.ts +4 -116
  27. package/dist/components/Explorer/_types.js +1 -12
  28. package/dist/components/Explorer/_types.js.map +1 -1
  29. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js +17 -8
  30. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -1
  31. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js +12 -5
  32. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js.map +1 -1
  33. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.d.ts +3 -1
  34. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js +14 -7
  35. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js.map +1 -1
  36. package/dist/components/Explorer/actions-mass/useExportMassAction.d.ts +17 -0
  37. package/dist/components/Explorer/actions-mass/useExportMassAction.js +95 -0
  38. package/dist/components/Explorer/actions-mass/useExportMassAction.js.map +1 -0
  39. package/dist/components/Explorer/actions-mass/useMassActions.d.ts +3 -1
  40. package/dist/components/Explorer/actions-mass/useMassActions.js +4 -4
  41. package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -1
  42. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +3 -3
  43. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  44. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js +3 -1
  45. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js.map +1 -1
  46. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.d.ts +2 -1
  47. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js +6 -6
  48. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js.map +1 -1
  49. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js +15 -3
  50. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js.map +1 -1
  51. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js +4 -0
  52. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js.map +1 -1
  53. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js +4 -2
  54. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js.map +1 -1
  55. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js +15 -3
  56. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js.map +1 -1
  57. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js +1 -4
  58. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js.map +1 -1
  59. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.d.ts +8 -9
  60. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js +4 -128
  61. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
  62. package/dist/components/Explorer/useLoadView.js +15 -8
  63. package/dist/components/Explorer/useLoadView.js.map +1 -1
  64. package/dist/components/Explorer/useViewSettingsReducer.js +5 -10
  65. package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
  66. package/dist/components/Filters/FiltersProvider.d.ts +3 -0
  67. package/dist/components/Filters/FiltersProvider.js +8 -0
  68. package/dist/components/Filters/FiltersProvider.js.map +1 -0
  69. package/dist/components/Filters/_types.d.ts +130 -0
  70. package/dist/components/Filters/_types.js +14 -0
  71. package/dist/components/Filters/_types.js.map +1 -0
  72. package/dist/components/Filters/conditionsHelper.d.ts +2 -0
  73. package/dist/components/Filters/conditionsHelper.js +16 -0
  74. package/dist/components/Filters/conditionsHelper.js.map +1 -0
  75. package/dist/components/Filters/context/filtersContext.d.ts +6 -0
  76. package/dist/components/Filters/context/filtersContext.js +9 -0
  77. package/dist/components/Filters/context/filtersContext.js.map +1 -0
  78. package/dist/components/Filters/context/filtersInitialState.d.ts +2 -0
  79. package/dist/components/Filters/context/filtersInitialState.js +10 -0
  80. package/dist/components/Filters/context/filtersInitialState.js.map +1 -0
  81. package/dist/components/Filters/context/filtersReducer.d.ts +64 -0
  82. package/dist/components/Filters/context/filtersReducer.js +179 -0
  83. package/dist/components/Filters/context/filtersReducer.js.map +1 -0
  84. package/dist/components/Filters/context/useFiltersReducer.d.ts +13 -0
  85. package/dist/components/Filters/context/useFiltersReducer.js +68 -0
  86. package/dist/components/Filters/context/useFiltersReducer.js.map +1 -0
  87. package/dist/components/Filters/filter-items/CommonFilterItem.d.ts +8 -0
  88. package/dist/components/{Explorer/manage-view-settings/_shared → Filters/filter-items}/CommonFilterItem.js +7 -7
  89. package/dist/components/Filters/filter-items/CommonFilterItem.js.map +1 -0
  90. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/BooleanAttributeDropdown.js +16 -8
  91. package/dist/components/Filters/filter-items/filter-type/BooleanAttributeDropdown.js.map +1 -0
  92. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/ColorAttributeDropDown.js +1 -1
  93. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js.map +1 -0
  94. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/DateAttributeDropDown.js +3 -3
  95. package/dist/components/Filters/filter-items/filter-type/DateAttributeDropDown.js.map +1 -0
  96. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/DateRangeAttributeDropDown.js +1 -1
  97. package/dist/components/Filters/filter-items/filter-type/DateRangeAttributeDropDown.js.map +1 -0
  98. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/EncryptedAttributeDropDown.js +1 -1
  99. package/dist/components/Filters/filter-items/filter-type/EncryptedAttributeDropDown.js.map +1 -0
  100. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/ExtendedAttributeDropDown.js +1 -1
  101. package/dist/components/Filters/filter-items/filter-type/ExtendedAttributeDropDown.js.map +1 -0
  102. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.d.ts +3 -0
  103. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/FilterDropDown.js +9 -9
  104. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js.map +1 -0
  105. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/FilterDropdownContent.d.ts +3 -3
  106. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/FilterDropdownContent.js +6 -6
  107. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js.map +1 -0
  108. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/FilterValueListDropDown.d.ts +3 -3
  109. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/FilterValueListDropDown.js +5 -5
  110. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js.map +1 -0
  111. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/LinkAttributeDropdown.js +6 -6
  112. package/dist/components/Filters/filter-items/filter-type/LinkAttributeDropdown.js.map +1 -0
  113. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/NumericAttributeDropDown.js +2 -2
  114. package/dist/components/Filters/filter-items/filter-type/NumericAttributeDropDown.js.map +1 -0
  115. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/TextAttributeDropDown.js +2 -2
  116. package/dist/components/Filters/filter-items/filter-type/TextAttributeDropDown.js.map +1 -0
  117. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/TreeAttributeDropDown.js +5 -5
  118. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js.map +1 -0
  119. package/dist/components/Filters/filter-items/filter-type/_types.d.ts +18 -0
  120. package/dist/components/Filters/filter-items/filter-type/_types.js.map +1 -0
  121. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/useConditionOptionsByType.d.ts +7 -7
  122. package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/useConditionOptionsByType.js +14 -14
  123. package/dist/components/Filters/filter-items/filter-type/useConditionOptionsByType.js.map +1 -0
  124. package/dist/components/Filters/index.d.ts +8 -0
  125. package/dist/components/Filters/index.js +12 -0
  126. package/dist/components/Filters/index.js.map +1 -0
  127. package/dist/components/Filters/prepareFiltersForRequest.d.ts +4 -0
  128. package/dist/components/{Explorer/_queries → Filters}/prepareFiltersForRequest.js +12 -11
  129. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -0
  130. package/dist/components/Filters/useFilters.d.ts +1724 -0
  131. package/dist/components/Filters/useFilters.js +28 -0
  132. package/dist/components/Filters/useFilters.js.map +1 -0
  133. package/dist/components/Filters/useFiltersContext.d.ts +4 -0
  134. package/dist/components/Filters/useFiltersContext.js +13 -0
  135. package/dist/components/Filters/useFiltersContext.js.map +1 -0
  136. package/dist/components/{Explorer/manage-view-settings/_shared → Filters}/useTransformFilters.d.ts +9 -9
  137. package/dist/components/{Explorer/manage-view-settings/_shared → Filters}/useTransformFilters.js +8 -8
  138. package/dist/components/Filters/useTransformFilters.js.map +1 -0
  139. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js +5 -5
  140. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js.map +1 -1
  141. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js +1 -1
  142. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js +1 -1
  143. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js +1 -1
  144. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js +1 -1
  145. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js +2 -2
  146. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js +1 -1
  147. package/dist/components/LibraryItemsList/MenuView/MenuView.js +6 -6
  148. package/dist/components/LibraryItemsList/Sidebar/Sidebar.js +1 -1
  149. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js +1 -1
  150. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js +3 -3
  151. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.d.ts +1 -1
  152. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js +4 -4
  153. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js +2 -2
  154. package/dist/components/LibraryPicker/LibrariesList/LibrariesList.js +2 -2
  155. package/dist/components/Notifications/InitNotificationsSubscription.d.ts +2 -0
  156. package/dist/components/Notifications/InitNotificationsSubscription.js +7 -0
  157. package/dist/components/Notifications/InitNotificationsSubscription.js.map +1 -0
  158. package/dist/components/Notifications/hooks/useNotificationSubscription.d.ts +4 -0
  159. package/dist/components/Notifications/hooks/useNotificationSubscription.js +33 -0
  160. package/dist/components/Notifications/hooks/useNotificationSubscription.js.map +1 -0
  161. package/dist/components/Notifications/index.d.ts +1 -0
  162. package/dist/components/Notifications/index.js +5 -0
  163. package/dist/components/Notifications/index.js.map +1 -0
  164. package/dist/components/RecordCard/RecordCard.js +4 -4
  165. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +9 -2
  166. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
  167. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js +5 -2
  168. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js.map +1 -1
  169. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +12 -4
  170. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  171. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js +1 -1
  172. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js +1 -1
  173. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputEncryptedWrapper.js +1 -1
  174. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js +1 -1
  175. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +1 -1
  176. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js +1 -1
  177. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +1 -1
  178. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +14 -2
  179. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
  180. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeList.js +3 -1
  181. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeList.js.map +1 -1
  182. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +1 -1
  183. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -1
  184. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.d.ts +2 -2
  185. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +3 -2
  186. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +15 -2
  187. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  188. package/dist/components/RecordEdition/_types.d.ts +2 -2
  189. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.d.ts +2 -2
  190. package/dist/components/RecordPreviewWithModal/FileModal/FileModalContent/FileModalContent.js +1 -1
  191. package/dist/components/SelectTreeNode/_types.js +1 -0
  192. package/dist/components/SelectTreeNode/_types.js.map +1 -1
  193. package/dist/components/TreePicker/TreesList/TreesList.js +1 -1
  194. package/dist/components/index.d.ts +2 -0
  195. package/dist/components/index.js +2 -0
  196. package/dist/components/index.js.map +1 -1
  197. package/dist/constants.d.ts +6 -4
  198. package/dist/constants.js +6 -4
  199. package/dist/constants.js.map +1 -1
  200. package/dist/hooks/index.d.ts +1 -0
  201. package/dist/hooks/index.js +1 -0
  202. package/dist/hooks/index.js.map +1 -1
  203. package/dist/hooks/useIFrameMessenger/schema.d.ts +8 -2
  204. package/dist/hooks/useIFrameMessenger/schema.js +4 -3
  205. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
  206. package/dist/locales/en/shared.json +23 -4
  207. package/dist/locales/fr/shared.json +23 -4
  208. package/dist/types/search.d.ts +5 -5
  209. package/dist/types/search.js +5 -5
  210. package/package.json +3 -3
  211. package/dist/components/Explorer/_queries/prepareFiltersForRequest.d.ts +0 -4
  212. package/dist/components/Explorer/_queries/prepareFiltersForRequest.js.map +0 -1
  213. package/dist/components/Explorer/manage-view-settings/_shared/CommonFilterItem.d.ts +0 -6
  214. package/dist/components/Explorer/manage-view-settings/_shared/CommonFilterItem.js.map +0 -1
  215. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js.map +0 -1
  216. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/BooleanAttributeDropdown.js.map +0 -1
  217. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/ColorAttributeDropDown.js.map +0 -1
  218. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateAttributeDropDown.js.map +0 -1
  219. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateRangeAttributeDropDown.js.map +0 -1
  220. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/EncryptedAttributeDropDown.js.map +0 -1
  221. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/ExtendedAttributeDropDown.js.map +0 -1
  222. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.d.ts +0 -3
  223. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.js.map +0 -1
  224. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropdownContent.js.map +0 -1
  225. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterValueListDropDown.js.map +0 -1
  226. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/LinkAttributeDropdown.js.map +0 -1
  227. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/NumericAttributeDropDown.js.map +0 -1
  228. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/TextAttributeDropDown.js.map +0 -1
  229. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/TreeAttributeDropDown.js.map +0 -1
  230. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/_types.d.ts +0 -18
  231. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/_types.js.map +0 -1
  232. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/useConditionOptionsByType.js.map +0 -1
  233. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/BooleanAttributeDropdown.d.ts +0 -0
  234. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/ColorAttributeDropDown.d.ts +0 -0
  235. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/DateAttributeDropDown.d.ts +0 -0
  236. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/DateRangeAttributeDropDown.d.ts +0 -0
  237. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/EncryptedAttributeDropDown.d.ts +0 -0
  238. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/ExtendedAttributeDropDown.d.ts +0 -0
  239. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/LinkAttributeDropdown.d.ts +0 -0
  240. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/NumericAttributeDropDown.d.ts +0 -0
  241. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/TextAttributeDropDown.d.ts +0 -0
  242. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/TreeAttributeDropDown.d.ts +0 -0
  243. /package/dist/components/{Explorer/manage-view-settings → Filters}/filter-items/filter-type/_types.js +0 -0
@@ -0,0 +1,130 @@
1
+ import { type Override } from '@leav/utils';
2
+ import { type AttributeFormat, AttributeType, type LinkAttributeDetailsFragment, type RecordFilterCondition, type StandardAttributeDetailsFragment, type ViewDetailsFilterFragment } from '../../_gqlTypes';
3
+ import { ThroughConditionFilter } from '../../types/search';
4
+ export type FiltersOperator = 'AND' | 'OR';
5
+ export interface IUIFilterBaseAttribute {
6
+ type: AttributeType;
7
+ /**
8
+ * Used to display the label of the filter.
9
+ *
10
+ * > Not displayed when filter is hidden
11
+ */
12
+ label: string;
13
+ /**
14
+ * Used to verify unicity: one filter per attribute
15
+ */
16
+ id: string;
17
+ format?: AttributeFormat | null | undefined;
18
+ valuesList?: NonNullable<StandardAttributeDetailsFragment['valuesList']> | NonNullable<LinkAttributeDetailsFragment['valuesList']>;
19
+ }
20
+ export interface IUIFilterStandardAttribute extends IUIFilterBaseAttribute {
21
+ format: AttributeFormat;
22
+ }
23
+ export interface IUIFilterLinkAttribute extends IUIFilterBaseAttribute {
24
+ linkedLibrary?: {
25
+ id: string;
26
+ };
27
+ }
28
+ export interface IUIFilterTreeAttribute extends IUIFilterBaseAttribute {
29
+ linkedTree?: {
30
+ id: string;
31
+ };
32
+ }
33
+ interface IUIFilterBase {
34
+ id: string;
35
+ attribute: IUIFilterBaseAttribute;
36
+ condition: RecordFilterCondition | ThroughConditionFilter | null;
37
+ /**
38
+ * Used to build filter field.
39
+ *
40
+ * - ex: `campaigns_id_pac`
41
+ * - ex with **subField**: `campaigns_id_pac.id`
42
+ */
43
+ field: any;
44
+ value: string | null;
45
+ formattedValue?: string | null;
46
+ hidden?: boolean | undefined;
47
+ }
48
+ export interface IUIFilterStandard extends Omit<IUIFilterBase, 'field'> {
49
+ attribute: IUIFilterStandardAttribute;
50
+ condition: RecordFilterCondition | null;
51
+ field: string;
52
+ }
53
+ export interface IUIFilterLink extends Omit<IUIFilterBase, 'field'> {
54
+ attribute: IUIFilterLinkAttribute;
55
+ condition: RecordFilterCondition | null;
56
+ field: string;
57
+ }
58
+ export interface IUIFilterThrough extends Omit<IUIFilterBase, 'field'> {
59
+ attribute: IUIFilterLinkAttribute;
60
+ condition: ThroughConditionFilter.THROUGH | null;
61
+ subCondition: RecordFilterCondition | null;
62
+ subField: string | null;
63
+ field: string;
64
+ }
65
+ export interface IUIFilterTree extends Omit<IUIFilterBase, 'value' | 'formattedValue' | 'field'> {
66
+ attribute: IUIFilterTreeAttribute;
67
+ condition: RecordFilterCondition | null;
68
+ value: string[] | null;
69
+ formattedValue?: string[] | null;
70
+ field: string[];
71
+ }
72
+ export interface IUIFilterValueList extends Omit<IUIFilterBase, 'value' | 'formattedValue'> {
73
+ attribute: (IUIFilterStandardAttribute | IUIFilterLinkAttribute) & {
74
+ valuesList: NonNullable<StandardAttributeDetailsFragment['valuesList']> | NonNullable<LinkAttributeDetailsFragment['valuesList']>;
75
+ };
76
+ value: string[] | null;
77
+ condition: RecordFilterCondition | null;
78
+ field: string | string[];
79
+ }
80
+ export interface IUIFilterStandardValueList extends Omit<IUIFilterStandard, 'attribute' | 'value'>, IUIFilterValueList {
81
+ attribute: IUIFilterStandardAttribute & {
82
+ valuesList: NonNullable<StandardAttributeDetailsFragment['valuesList']>;
83
+ };
84
+ field: string;
85
+ }
86
+ export interface IUIFilterLinkValueList extends Omit<IUIFilterLink, 'attribute' | 'value'>, IUIFilterValueList {
87
+ attribute: IUIFilterLinkAttribute & {
88
+ valuesList: NonNullable<LinkAttributeDetailsFragment['valuesList']>;
89
+ };
90
+ field: string;
91
+ }
92
+ export interface IUIFilterTreeValueList extends Omit<IUIFilterTree, 'attribute' | 'value'>, IUIFilterValueList {
93
+ attribute: IUIFilterLinkAttribute & {
94
+ valuesList: NonNullable<LinkAttributeDetailsFragment['valuesList']>;
95
+ };
96
+ field: string[];
97
+ }
98
+ export type UIFilter = IUIFilterStandard | IUIFilterLink | IUIFilterThrough | IUIFilterValueList | IUIFilterTree;
99
+ export declare const isUIFilterStandard: (filter: UIFilter) => filter is IUIFilterStandard;
100
+ export declare const isUIFilterLink: (filter: UIFilter) => filter is IUIFilterLink;
101
+ export declare const isUIFilterThrough: (filter: UIFilter) => filter is IUIFilterThrough;
102
+ export declare const isUIFilterValueList: (filter: UIFilter) => filter is IUIFilterValueList;
103
+ export declare const isUIFilterStandardWithValueList: (filter: UIFilter) => filter is IUIFilterStandardValueList;
104
+ export declare const isUIFilterLinkWithValueList: (filter: UIFilter) => filter is IUIFilterLinkValueList;
105
+ export declare const isUIFilterTree: (filter: UIFilter) => filter is IUIFilterTree;
106
+ export declare const isUIFilterTreeWithValueList: (filter: UIFilter) => filter is IUIFilterTreeValueList;
107
+ export interface IUIFilterDropDownProps {
108
+ filter: UIFilter;
109
+ canRemove: boolean;
110
+ }
111
+ export type ValidFieldFilter = Override<ViewDetailsFilterFragment, {
112
+ field: NonNullable<ViewDetailsFilterFragment['field']>;
113
+ condition: NonNullable<ViewDetailsFilterFragment['condition']>;
114
+ hidden: boolean;
115
+ }>;
116
+ export type ValidFieldFilterStandardValuesList = Override<ValidFieldFilter, {
117
+ valuesList: StandardAttributeDetailsFragment['valuesList'];
118
+ }>;
119
+ export type ValidFieldFilterLinkValuesList = Override<ValidFieldFilter, {
120
+ valuesList: LinkAttributeDetailsFragment['valuesList'];
121
+ }>;
122
+ export type ValidFieldFilterThrough = Override<ValidFieldFilter, {
123
+ condition: ThroughConditionFilter.THROUGH;
124
+ hidden: boolean;
125
+ }> & {
126
+ subField: NonNullable<ViewDetailsFilterFragment['field']>;
127
+ subCondition?: ViewDetailsFilterFragment['condition'];
128
+ };
129
+ export type ValidFilter = ValidFieldFilter | ValidFieldFilterThrough | ValidFieldFilterStandardValuesList | ValidFieldFilterLinkValuesList;
130
+ export {};
@@ -0,0 +1,14 @@
1
+ import { AttributeType } from '../../_gqlTypes';
2
+ import { ThroughConditionFilter } from '../../types/search';
3
+ export const isUIFilterStandard = (filter) => [AttributeType.simple, AttributeType.advanced].includes(filter.attribute.type);
4
+ export const isUIFilterLink = (filter) => [AttributeType.simple_link, AttributeType.advanced_link].includes(filter.attribute.type) &&
5
+ filter.condition !== ThroughConditionFilter.THROUGH;
6
+ export const isUIFilterThrough = (filter) => [AttributeType.simple_link, AttributeType.advanced_link].includes(filter.attribute.type) &&
7
+ filter.condition === ThroughConditionFilter.THROUGH;
8
+ export const isUIFilterValueList = (filter) => (isUIFilterStandard(filter) || isUIFilterLink(filter)) && isValueList(filter);
9
+ export const isUIFilterStandardWithValueList = (filter) => [AttributeType.simple, AttributeType.advanced].includes(filter.attribute.type) && isValueList(filter);
10
+ export const isUIFilterLinkWithValueList = (filter) => [AttributeType.simple_link, AttributeType.advanced_link].includes(filter.attribute.type) && isValueList(filter);
11
+ export const isUIFilterTree = (filter) => filter.attribute.type === AttributeType.tree;
12
+ export const isUIFilterTreeWithValueList = (filter) => isUIFilterTree(filter) && isValueList(filter);
13
+ const isValueList = (filter) => !!filter.attribute?.valuesList && filter.attribute?.valuesList.enable;
14
+ //# sourceMappingURL=_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../src/components/Filters/_types.ts"],"names":[],"mappings":"AAIA,OAAO,EAEH,aAAa,EAKhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AAmHxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAgB,EAA+B,EAAE,CAChF,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAgB,EAA2B,EAAE,CACxE,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;IACxF,MAAM,CAAC,SAAS,KAAK,sBAAsB,CAAC,OAAO,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAgB,EAA8B,EAAE,CAC9E,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;IACxF,MAAM,CAAC,SAAS,KAAK,sBAAsB,CAAC,OAAO,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAgB,EAAgC,EAAE,CAClF,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,MAAgB,EAAwC,EAAE,CACtG,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AAE1G,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAgB,EAAoC,EAAE,CAC9F,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AAEpH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAgB,EAA2B,EAAE,CACxE,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC;AAEjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAgB,EAAoC,EAAE,CAC9F,cAAc,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AAElD,MAAM,WAAW,GAAG,CAAC,MAAgB,EAAmE,EAAE,CACtG,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const hasOnlyNoValueConditions: (attributeFormat: string) => boolean;
2
+ export declare const nullValueConditions: import("../../_gqlTypes").RecordFilterCondition[];
@@ -0,0 +1,16 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { AttributeFormat } from '../../_gqlTypes';
5
+ import { AttributeConditionFilter } from '../../types';
6
+ export const hasOnlyNoValueConditions = (attributeFormat) => [AttributeFormat.color, AttributeFormat.date_range, AttributeFormat.encrypted, AttributeFormat.extended].includes(attributeFormat);
7
+ export const nullValueConditions = [
8
+ AttributeConditionFilter.IS_EMPTY,
9
+ AttributeConditionFilter.IS_NOT_EMPTY,
10
+ AttributeConditionFilter.TODAY,
11
+ AttributeConditionFilter.TOMORROW,
12
+ AttributeConditionFilter.YESTERDAY,
13
+ AttributeConditionFilter.LAST_MONTH,
14
+ AttributeConditionFilter.NEXT_MONTH
15
+ ];
16
+ //# sourceMappingURL=conditionsHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditionsHelper.js","sourceRoot":"","sources":["../../../src/components/Filters/conditionsHelper.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAC,MAAM,WAAW,CAAC;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,eAAuB,EAAW,EAAE,CACzE,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAC7G,eAAe,CAClB,CAAC;AAEN,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,wBAAwB,CAAC,QAAQ;IACjC,wBAAwB,CAAC,YAAY;IACrC,wBAAwB,CAAC,KAAK;IAC9B,wBAAwB,CAAC,QAAQ;IACjC,wBAAwB,CAAC,SAAS;IAClC,wBAAwB,CAAC,UAAU;IACnC,wBAAwB,CAAC,UAAU;CACtC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type Dispatch } from 'react';
2
+ import { type UIFiltersAction, type IUIFiltersState } from './filtersReducer';
3
+ export declare const FiltersContext: import("react").Context<{
4
+ filtersData: IUIFiltersState;
5
+ dispatch: Dispatch<UIFiltersAction>;
6
+ }>;
@@ -0,0 +1,9 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { createContext } from 'react';
5
+ export const FiltersContext = createContext({
6
+ filtersData: null,
7
+ dispatch: () => null
8
+ });
9
+ //# sourceMappingURL=filtersContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtersContext.js","sourceRoot":"","sources":["../../../../src/components/Filters/context/filtersContext.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAgB,MAAM,OAAO,CAAC;AAGnD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAGxC;IACC,WAAW,EAAE,IAAuB;IACpC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;CACvB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { type IUIFiltersState } from './filtersReducer';
2
+ export declare const filtersInitialState: IUIFiltersState;
@@ -0,0 +1,10 @@
1
+ export const filtersInitialState = {
2
+ libraryId: null,
3
+ viewId: null,
4
+ filtersOperator: 'AND',
5
+ filters: [],
6
+ initialFilters: [],
7
+ attributesDataById: {},
8
+ loading: false
9
+ };
10
+ //# sourceMappingURL=filtersInitialState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtersInitialState.js","sourceRoot":"","sources":["../../../../src/components/Filters/context/filtersInitialState.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAChD,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;IACZ,eAAe,EAAE,KAAK;IACtB,OAAO,EAAE,EAAE;IACX,cAAc,EAAE,EAAE;IAClB,kBAAkB,EAAE,EAAE;IACtB,OAAO,EAAE,KAAK;CACjB,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { type UIFilter, type IUIFilterTree, type FiltersOperator } from '../_types';
2
+ import { type AttributesById } from '../useTransformFilters';
3
+ export type ViewType = 'table' | 'list' | 'timeline' | 'mosaic';
4
+ export declare const FiltersActionTypes: {
5
+ readonly ADD_FILTER: "ADD_FILTER";
6
+ readonly RESET_FILTER: "RESET_FILTER";
7
+ readonly REMOVE_FILTER: "REMOVE_FILTER";
8
+ readonly MOVE_FILTER: "MOVE_FILTER";
9
+ readonly CHANGE_FILTER_CONFIG: "CHANGE_FILTER_CONFIG";
10
+ readonly LOAD_VIEW: "LOAD_VIEW";
11
+ readonly RESET: "RESET";
12
+ readonly RESTORE_INITIAL_VIEW_SETTINGS: "RESTORE_INITIAL_VIEW_SETTINGS";
13
+ readonly UPDATE_VIEWS: "UPDATE_VIEWS";
14
+ };
15
+ export interface IUIFiltersState {
16
+ libraryId: string;
17
+ viewId: string | null;
18
+ filtersOperator: FiltersOperator;
19
+ filters: UIFilter[] | IUIFilterTree[];
20
+ initialFilters: UIFilter[] | IUIFilterTree[];
21
+ attributesDataById: AttributesById;
22
+ loading: boolean;
23
+ }
24
+ interface IUIFiltersActionAddFilter {
25
+ type: typeof FiltersActionTypes.ADD_FILTER;
26
+ payload: Omit<UIFilter, 'id' | 'value' | 'condition'>;
27
+ }
28
+ interface IIUIFiltersActionResetFilter {
29
+ type: typeof FiltersActionTypes.RESET_FILTER;
30
+ payload: Pick<UIFilter, 'id'>;
31
+ }
32
+ interface IUIFiltersActionRemoveFilter {
33
+ type: typeof FiltersActionTypes.REMOVE_FILTER;
34
+ payload: Pick<UIFilter, 'id'>;
35
+ }
36
+ interface IUIFiltersActionChangeFilterConfig {
37
+ type: typeof FiltersActionTypes.CHANGE_FILTER_CONFIG;
38
+ payload: UIFilter | IUIFilterTree;
39
+ }
40
+ interface IUIFiltersActionMoveFilter {
41
+ type: typeof FiltersActionTypes.MOVE_FILTER;
42
+ payload: {
43
+ indexFrom: number;
44
+ indexTo: number;
45
+ };
46
+ }
47
+ interface IUIFiltersActionReset {
48
+ type: typeof FiltersActionTypes.RESET;
49
+ payload: IUIFiltersState;
50
+ }
51
+ interface IUIFiltersActionLoadView {
52
+ type: typeof FiltersActionTypes.LOAD_VIEW;
53
+ payload: Pick<IUIFiltersState, 'filters' | 'viewId' | 'attributesDataById'>;
54
+ }
55
+ interface IUIFiltersActionRestoreInitialViewSettings {
56
+ type: typeof FiltersActionTypes.RESTORE_INITIAL_VIEW_SETTINGS;
57
+ }
58
+ interface IUIFiltersActionUpdateViewListAndCurrentView {
59
+ type: typeof FiltersActionTypes.UPDATE_VIEWS;
60
+ payload: IUIFiltersState;
61
+ }
62
+ export type UIFiltersAction = IUIFiltersActionAddFilter | IIUIFiltersActionResetFilter | IUIFiltersActionRemoveFilter | IUIFiltersActionChangeFilterConfig | IUIFiltersActionMoveFilter | IUIFiltersActionReset | IUIFiltersActionLoadView | IUIFiltersActionRestoreInitialViewSettings | IUIFiltersActionUpdateViewListAndCurrentView;
63
+ export declare const filtersReducer: (setRefetchViews: any) => (state: IUIFiltersState, action: UIFiltersAction) => IUIFiltersState;
64
+ export {};
@@ -0,0 +1,179 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { v4 as uuid } from 'uuid';
5
+ import { AttributeFormat } from '../../../_gqlTypes';
6
+ import { isUIFilterLink, isUIFilterStandard, isUIFilterThrough, isUIFilterTree, isUIFilterValueList } from '../_types';
7
+ import { hasOnlyNoValueConditions, nullValueConditions } from '../conditionsHelper';
8
+ import { conditionsByFormat, getFirstConditionByFilterType } from '../filter-items/filter-type/useConditionOptionsByType';
9
+ import { AttributeConditionFilter, ThroughConditionFilter } from '../../../types';
10
+ import { isLinkAttribute } from '../../../_utils/attributeType';
11
+ export const FiltersActionTypes = {
12
+ ADD_FILTER: 'ADD_FILTER',
13
+ RESET_FILTER: 'RESET_FILTER',
14
+ REMOVE_FILTER: 'REMOVE_FILTER',
15
+ MOVE_FILTER: 'MOVE_FILTER',
16
+ CHANGE_FILTER_CONFIG: 'CHANGE_FILTER_CONFIG',
17
+ LOAD_VIEW: 'LOAD_VIEW',
18
+ RESET: 'RESET',
19
+ RESTORE_INITIAL_VIEW_SETTINGS: 'RESTORE_INITIAL_VIEW_SETTINGS',
20
+ UPDATE_VIEWS: 'UPDATE_VIEWS'
21
+ };
22
+ const addFilter = (state, payload) => {
23
+ const hasValueList = payload.attribute.valuesList;
24
+ let condition = hasOnlyNoValueConditions(payload.attribute.format)
25
+ ? null
26
+ : (conditionsByFormat[payload.attribute.format][0] ?? null);
27
+ if (hasValueList) {
28
+ condition = AttributeConditionFilter.EQUAL;
29
+ }
30
+ const filterToAdd = isUIFilterTree(payload)
31
+ ? {
32
+ ...payload,
33
+ id: uuid(),
34
+ field: Array.isArray(payload.field) ? payload.field : [payload.field],
35
+ condition: hasOnlyNoValueConditions(payload.attribute.format)
36
+ ? null
37
+ : getFirstConditionByFilterType(payload)[0],
38
+ value: null
39
+ }
40
+ : {
41
+ ...payload,
42
+ field: isLinkAttribute(payload.attribute.type) ? `${payload.field}.id` : payload.field,
43
+ id: uuid(),
44
+ condition,
45
+ value: null,
46
+ valuesList: hasValueList ? payload.attribute.valuesList : undefined
47
+ };
48
+ return {
49
+ ...state,
50
+ filters: [...state.filters, filterToAdd],
51
+ viewModified: true
52
+ };
53
+ };
54
+ const resetFilter = (state, payload) => ({
55
+ ...state,
56
+ filters: state.filters.map(filter => {
57
+ if (filter.id === payload.id) {
58
+ // TODO Add initial Filters State
59
+ const initialFilter = state.initialFilters.find(({ id }) => id === payload.id);
60
+ if (initialFilter) {
61
+ return initialFilter;
62
+ }
63
+ if (isUIFilterValueList(filter)) {
64
+ return {
65
+ ...filter,
66
+ condition: null,
67
+ value: null
68
+ };
69
+ }
70
+ if (isUIFilterStandard(filter)) {
71
+ return {
72
+ ...filter,
73
+ condition: hasOnlyNoValueConditions(filter.attribute.format)
74
+ ? null
75
+ : conditionsByFormat[filter.attribute.format][0],
76
+ value: null
77
+ };
78
+ }
79
+ if (isUIFilterThrough(filter)) {
80
+ return {
81
+ ...filter,
82
+ condition: ThroughConditionFilter.THROUGH,
83
+ value: null
84
+ };
85
+ }
86
+ if (isUIFilterLink(filter)) {
87
+ return {
88
+ ...filter,
89
+ condition: conditionsByFormat[AttributeFormat.text][0],
90
+ value: null
91
+ };
92
+ }
93
+ if (isUIFilterTree(filter)) {
94
+ return {
95
+ ...filter,
96
+ condition: null,
97
+ value: null
98
+ };
99
+ }
100
+ }
101
+ return filter;
102
+ })
103
+ });
104
+ const removeFilter = (state, payload) => ({
105
+ ...state,
106
+ filters: state.filters.filter(({ id }) => id !== payload.id),
107
+ viewModified: true
108
+ });
109
+ const changeFilterConfig = (state, payload) => ({
110
+ ...state,
111
+ filters: state.filters.map(filter => {
112
+ if (filter.id !== payload.id) {
113
+ return filter;
114
+ }
115
+ if (isUIFilterTree(filter) && payload.value && payload.value.length === 0) {
116
+ return { ...filter, ...payload, value: null };
117
+ }
118
+ if (isUIFilterValueList(filter) && filter.condition && nullValueConditions.includes(filter.condition)) {
119
+ return { ...filter, ...payload, value: null };
120
+ }
121
+ return { ...filter, ...payload };
122
+ }),
123
+ viewModified: true
124
+ });
125
+ const moveFilter = (state, payload) => {
126
+ const attributesUsedToFilter = [...state.filters];
127
+ const [filterToMove] = attributesUsedToFilter.splice(payload.indexFrom, 1);
128
+ attributesUsedToFilter.splice(payload.indexTo, 0, filterToMove);
129
+ return {
130
+ ...state,
131
+ filters: attributesUsedToFilter,
132
+ viewModified: true
133
+ };
134
+ };
135
+ const reset = (_, payload) => payload;
136
+ const loadView = (state, payload) => ({
137
+ ...state,
138
+ ...payload,
139
+ initialFilters: payload.filters
140
+ });
141
+ const restoreInitialViewSettings = state => ({
142
+ ...state,
143
+ filters: state.initialFilters
144
+ });
145
+ export const filtersReducer = setRefetchViews => (state, action) => {
146
+ switch (action.type) {
147
+ case FiltersActionTypes.ADD_FILTER: {
148
+ return addFilter(state, action.payload);
149
+ }
150
+ case FiltersActionTypes.RESET_FILTER: {
151
+ return resetFilter(state, action.payload);
152
+ }
153
+ case FiltersActionTypes.REMOVE_FILTER: {
154
+ return removeFilter(state, action.payload);
155
+ }
156
+ case FiltersActionTypes.CHANGE_FILTER_CONFIG: {
157
+ return changeFilterConfig(state, action.payload);
158
+ }
159
+ case FiltersActionTypes.MOVE_FILTER: {
160
+ return moveFilter(state, action.payload);
161
+ }
162
+ case FiltersActionTypes.RESET: {
163
+ return reset(state, action.payload);
164
+ }
165
+ case FiltersActionTypes.LOAD_VIEW: {
166
+ return loadView(state, action.payload);
167
+ }
168
+ case FiltersActionTypes.RESTORE_INITIAL_VIEW_SETTINGS: {
169
+ return restoreInitialViewSettings(state);
170
+ }
171
+ case FiltersActionTypes.UPDATE_VIEWS: {
172
+ setRefetchViews?.(true);
173
+ return state;
174
+ }
175
+ default:
176
+ return state;
177
+ }
178
+ };
179
+ //# sourceMappingURL=filtersReducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtersReducer.js","sourceRoot":"","sources":["../../../../src/components/Filters/context/filtersReducer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type FiltersOperator, type UIFilter } from '../_types';
2
+ export interface IFiltersProviderProps {
3
+ libraryId: string | null;
4
+ viewId?: string;
5
+ filters?: UIFilter[];
6
+ filtersOperator?: FiltersOperator;
7
+ ignoreViewByDefault?: boolean;
8
+ pinFilters?: boolean;
9
+ }
10
+ export declare const useFiltersReducer: ({ libraryId, viewId, filters, filtersOperator, ignoreViewByDefault }: IFiltersProviderProps) => {
11
+ filtersData: import("./filtersReducer").IUIFiltersState;
12
+ dispatch: import("react").Dispatch<import("./filtersReducer").UIFiltersAction>;
13
+ };
@@ -0,0 +1,68 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { useEffect, useMemo, useReducer, useState } from 'react';
5
+ import { filtersReducer } from './filtersReducer';
6
+ import { filtersInitialState } from './filtersInitialState';
7
+ import { useTransformFilters } from '../useTransformFilters';
8
+ import { useExplorerAttributesQuery, useGetViewsListQuery } from '../../../_gqlTypes';
9
+ export const useFiltersReducer = ({ libraryId, viewId, filters, filtersOperator = 'AND', ignoreViewByDefault = false }) => {
10
+ const [refetchViews, setRefetchViews] = useState(false);
11
+ const [filtersData, dispatch] = useReducer(filtersReducer(setRefetchViews), {
12
+ ...filtersInitialState,
13
+ filtersOperator: filtersOperator ?? filtersInitialState.filtersOperator
14
+ });
15
+ const { toValidFilters, toUIFilters } = useTransformFilters();
16
+ const needToReload = refetchViews || (libraryId && libraryId !== filtersData.libraryId);
17
+ const {
18
+ /**
19
+ * List of my views and shared views
20
+ */
21
+ data: viewData, loading: viewsLoading } = useGetViewsListQuery({
22
+ skip: libraryId === null && !needToReload,
23
+ variables: {
24
+ libraryId: libraryId
25
+ }
26
+ });
27
+ let userView;
28
+ if (viewId) {
29
+ userView = viewData?.views?.list?.find(viewItem => viewItem.id === viewId);
30
+ }
31
+ userView = userView ?? viewData?.views?.list?.at(-1) ?? null;
32
+ const userViewFilters = ignoreViewByDefault ? [] : toValidFilters(userView?.filters ?? []);
33
+ const preparedDefaultFilters = toValidFilters(filters ?? []);
34
+ const allFilters = preparedDefaultFilters.concat(userViewFilters);
35
+ const attributesToGet = allFilters.map(filter => filter.field);
36
+ const { data: attributesData, loading: attributesLoading } = useExplorerAttributesQuery({
37
+ variables: {
38
+ ids: attributesToGet
39
+ },
40
+ skip: libraryId === null || viewsLoading || attributesToGet.length === 0
41
+ });
42
+ const attributesDataById = useMemo(() => (attributesData?.attributes?.list ?? []).reduce((acc, attr) => {
43
+ if (attr.permissions.access_attribute) {
44
+ acc[attr.id] = attr;
45
+ }
46
+ return acc;
47
+ }, {}), [attributesData]);
48
+ useEffect(() => {
49
+ if (!viewsLoading) {
50
+ setRefetchViews(false);
51
+ const uiFilters = toUIFilters({ filters: allFilters ?? [], attributesDataById });
52
+ dispatch({
53
+ type: 'RESET',
54
+ payload: {
55
+ libraryId,
56
+ viewId,
57
+ filtersOperator: filtersOperator ?? filtersInitialState.filtersOperator,
58
+ filters: uiFilters,
59
+ initialFilters: uiFilters,
60
+ attributesDataById,
61
+ loading: viewsLoading || attributesLoading
62
+ }
63
+ });
64
+ }
65
+ }, [attributesDataById, viewsLoading]);
66
+ return { filtersData, dispatch };
67
+ };
68
+ //# sourceMappingURL=useFiltersReducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFiltersReducer.js","sourceRoot":"","sources":["../../../../src/components/Filters/context/useFiltersReducer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type FunctionComponent } from 'react';
2
+ import { type UIFilter } from '../_types';
3
+ export interface ICommonFilterProps {
4
+ filter: UIFilter;
5
+ isPinned?: boolean;
6
+ disabled?: boolean;
7
+ }
8
+ export declare const CommonFilterItem: FunctionComponent<ICommonFilterProps>;
@@ -2,11 +2,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { FilterDropDown } from '../filter-items/filter-type/FilterDropDown';
3
3
  import styled from 'styled-components';
4
4
  import { KitFilter } from 'aristid-ds';
5
- import { isExplorerFilterStandard, isExplorerFilterTree } from '../../_types';
6
- import { nullValueConditions } from '../../conditionsHelper';
7
- import { AttributeFormat } from '../../../../_gqlTypes';
5
+ import { AttributeFormat } from '../../../_gqlTypes';
8
6
  import { useTranslation } from 'react-i18next';
9
7
  import { getAttributeConditionOptions } from '../filter-items/filter-type/useConditionOptionsByType';
8
+ import { nullValueConditions } from '../conditionsHelper';
9
+ import { isUIFilterStandard, isUIFilterTree } from '../_types';
10
10
  const FilterStyled = styled(KitFilter) `
11
11
  flex: 0 0 auto;
12
12
  `;
@@ -15,20 +15,20 @@ const getFilterValues = (filter, t) => {
15
15
  const conditionOption = getAttributeConditionOptions(t).find(option => option.value === filter.condition);
16
16
  return [conditionOption?.label ?? ''];
17
17
  }
18
- if (isExplorerFilterTree(filter)) {
18
+ if (isUIFilterTree(filter)) {
19
19
  return filter.formattedValue ?? [];
20
20
  }
21
- if (isExplorerFilterStandard(filter) &&
21
+ if (isUIFilterStandard(filter) &&
22
22
  [AttributeFormat.date, AttributeFormat.boolean].includes(filter.attribute.format)) {
23
23
  return filter.formattedValue ? [filter.formattedValue] : [];
24
24
  }
25
25
  return Array.isArray(filter.value) ? filter.value : filter.value ? [filter.value] : [];
26
26
  };
27
- export const CommonFilterItem = ({ filter, disabled }) => {
27
+ export const CommonFilterItem = ({ filter, isPinned = false, disabled }) => {
28
28
  const { t } = useTranslation();
29
29
  return (_jsx(FilterStyled, { expandable: true, disabled: disabled, label: filter.attribute.label, values: getFilterValues(filter, t), dropDownProps: {
30
30
  placement: 'bottomLeft',
31
- dropdownRender: () => _jsx(FilterDropDown, { filter: filter })
31
+ dropdownRender: () => _jsx(FilterDropDown, { filter: filter, canRemove: !isPinned })
32
32
  } }));
33
33
  };
34
34
  //# sourceMappingURL=CommonFilterItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonFilterItem.js","sourceRoot":"","sources":["../../../../src/components/Filters/filter-items/CommonFilterItem.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAC1E,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,4BAA4B,EAAC,MAAM,uDAAuD,CAAC;AAEnG,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAE,cAAc,EAAgB,MAAM,WAAW,CAAC;AAE5E,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;;CAErC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAgB,EAAE,CAAY,EAAE,EAAE;IACvD,IAAI,MAAM,CAAC,SAAS,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrE,MAAM,eAAe,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1G,OAAO,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,IACI,kBAAkB,CAAC,MAAM,CAAC;QAC1B,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EACnF,CAAC;QACC,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3F,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,gBAAgB,GAA0C,CAAC,EAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAC,EAAE,EAAE;IAC5G,MAAM,EAAC,CAAC,EAAC,GAAG,cAAc,EAAE,CAAC;IAE7B,OAAO,CACH,KAAC,YAAY,IACT,UAAU,QACV,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAC7B,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,EAClC,aAAa,EAAE;YACX,SAAS,EAAE,YAAY;YACvB,cAAc,EAAE,GAAG,EAAE,CAAC,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,QAAQ,GAAI;SACjF,GACH,CACL,CAAC;AACN,CAAC,CAAC"}