@leav/ui 0.3.6-e0c1773 → 0.3.6-e275df8

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 (221) hide show
  1. package/dist/__mocks__/common/attribute.js +0 -1
  2. package/dist/__mocks__/common/attribute.js.map +1 -1
  3. package/dist/_gqlTypes/index.d.ts +92 -12
  4. package/dist/_gqlTypes/index.js +77 -7
  5. package/dist/_gqlTypes/index.js.map +1 -1
  6. package/dist/_queries/attributes/attributeDetailsFragment.js +0 -1
  7. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  8. package/dist/_queries/records/createRecordMutation.js +2 -3
  9. package/dist/_queries/records/createRecordMutation.js.map +1 -1
  10. package/dist/_queries/records/recordFormAttributeFragment.js +1 -0
  11. package/dist/_queries/records/recordFormAttributeFragment.js.map +1 -1
  12. package/dist/_utils/index.js +1 -1
  13. package/dist/_utils/index.js.map +1 -1
  14. package/dist/components/CreateDirectory/CreateDirectory.js +0 -2
  15. package/dist/components/CreateDirectory/CreateDirectory.js.map +1 -1
  16. package/dist/components/EditApplication/EditApplicationInfo/EditApplicationInfoForm/EditApplicationInfoForm.js.map +1 -1
  17. package/dist/components/EditAttributeModal/EditAttribute/EditAttributeInfo/EditAttributeInfo.js +0 -1
  18. package/dist/components/EditAttributeModal/EditAttribute/EditAttributeInfo/EditAttributeInfo.js.map +1 -1
  19. package/dist/components/EditAttributeModal/EditAttribute/EditAttributeInfo/EditAttributeInfoForm/EditAttributeInfoForm.js +2 -5
  20. package/dist/components/EditAttributeModal/EditAttribute/EditAttributeInfo/EditAttributeInfoForm/EditAttributeInfoForm.js.map +1 -1
  21. package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/EditTreeInfoForm.d.ts +1 -1
  22. package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/EditTreeInfoForm.js.map +1 -1
  23. package/dist/components/Explorer/DataView.d.ts +6 -3
  24. package/dist/components/Explorer/DataView.js +21 -11
  25. package/dist/components/Explorer/DataView.js.map +1 -1
  26. package/dist/components/Explorer/Explorer.d.ts +36 -2
  27. package/dist/components/Explorer/Explorer.js +72 -31
  28. package/dist/components/Explorer/Explorer.js.map +1 -1
  29. package/dist/components/Explorer/ExplorerToolbar.d.ts +2 -1
  30. package/dist/components/Explorer/ExplorerToolbar.js +19 -11
  31. package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
  32. package/dist/components/Explorer/TableCell.js +4 -4
  33. package/dist/components/Explorer/TableCell.js.map +1 -1
  34. package/dist/components/Explorer/_queries/useExplorerData.d.ts +1 -0
  35. package/dist/components/Explorer/_queries/useExplorerData.js +9 -1
  36. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  37. package/dist/components/Explorer/_types.d.ts +26 -9
  38. package/dist/components/Explorer/_types.js.map +1 -1
  39. package/dist/components/Explorer/{useEditAction.d.ts → actions-item/useEditItemAction.d.ts} +7 -4
  40. package/dist/components/Explorer/{useEditAction.js → actions-item/useEditItemAction.js} +9 -8
  41. package/dist/components/Explorer/actions-item/useEditItemAction.js.map +1 -0
  42. package/dist/components/Explorer/{useRemoveAction.d.ts → actions-item/useRemoveItemAction.d.ts} +5 -4
  43. package/dist/components/Explorer/{useRemoveAction.js → actions-item/useRemoveItemAction.js} +17 -13
  44. package/dist/components/Explorer/actions-item/useRemoveItemAction.js.map +1 -0
  45. package/dist/components/Explorer/{useDeactivateMassAction.d.ts → actions-mass/useDeactivateMassAction.d.ts} +5 -4
  46. package/dist/components/Explorer/{useDeactivateMassAction.js → actions-mass/useDeactivateMassAction.js} +6 -5
  47. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js.map +1 -0
  48. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.d.ts +19 -0
  49. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js +85 -0
  50. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js.map +1 -0
  51. package/dist/components/Explorer/{useMassActions.d.ts → actions-mass/useMassActions.d.ts} +2 -3
  52. package/dist/components/Explorer/{useMassActions.js → actions-mass/useMassActions.js} +8 -8
  53. package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -0
  54. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +31 -0
  55. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +114 -0
  56. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -0
  57. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.d.ts +20 -0
  58. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js +39 -0
  59. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js.map +1 -0
  60. package/dist/components/Explorer/actions-primary/usePrimaryActions.d.ts +17 -0
  61. package/dist/components/Explorer/actions-primary/usePrimaryActions.js +27 -0
  62. package/dist/components/Explorer/actions-primary/usePrimaryActions.js.map +1 -0
  63. package/dist/components/Explorer/link-item/LinkModal.d.ts +9 -0
  64. package/dist/components/Explorer/link-item/LinkModal.js +82 -0
  65. package/dist/components/Explorer/link-item/LinkModal.js.map +1 -0
  66. package/dist/components/Explorer/link-item/useLinkMassAction.d.ts +31 -0
  67. package/dist/components/Explorer/link-item/useLinkMassAction.js +59 -0
  68. package/dist/components/Explorer/link-item/useLinkMassAction.js.map +1 -0
  69. package/dist/components/Explorer/list-saved-views/SavedViews.d.ts +2 -0
  70. package/dist/components/Explorer/list-saved-views/SavedViews.js +74 -0
  71. package/dist/components/Explorer/list-saved-views/SavedViews.js.map +1 -0
  72. package/dist/components/Explorer/manage-view-settings/_shared/CommonFilterItem.js +8 -1
  73. package/dist/components/Explorer/manage-view-settings/_shared/CommonFilterItem.js.map +1 -1
  74. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.d.ts +17 -0
  75. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js +93 -0
  76. package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js.map +1 -0
  77. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js +1 -2
  78. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js.map +1 -1
  79. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/BooleanAttributeDropdown.js +2 -2
  80. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/BooleanAttributeDropdown.js.map +1 -1
  81. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/ColorAttributeDropDown.js +2 -2
  82. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/ColorAttributeDropDown.js.map +1 -1
  83. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateAttributeDropDown.js +2 -2
  84. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateAttributeDropDown.js.map +1 -1
  85. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateRangeAttributeDropDown.js +2 -2
  86. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateRangeAttributeDropDown.js.map +1 -1
  87. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/EncryptedAttributeDropDown.js +2 -2
  88. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/EncryptedAttributeDropDown.js.map +1 -1
  89. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/ExtendedAttributeDropDown.js +2 -2
  90. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/ExtendedAttributeDropDown.js.map +1 -1
  91. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.js +6 -1
  92. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.js.map +1 -1
  93. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropdownContent.d.ts +2 -1
  94. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropdownContent.js +4 -3
  95. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropdownContent.js.map +1 -1
  96. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/LinkAttributeDropdown.js +4 -4
  97. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/LinkAttributeDropdown.js.map +1 -1
  98. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/NumericAttributeDropDown.js +2 -2
  99. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/NumericAttributeDropDown.js.map +1 -1
  100. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/TextAttributeDropDown.js +2 -2
  101. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/TextAttributeDropDown.js.map +1 -1
  102. package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/_types.d.ts +3 -0
  103. package/dist/components/Explorer/manage-view-settings/open-view-settings/EditSettingsContext.d.ts +3 -3
  104. package/dist/components/Explorer/manage-view-settings/open-view-settings/EditSettingsContext.js +2 -2
  105. package/dist/components/Explorer/manage-view-settings/open-view-settings/EditSettingsContext.js.map +1 -1
  106. package/dist/components/Explorer/manage-view-settings/open-view-settings/EditSettingsContextProvider.d.ts +1 -0
  107. package/dist/components/Explorer/manage-view-settings/open-view-settings/EditSettingsContextProvider.js +2 -2
  108. package/dist/components/Explorer/manage-view-settings/open-view-settings/EditSettingsContextProvider.js.map +1 -1
  109. package/dist/components/Explorer/manage-view-settings/open-view-settings/SidePanel.js +3 -3
  110. package/dist/components/Explorer/manage-view-settings/open-view-settings/SidePanel.js.map +1 -1
  111. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.d.ts +9 -2
  112. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js +34 -7
  113. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js.map +1 -1
  114. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js +9 -50
  115. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js.map +1 -1
  116. package/dist/components/Explorer/manage-view-settings/save-view/SaveViewModal.d.ts +8 -0
  117. package/dist/components/Explorer/manage-view-settings/save-view/SaveViewModal.js +44 -0
  118. package/dist/components/Explorer/manage-view-settings/save-view/SaveViewModal.js.map +1 -0
  119. package/dist/components/Explorer/manage-view-settings/save-view/ViewActionsButtons.d.ts +1 -0
  120. package/dist/components/Explorer/manage-view-settings/save-view/ViewActionsButtons.js +22 -0
  121. package/dist/components/Explorer/manage-view-settings/save-view/ViewActionsButtons.js.map +1 -0
  122. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.d.ts +3 -0
  123. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js +24 -0
  124. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js.map +1 -0
  125. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.d.ts +3 -0
  126. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js +52 -0
  127. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js.map +1 -0
  128. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.d.ts +3 -0
  129. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js +20 -0
  130. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js.map +1 -0
  131. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.d.ts +3 -0
  132. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js +64 -0
  133. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js.map +1 -0
  134. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.d.ts +3 -0
  135. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js +62 -0
  136. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js.map +1 -0
  137. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js +7 -9
  138. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js.map +1 -1
  139. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js +10 -0
  140. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js.map +1 -1
  141. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.d.ts +18 -5
  142. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js +63 -14
  143. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
  144. package/dist/components/Explorer/useColumnWidth.d.ts +2 -0
  145. package/dist/components/Explorer/useColumnWidth.js +3 -2
  146. package/dist/components/Explorer/useColumnWidth.js.map +1 -1
  147. package/dist/components/Explorer/useLoadView.d.ts +3 -0
  148. package/dist/components/Explorer/useLoadView.js +81 -0
  149. package/dist/components/Explorer/useLoadView.js.map +1 -0
  150. package/dist/components/Explorer/useSearchInput.js +2 -1
  151. package/dist/components/Explorer/useSearchInput.js.map +1 -1
  152. package/dist/components/Explorer/useViewSettingsReducer.js +33 -112
  153. package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
  154. package/dist/components/ImportModal/ImportModalSelectFileStep/ImportModalSelectFileStep.js +1 -2
  155. package/dist/components/ImportModal/ImportModalSelectFileStep/ImportModalSelectFileStep.js.map +1 -1
  156. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js.map +1 -1
  157. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js +2 -2
  158. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js.map +1 -1
  159. package/dist/components/LibraryItemsList/MenuView/MenuView.js +1 -1
  160. package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +1 -1
  161. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -0
  162. package/dist/components/RecordEdition/EditRecord/EditRecord.js +28 -24
  163. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  164. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.d.ts +3 -1
  165. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js +8 -5
  166. package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js.map +1 -1
  167. package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +7 -1
  168. package/dist/components/RecordEdition/EditRecordContent/_types.js.map +1 -1
  169. package/dist/components/RecordEdition/EditRecordContent/hooks/useCreateRecordMutation.d.ts +5 -0
  170. package/dist/components/RecordEdition/EditRecordContent/hooks/useCreateRecordMutation.js +28 -0
  171. package/dist/components/RecordEdition/EditRecordContent/hooks/useCreateRecordMutation.js.map +1 -0
  172. package/dist/components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation.js +3 -8
  173. package/dist/components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation.js.map +1 -1
  174. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +7 -2
  175. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  176. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js.map +1 -1
  177. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js +4 -6
  178. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js.map +1 -1
  179. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +1 -1
  180. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
  181. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js +1 -2
  182. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js.map +1 -1
  183. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +1 -1
  184. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
  185. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.js +2 -1
  186. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.js.map +1 -1
  187. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.d.ts +2 -0
  188. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +3 -2
  189. package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js.map +1 -1
  190. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +2 -0
  191. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +3 -2
  192. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  193. package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/useAttributeInformations.js +1 -1
  194. package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/useAttributeInformations.js.map +1 -1
  195. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js +8 -1
  196. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js.map +1 -1
  197. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordSummary.d.ts +1 -1
  198. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordSummary.js +7 -9
  199. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordSummary.js.map +1 -1
  200. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js +29 -14
  201. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js.map +1 -1
  202. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +2 -1
  203. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  204. package/dist/hooks/useExecuteSaveViewMutation/useExecuteSaveViewMutation.js +2 -1
  205. package/dist/hooks/useExecuteSaveViewMutation/useExecuteSaveViewMutation.js.map +1 -1
  206. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.d.ts +1 -1
  207. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js +2 -2
  208. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js.map +1 -1
  209. package/dist/locales/en/shared.json +23 -4
  210. package/dist/locales/fr/shared.json +25 -6
  211. package/package.json +5 -5
  212. package/dist/components/Explorer/useCreateAction.d.ts +0 -21
  213. package/dist/components/Explorer/useCreateAction.js +0 -73
  214. package/dist/components/Explorer/useCreateAction.js.map +0 -1
  215. package/dist/components/Explorer/useDeactivateMassAction.js.map +0 -1
  216. package/dist/components/Explorer/useEditAction.js.map +0 -1
  217. package/dist/components/Explorer/useMassActions.js.map +0 -1
  218. package/dist/components/Explorer/usePrimaryActions.d.ts +0 -12
  219. package/dist/components/Explorer/usePrimaryActions.js +0 -28
  220. package/dist/components/Explorer/usePrimaryActions.js.map +0 -1
  221. package/dist/components/Explorer/useRemoveAction.js.map +0 -1
@@ -0,0 +1,22 @@
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
3
+ // This file is released under LGPL V3
4
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
+ import { useCreateNewView } from './useCreateNewView';
6
+ import styled from 'styled-components';
7
+ import { useUpdateView } from './useUpdateView';
8
+ import { useResetView } from './useResetView';
9
+ import { useShareView } from './useShareView';
10
+ const StyledFooter = styled.footer `
11
+ display: flex;
12
+ flex-direction: column;
13
+ padding-bottom: calc(var(--general-spacing-xs) * 1px);
14
+ `;
15
+ export const ViewActionsButtons = () => {
16
+ const { updateViewButton } = useUpdateView();
17
+ const { createNewViewButton } = useCreateNewView();
18
+ const { shareViewButton } = useShareView();
19
+ const { resetViewButton } = useResetView();
20
+ return (_jsxs(StyledFooter, { children: [updateViewButton, createNewViewButton, shareViewButton, resetViewButton] }));
21
+ };
22
+ //# sourceMappingURL=ViewActionsButtons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewActionsButtons.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/save-view/ViewActionsButtons.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;;;;CAIjC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAC,gBAAgB,EAAC,GAAG,aAAa,EAAE,CAAC;IAC3C,MAAM,EAAC,mBAAmB,EAAC,GAAG,gBAAgB,EAAE,CAAC;IACjD,MAAM,EAAC,eAAe,EAAC,GAAG,YAAY,EAAE,CAAC;IACzC,MAAM,EAAC,eAAe,EAAC,GAAG,YAAY,EAAE,CAAC;IAEzC,OAAO,CACH,MAAC,YAAY,eACR,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,eAAe,IACL,CAClB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ViewInput } from '../../../../_gqlTypes';
2
+ import { IViewSettingsState } from '../store-view-settings/viewSettingsReducer';
3
+ export declare const prepareViewForRequest: (view: IViewSettingsState, label: Record<string, string>) => ViewInput;
@@ -0,0 +1,24 @@
1
+ import { mapViewTypeFromExplorerToLegacy } from '../../_constants';
2
+ import { isExplorerFilterThrough } from '../../_types';
3
+ export const prepareViewForRequest = (view, label) => ({
4
+ library: view.libraryId,
5
+ shared: false,
6
+ display: {
7
+ type: mapViewTypeFromExplorerToLegacy[view.viewType]
8
+ },
9
+ filters: view.filters.map(filter => isExplorerFilterThrough(filter)
10
+ ? {
11
+ field: `${filter.field}.${filter.subField}`,
12
+ value: filter.value,
13
+ condition: filter.subCondition
14
+ }
15
+ : {
16
+ field: filter.field,
17
+ value: filter.value,
18
+ condition: filter.condition
19
+ }),
20
+ sort: view.sort.map(({ field, order }) => ({ field, order })),
21
+ attributes: view.attributesIds,
22
+ label
23
+ });
24
+ //# sourceMappingURL=prepareViewForRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareViewForRequest.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,+BAA+B,EAAC,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAC,uBAAuB,EAAC,MAAM,cAAc,CAAC;AAGrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAwB,EAAE,KAA6B,EAAa,EAAE,CAAC,CAAC;IAC1G,OAAO,EAAE,IAAI,CAAC,SAAS;IACvB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE;QACL,IAAI,EAAE,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC;KACvD;IACD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC/B,uBAAuB,CAAC,MAAM,CAAC;QAC3B,CAAC,CAAC;YACI,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,YAAY;SACjC;QACH,CAAC,CAAC;YACI,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC9B,CACV;IACD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IACzD,UAAU,EAAE,IAAI,CAAC,aAAa;IAC9B,KAAK;CACR,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const useCreateNewView: () => {
2
+ createNewViewButton: JSX.Element;
3
+ };
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
3
+ // This file is released under LGPL V3
4
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
+ import { useState } from 'react';
6
+ import { SaveViewModal } from './SaveViewModal';
7
+ import { KitButton } from 'aristid-ds';
8
+ import { FaSdCard } from 'react-icons/fa';
9
+ import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
10
+ import { useViewSettingsContext } from '../store-view-settings/useViewSettingsContext';
11
+ import { ViewSettingsActionTypes } from '../store-view-settings/viewSettingsReducer';
12
+ import useExecuteSaveViewMutation from '../../../../hooks/useExecuteSaveViewMutation';
13
+ import { prepareViewForRequest } from './prepareViewForRequest';
14
+ import { mapViewTypeFromExplorerToLegacy } from '../../_constants';
15
+ import { useTransformFilters } from '../_shared/useTransformFilters';
16
+ export const useCreateNewView = () => {
17
+ const { t } = useSharedTranslation();
18
+ const { toValidFilters } = useTransformFilters();
19
+ const { view, dispatch } = useViewSettingsContext();
20
+ const { saveView } = useExecuteSaveViewMutation();
21
+ const [isModalOpen, setIsModalOpen] = useState(false);
22
+ const _toggleModal = () => {
23
+ setIsModalOpen(!isModalOpen);
24
+ };
25
+ const _createView = async (label) => {
26
+ const mappedView = prepareViewForRequest(view, label);
27
+ const { data } = await saveView({
28
+ view: mappedView
29
+ });
30
+ if (data) {
31
+ dispatch({
32
+ type: ViewSettingsActionTypes.UPDATE_VIEWS,
33
+ payload: {
34
+ id: data.saveView.id,
35
+ ownerId: data.saveView.created_by.id,
36
+ label: data.saveView.label,
37
+ shared: data.saveView.shared,
38
+ filters: toValidFilters(data.saveView.filters),
39
+ sort: data.saveView.sort ?? [],
40
+ display: data.saveView.display ?? {
41
+ type: mapViewTypeFromExplorerToLegacy[view.viewType]
42
+ },
43
+ attributes: data.saveView?.attributes?.map(({ id }) => id) ?? []
44
+ }
45
+ });
46
+ }
47
+ };
48
+ return {
49
+ createNewViewButton: (_jsxs(_Fragment, { children: [_jsx(SaveViewModal, { isOpen: isModalOpen, onSave: _createView, onClose: _toggleModal }), _jsx(KitButton, { type: "action", icon: _jsx(FaSdCard, {}), onClick: _toggleModal, children: t('explorer.save-view-as') })] }))
50
+ };
51
+ };
52
+ //# sourceMappingURL=useCreateNewView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCreateNewView.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/save-view/useCreateNewView.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,sBAAsB,EAAC,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAC,uBAAuB,EAAC,MAAM,4CAA4C,CAAC;AACnF,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,+BAA+B,EAAC,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACjC,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,cAAc,EAAC,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,sBAAsB,EAAE,CAAC;IAClD,MAAM,EAAC,QAAQ,EAAC,GAAG,0BAA0B,EAAE,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,KAA6B,EAAE,EAAE;QACxD,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEtD,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,QAAQ,CAAC;YAC1B,IAAI,EAAE,UAAU;SACnB,CAAC,CAAC;QAEH,IAAI,IAAI,EAAE,CAAC;YACP,QAAQ,CAAC;gBACL,IAAI,EAAE,uBAAuB,CAAC,YAAY;gBAC1C,OAAO,EAAE;oBACL,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACpB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACpC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAC1B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAC5B,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;oBAC9B,OAAO,EAAG,IAAI,CAAC,QAAQ,CAAC,OAAwB,IAAI;wBAChD,IAAI,EAAE,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC;qBACvD;oBACD,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE;iBACjE;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACH,mBAAmB,EAAE,CACjB,8BACI,KAAC,aAAa,IAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,GAAI,EAClF,KAAC,SAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,KAAC,QAAQ,KAAG,EAAE,OAAO,EAAE,YAAY,YAC7D,CAAC,CAAC,uBAAuB,CAAC,GACnB,IACb,CACN;KACJ,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const useResetView: () => {
2
+ resetViewButton: JSX.Element;
3
+ };
@@ -0,0 +1,20 @@
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 { KitButton } from 'aristid-ds';
6
+ import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
7
+ import { useViewSettingsContext } from '../store-view-settings/useViewSettingsContext';
8
+ import { ViewSettingsActionTypes } from '../store-view-settings/viewSettingsReducer';
9
+ import { FaUndo } from 'react-icons/fa';
10
+ export const useResetView = () => {
11
+ const { t } = useSharedTranslation();
12
+ const { dispatch } = useViewSettingsContext();
13
+ const _resetView = () => {
14
+ dispatch({ type: ViewSettingsActionTypes.RESTORE_INITIAL_VIEW_SETTINGS });
15
+ };
16
+ return {
17
+ resetViewButton: (_jsx(KitButton, { type: "action", icon: _jsx(FaUndo, {}), onClick: _resetView, children: t('explorer.reinit-view') }))
18
+ };
19
+ };
20
+ //# sourceMappingURL=useResetView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResetView.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/save-view/useResetView.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,sBAAsB,EAAC,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAC,uBAAuB,EAAC,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,QAAQ,EAAC,GAAG,sBAAsB,EAAE,CAAC;IAE5C,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,QAAQ,CAAC,EAAC,IAAI,EAAE,uBAAuB,CAAC,6BAA6B,EAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEF,OAAO;QACH,eAAe,EAAE,CACb,KAAC,SAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,KAAC,MAAM,KAAG,EAAE,OAAO,EAAE,UAAU,YACzD,CAAC,CAAC,sBAAsB,CAAC,GAClB,CACf;KACJ,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const useShareView: () => {
2
+ shareViewButton: JSX.Element;
3
+ };
@@ -0,0 +1,64 @@
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 { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
6
+ import { KitButton } from 'aristid-ds';
7
+ import { FaShare } from 'react-icons/fa';
8
+ import { useViewSettingsContext } from '../store-view-settings/useViewSettingsContext';
9
+ import { useEffect, useState } from 'react';
10
+ import useExecuteSaveViewMutation from '../../../../hooks/useExecuteSaveViewMutation';
11
+ import { ViewSettingsActionTypes } from '../store-view-settings/viewSettingsReducer';
12
+ import { prepareViewForRequest } from './prepareViewForRequest';
13
+ import { mapViewTypeFromExplorerToLegacy } from '../../_constants';
14
+ import { useTransformFilters } from '../_shared/useTransformFilters';
15
+ import { useMeQuery } from '../../../../_gqlTypes';
16
+ export const useShareView = () => {
17
+ const { t } = useSharedTranslation();
18
+ const { view, dispatch } = useViewSettingsContext();
19
+ const { saveView } = useExecuteSaveViewMutation();
20
+ const { toValidFilters } = useTransformFilters();
21
+ const [isSharedView, setIsSharedView] = useState(false);
22
+ const [isOwnerView, setIsOwnerView] = useState(false);
23
+ const { data: userData } = useMeQuery();
24
+ useEffect(() => {
25
+ const currentView = view.savedViews.find(v => v.id === view.viewId);
26
+ if (currentView === undefined) {
27
+ return;
28
+ }
29
+ setIsSharedView(currentView.shared ?? false);
30
+ setIsOwnerView(currentView.ownerId === userData?.me?.whoAmI?.id);
31
+ }, [view.viewId]);
32
+ const _toggleShareView = async () => {
33
+ const mappedView = {
34
+ ...prepareViewForRequest(view, view.viewLabels),
35
+ shared: !isSharedView,
36
+ id: view.viewId
37
+ };
38
+ const { data } = await saveView({
39
+ view: mappedView
40
+ });
41
+ setIsSharedView(!isSharedView);
42
+ if (data) {
43
+ dispatch({
44
+ type: ViewSettingsActionTypes.UPDATE_VIEWS,
45
+ payload: {
46
+ id: data.saveView.id,
47
+ ownerId: data.saveView.created_by.id,
48
+ label: data.saveView.label,
49
+ shared: data.saveView.shared,
50
+ filters: toValidFilters(data.saveView.filters),
51
+ sort: data.saveView.sort ?? [],
52
+ display: data.saveView.display ?? {
53
+ type: mapViewTypeFromExplorerToLegacy[view.viewType]
54
+ },
55
+ attributes: data.saveView?.attributes?.map(({ id }) => id) ?? []
56
+ }
57
+ });
58
+ }
59
+ };
60
+ return {
61
+ shareViewButton: !view.viewId || (isSharedView && !isOwnerView) ? null : (_jsx(KitButton, { type: "action", icon: _jsx(FaShare, {}), onClick: _toggleShareView, children: isSharedView ? t('explorer.unshare-view') : t('explorer.share-view') }))
62
+ };
63
+ };
64
+ //# sourceMappingURL=useShareView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useShareView.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/save-view/useShareView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const useUpdateView: () => {
2
+ updateViewButton: JSX.Element;
3
+ };
@@ -0,0 +1,62 @@
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 { KitButton } from 'aristid-ds';
6
+ import { FaSave } from 'react-icons/fa';
7
+ import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
8
+ import { useViewSettingsContext } from '../store-view-settings/useViewSettingsContext';
9
+ import { ViewSettingsActionTypes } from '../store-view-settings/viewSettingsReducer';
10
+ import useExecuteSaveViewMutation from '../../../../hooks/useExecuteSaveViewMutation';
11
+ import { prepareViewForRequest } from './prepareViewForRequest';
12
+ import { mapViewTypeFromExplorerToLegacy } from '../../_constants';
13
+ import { useTransformFilters } from '../_shared/useTransformFilters';
14
+ import { useEffect, useRef, useState } from 'react';
15
+ import { useMeQuery } from '../../../../_gqlTypes';
16
+ export const useUpdateView = () => {
17
+ const { t } = useSharedTranslation();
18
+ const { toValidFilters } = useTransformFilters();
19
+ const { view, dispatch } = useViewSettingsContext();
20
+ const { saveView } = useExecuteSaveViewMutation();
21
+ const [isOwnerView, setIsOwnerView] = useState(false);
22
+ const currentView = useRef();
23
+ const { data: userData } = useMeQuery();
24
+ useEffect(() => {
25
+ currentView.current = view.savedViews.find(v => v.id === view.viewId);
26
+ if (currentView.current === undefined) {
27
+ return;
28
+ }
29
+ setIsOwnerView(currentView.current.ownerId === userData?.me?.whoAmI?.id);
30
+ }, [view.viewId]);
31
+ const _updateView = async () => {
32
+ const mappedView = {
33
+ ...prepareViewForRequest(view, view.viewLabels),
34
+ id: view.viewId,
35
+ shared: currentView.current?.shared ?? false
36
+ };
37
+ const { data } = await saveView({
38
+ view: mappedView
39
+ });
40
+ if (data) {
41
+ dispatch({
42
+ type: ViewSettingsActionTypes.UPDATE_VIEWS,
43
+ payload: {
44
+ id: data.saveView.id,
45
+ ownerId: data.saveView.created_by.id,
46
+ label: data.saveView.label,
47
+ shared: data.saveView.shared,
48
+ filters: toValidFilters(data.saveView.filters),
49
+ sort: data.saveView.sort ?? [],
50
+ display: data.saveView.display ?? {
51
+ type: mapViewTypeFromExplorerToLegacy[view.viewType]
52
+ },
53
+ attributes: data.saveView?.attributes?.map(({ id }) => id) ?? []
54
+ }
55
+ });
56
+ }
57
+ };
58
+ return {
59
+ updateViewButton: !view.viewId || !view.savedViews.length || !isOwnerView ? null : (_jsx(KitButton, { type: "action", icon: _jsx(FaSave, {}), onClick: _updateView, children: t('global.save') }))
60
+ };
61
+ };
62
+ //# sourceMappingURL=useUpdateView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateView.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/save-view/useUpdateView.tsx"],"names":[],"mappings":"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"}
@@ -53,15 +53,13 @@ export const SortItems = ({ libraryId }) => {
53
53
  });
54
54
  }
55
55
  };
56
- const _changeOrderActiveFilterTo = (field) => (order) => {
57
- dispatch({
58
- type: ViewSettingsActionTypes.CHANGE_SORT_ORDER,
59
- payload: {
60
- field,
61
- order
62
- }
63
- });
64
- };
56
+ const _changeOrderActiveFilterTo = (field) => (order) => dispatch({
57
+ type: ViewSettingsActionTypes.CHANGE_SORT_ORDER,
58
+ payload: {
59
+ field,
60
+ order
61
+ }
62
+ });
65
63
  const _handleDragEnd = ({ active: draggedElement, over: dropTarget }) => {
66
64
  const indexFrom = activeFilters.findIndex(({ field }) => field === String(draggedElement.id));
67
65
  const indexTo = activeFilters.findIndex(({ field }) => field === String(dropTarget?.id));
@@ -1 +1 @@
1
- {"version":3,"file":"SortItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/sort-items/SortItems.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SortItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/sort-items/SortItems.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ export const defaultMaxFilters = 3;
3
3
  export const viewSettingsInitialState = {
4
4
  libraryId: '',
5
5
  viewType: 'table',
6
+ viewId: null,
7
+ viewModified: false,
8
+ viewLabels: {},
9
+ savedViews: [],
6
10
  entrypoint: {
7
11
  type: 'library',
8
12
  libraryId: ''
@@ -20,6 +24,12 @@ export const viewSettingsInitialState = {
20
24
  sort: [],
21
25
  pageSize: defaultPageSizeOptions[0],
22
26
  filters: []
27
+ },
28
+ defaultViewSettings: {
29
+ viewType: 'table',
30
+ attributesIds: [],
31
+ sort: [],
32
+ filters: []
23
33
  }
24
34
  };
25
35
  //# sourceMappingURL=viewSettingsInitialState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewSettingsInitialState.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,wBAAwB,GAAuB;IACxD,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE;QACR,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,EAAE;KAChB;IACD,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACnC,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,iBAAiB;IAC7B,aAAa,EAAE,EAAE;IACjB,mBAAmB,EAAE;QACjB,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACnC,OAAO,EAAE,EAAE;KACd;CACJ,CAAC"}
1
+ {"version":3,"file":"viewSettingsInitialState.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,wBAAwB,GAAuB;IACxD,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,UAAU,EAAE;QACR,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,EAAE;KAChB;IACD,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACnC,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,iBAAiB;IAC7B,aAAa,EAAE,EAAE;IACjB,mBAAmB,EAAE;QACjB,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACnC,OAAO,EAAE,EAAE;KACd;IACD,mBAAmB,EAAE;QACjB,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE;KACd;CACJ,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { SortOrder } from '../../../../_gqlTypes';
2
- import { Entrypoint, ExplorerFilter } from '../../_types';
3
- import { MASS_SELECTION_ALL } from '../../_constants';
2
+ import { DefaultViewSettings, Entrypoint, ExplorerFilter, IUserView, MassSelection } from '../../_types';
4
3
  export type ViewType = 'table' | 'list' | 'timeline' | 'mosaic';
5
- export type MassSelection = string[] | typeof MASS_SELECTION_ALL;
6
4
  export declare const ViewSettingsActionTypes: {
7
5
  readonly RESET: "RESET";
8
6
  readonly ADD_ATTRIBUTE: "ADD_ATTRIBUTE";
@@ -24,12 +22,17 @@ export declare const ViewSettingsActionTypes: {
24
22
  readonly CHANGE_FILTER_CONFIG: "CHANGE_FILTER_CONFIG";
25
23
  readonly SET_SELECTED_KEYS: "SET_SELECTED_KEYS";
26
24
  readonly RESTORE_INITIAL_VIEW_SETTINGS: "RESTORE_INITIAL_VIEW_SETTINGS";
25
+ readonly UPDATE_VIEWS: "UPDATE_VIEWS";
26
+ readonly LOAD_VIEW: "LOAD_VIEW";
27
27
  };
28
28
  export interface IViewSettingsState {
29
29
  libraryId: string;
30
- viewId?: string;
30
+ viewId: string | null;
31
+ viewLabels: Record<string, string>;
32
+ viewModified: boolean;
31
33
  entrypoint: Entrypoint;
32
34
  viewType: ViewType;
35
+ savedViews: IUserView[];
33
36
  attributesIds: string[];
34
37
  fulltextSearch: string;
35
38
  sort: Array<{
@@ -40,6 +43,7 @@ export interface IViewSettingsState {
40
43
  filters: ExplorerFilter[];
41
44
  maxFilters: number;
42
45
  initialViewSettings: Pick<IViewSettingsState, 'viewType' | 'attributesIds' | 'sort' | 'pageSize' | 'filters'>;
46
+ defaultViewSettings: DefaultViewSettings;
43
47
  massSelection: MassSelection;
44
48
  }
45
49
  interface IViewSettingsActionChangePageSize {
@@ -146,6 +150,15 @@ interface IViewSettingsActionSetSelectedKeys {
146
150
  interface IViewSettingsActionRestoreInitialViewSettings {
147
151
  type: typeof ViewSettingsActionTypes.RESTORE_INITIAL_VIEW_SETTINGS;
148
152
  }
153
+ interface IViewSettingsActionUpdateViewListAndCurrentView {
154
+ type: typeof ViewSettingsActionTypes.UPDATE_VIEWS;
155
+ payload: IUserView;
156
+ }
157
+ export type IViewSettingsActionLoadViewPayload = Pick<IViewSettingsState, 'viewId' | 'viewLabels' | 'viewType' | 'attributesIds' | 'sort' | 'filters'>;
158
+ interface IViewSettingsActionLoadView {
159
+ type: typeof ViewSettingsActionTypes.LOAD_VIEW;
160
+ payload: IViewSettingsActionLoadViewPayload;
161
+ }
149
162
  type Reducer<PAYLOAD extends {
150
163
  type: keyof typeof ViewSettingsActionTypes;
151
164
  payload?: unknown;
@@ -154,6 +167,6 @@ type Reducer<PAYLOAD extends {
154
167
  payload: 'no_payload';
155
168
  }> = PAYLOAD['payload'] extends 'no_payload' ? (state: IViewSettingsState) => IViewSettingsState : (state: IViewSettingsState, payload: PAYLOAD['payload']) => IViewSettingsState;
156
169
  export declare const clearFulltextSearch: Reducer;
157
- export type IViewSettingsAction = IViewSettingsActionResetAttributes | IViewSettingsActionAddAttribute | IViewSettingsActionRemoveAttribute | IViewSettingsActionMoveAttribute | IViewSettingsActionChangeViewType | IViewSettingsActionAddSort | IViewSettingsActionRemoveSort | IViewSettingsActionChangeSortOrder | IViewSettingsActionMoveSort | IViewSettingsActionChangePageSize | IViewSettingsActionChangeFulltextSearch | IViewSettingsActionClearFulltextSearch | IViewSettingsActionAddFilter | IViewSettingsActionResetFilter | IViewSettingsActionRemoveFilter | IViewSettingsActionChangeFilterConfig | IViewSettingsActionMoveFilter | IViewSettingsActionReset | IViewSettingsActionSetSelectedKeys | IViewSettingsActionRestoreInitialViewSettings;
170
+ export type IViewSettingsAction = IViewSettingsActionResetAttributes | IViewSettingsActionAddAttribute | IViewSettingsActionRemoveAttribute | IViewSettingsActionMoveAttribute | IViewSettingsActionChangeViewType | IViewSettingsActionAddSort | IViewSettingsActionRemoveSort | IViewSettingsActionChangeSortOrder | IViewSettingsActionMoveSort | IViewSettingsActionChangePageSize | IViewSettingsActionChangeFulltextSearch | IViewSettingsActionClearFulltextSearch | IViewSettingsActionAddFilter | IViewSettingsActionResetFilter | IViewSettingsActionRemoveFilter | IViewSettingsActionChangeFilterConfig | IViewSettingsActionMoveFilter | IViewSettingsActionReset | IViewSettingsActionSetSelectedKeys | IViewSettingsActionRestoreInitialViewSettings | IViewSettingsActionUpdateViewListAndCurrentView | IViewSettingsActionLoadView;
158
171
  export declare const viewSettingsReducer: (state: IViewSettingsState, action: IViewSettingsAction) => IViewSettingsState;
159
172
  export {};
@@ -27,7 +27,9 @@ export const ViewSettingsActionTypes = {
27
27
  MOVE_FILTER: 'MOVE_FILTER',
28
28
  CHANGE_FILTER_CONFIG: 'CHANGE_FILTER_CONFIG',
29
29
  SET_SELECTED_KEYS: 'SET_SELECTED_KEYS',
30
- RESTORE_INITIAL_VIEW_SETTINGS: 'RESTORE_INITIAL_VIEW_SETTINGS'
30
+ RESTORE_INITIAL_VIEW_SETTINGS: 'RESTORE_INITIAL_VIEW_SETTINGS',
31
+ UPDATE_VIEWS: 'UPDATE_VIEWS',
32
+ LOAD_VIEW: 'LOAD_VIEW'
31
33
  };
32
34
  const changePageSize = (state, payload) => ({
33
35
  ...state,
@@ -35,11 +37,13 @@ const changePageSize = (state, payload) => ({
35
37
  });
36
38
  const addAttribute = (state, payload) => ({
37
39
  ...state,
38
- attributesIds: [...state.attributesIds, payload.attributeId]
40
+ attributesIds: [...state.attributesIds, payload.attributeId],
41
+ viewModified: true
39
42
  });
40
43
  const removeAttribute = (state, payload) => ({
41
44
  ...state,
42
- attributesIds: state.attributesIds.filter(attributesId => attributesId !== payload.attributeId)
45
+ attributesIds: state.attributesIds.filter(attributesId => attributesId !== payload.attributeId),
46
+ viewModified: true
43
47
  });
44
48
  const moveAttribute = (state, payload) => {
45
49
  const attributesIds = [...state.attributesIds];
@@ -48,7 +52,8 @@ const moveAttribute = (state, payload) => {
48
52
  attributesIds.splice(payload.indexTo, 0, attributeIdToMove);
49
53
  return {
50
54
  ...state,
51
- attributesIds
55
+ attributesIds,
56
+ viewModified: true
52
57
  };
53
58
  };
54
59
  const resetAttributes = state => ({
@@ -57,19 +62,23 @@ const resetAttributes = state => ({
57
62
  });
58
63
  const changeViewType = (state, payload) => ({
59
64
  ...state,
60
- viewType: payload.viewType
65
+ viewType: payload.viewType,
66
+ viewModified: true
61
67
  });
62
68
  const addSort = (state, payload) => ({
63
69
  ...state,
64
- sort: [...state.sort, { field: payload.field, order: payload.order }]
70
+ sort: [...state.sort, { field: payload.field, order: payload.order }],
71
+ viewModified: true
65
72
  });
66
73
  const removeSort = (state, payload) => ({
67
74
  ...state,
68
- sort: state.sort.filter(({ field: attributeId }) => attributeId !== payload.field)
75
+ sort: state.sort.filter(({ field: attributeId }) => attributeId !== payload.field),
76
+ viewModified: true
69
77
  });
70
78
  const changeSortOrder = (state, payload) => ({
71
79
  ...state,
72
- sort: state.sort.map(sort => (sort.field === payload.field ? { ...sort, order: payload.order } : sort))
80
+ sort: state.sort.map(sort => (sort.field === payload.field ? { ...sort, order: payload.order } : sort)),
81
+ viewModified: true
73
82
  });
74
83
  const moveSort = (state, payload) => {
75
84
  const attributesUsedToSort = [...state.sort];
@@ -77,7 +86,8 @@ const moveSort = (state, payload) => {
77
86
  attributesUsedToSort.splice(payload.indexTo, 0, sortToMove);
78
87
  return {
79
88
  ...state,
80
- sort: attributesUsedToSort
89
+ sort: attributesUsedToSort,
90
+ viewModified: true
81
91
  };
82
92
  };
83
93
  const changeFulltextSearch = (state, payload) => ({
@@ -100,7 +110,8 @@ const addFilter = (state, payload) => ({
100
110
  : (conditionsByFormat[payload.attribute.format][0] ?? null),
101
111
  value: null
102
112
  }
103
- ]
113
+ ],
114
+ viewModified: true
104
115
  });
105
116
  const resetFilter = (state, payload) => ({
106
117
  ...state,
@@ -139,11 +150,13 @@ const resetFilter = (state, payload) => ({
139
150
  });
140
151
  const removeFilter = (state, payload) => ({
141
152
  ...state,
142
- filters: state.filters.filter(({ id }) => id !== payload.id)
153
+ filters: state.filters.filter(({ id }) => id !== payload.id),
154
+ viewModified: true
143
155
  });
144
156
  const changeFilterConfig = (state, payload) => ({
145
157
  ...state,
146
- filters: state.filters.map(filter => (filter.id === payload.id ? { ...filter, ...payload } : filter))
158
+ filters: state.filters.map(filter => (filter.id === payload.id ? { ...filter, ...payload } : filter)),
159
+ viewModified: true
147
160
  });
148
161
  const moveFilter = (state, payload) => {
149
162
  const attributesUsedToFilter = [...state.filters];
@@ -151,7 +164,8 @@ const moveFilter = (state, payload) => {
151
164
  attributesUsedToFilter.splice(payload.indexTo, 0, filterToMove);
152
165
  return {
153
166
  ...state,
154
- filters: attributesUsedToFilter
167
+ filters: attributesUsedToFilter,
168
+ viewModified: true
155
169
  };
156
170
  };
157
171
  const reset = (_, payload) => payload;
@@ -161,7 +175,36 @@ const setSelectedKeys = (state, payload) => ({
161
175
  });
162
176
  const restoreInitialViewSettings = state => ({
163
177
  ...state,
164
- ...state.initialViewSettings
178
+ ...state.initialViewSettings,
179
+ viewModified: false
180
+ });
181
+ const updateViewListAndCurrentView = (state, payload) => ({
182
+ ...state,
183
+ viewId: payload.id ?? null,
184
+ viewLabels: payload.label,
185
+ savedViews: state.savedViews.find(({ id }) => id === payload.id)
186
+ ? state.savedViews.map(view => (view.id === payload.id ? payload : view))
187
+ : state.savedViews.concat([payload]),
188
+ initialViewSettings: {
189
+ viewType: state.viewType,
190
+ attributesIds: state.attributesIds,
191
+ sort: state.sort,
192
+ pageSize: state.pageSize,
193
+ filters: state.filters
194
+ },
195
+ viewModified: false
196
+ });
197
+ const loadView = (state, payload) => ({
198
+ ...state,
199
+ ...payload,
200
+ initialViewSettings: {
201
+ viewType: payload.viewType,
202
+ attributesIds: payload.attributesIds,
203
+ sort: payload.sort,
204
+ pageSize: state.pageSize,
205
+ filters: payload.filters
206
+ },
207
+ viewModified: false
165
208
  });
166
209
  export const viewSettingsReducer = (state, action) => {
167
210
  switch (action.type) {
@@ -225,6 +268,12 @@ export const viewSettingsReducer = (state, action) => {
225
268
  case ViewSettingsActionTypes.RESTORE_INITIAL_VIEW_SETTINGS: {
226
269
  return restoreInitialViewSettings(state);
227
270
  }
271
+ case ViewSettingsActionTypes.UPDATE_VIEWS: {
272
+ return updateViewListAndCurrentView(state, action.payload);
273
+ }
274
+ case ViewSettingsActionTypes.LOAD_VIEW: {
275
+ return loadView(state, action.payload);
276
+ }
228
277
  default:
229
278
  return state;
230
279
  }