@leav/ui 1.9.0-e815e87d → 1.9.0-ee5969b7

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 (456) hide show
  1. package/dist/_gqlTypes/index.d.ts +187 -83
  2. package/dist/_gqlTypes/index.js +158 -61
  3. package/dist/_gqlTypes/index.js.map +1 -1
  4. package/dist/_utils/getFiltersFromRequest.js +5 -6
  5. package/dist/_utils/getFiltersFromRequest.js.map +1 -1
  6. package/dist/_utils/index.js +3 -4
  7. package/dist/_utils/index.js.map +1 -1
  8. package/dist/_utils/typeguards.d.ts +5 -0
  9. package/dist/_utils/typeguards.js +6 -0
  10. package/dist/_utils/typeguards.js.map +1 -1
  11. package/dist/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.js +6 -1
  12. package/dist/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.js.map +1 -1
  13. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.d.ts +3 -0
  14. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js +5 -5
  15. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js.map +1 -1
  16. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +2 -2
  17. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  18. package/dist/components/Explorer/useViewSettingsReducer.js +11 -8
  19. package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
  20. package/dist/components/Filters/_queries/treeFiltersDataQuery.d.ts +6 -0
  21. package/dist/components/Filters/_queries/treeFiltersDataQuery.js +54 -0
  22. package/dist/components/Filters/_queries/treeFiltersDataQuery.js.map +1 -0
  23. package/dist/components/Filters/context/useGetTreeFilters.js +5 -5
  24. package/dist/components/Filters/context/useGetTreeFilters.js.map +1 -1
  25. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js +1 -2
  26. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js.map +1 -1
  27. package/dist/{_queries/trees/getTreeContentQuery.d.ts → components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.d.ts} +2 -2
  28. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js +54 -0
  29. package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js.map +1 -0
  30. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js +4 -4
  31. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js.map +1 -1
  32. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +1 -3
  33. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  34. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +7 -6
  35. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
  36. package/dist/components/SearchModal/SearchModal.js +28 -18
  37. package/dist/components/SearchModal/SearchModal.js.map +1 -1
  38. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +0 -2
  39. package/dist/components/SelectTreeNode/SelectTreeNode.js +2 -2
  40. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  41. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +0 -2
  42. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +60 -114
  43. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  44. package/dist/components/SelectTreeNode/TreeNodeTitle.d.ts +0 -1
  45. package/dist/components/SelectTreeNode/TreeNodeTitle.js +3 -7
  46. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
  47. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.d.ts +6 -0
  48. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js +56 -0
  49. package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js.map +1 -0
  50. package/dist/components/SelectTreeNode/_types.d.ts +0 -1
  51. package/dist/components/SelectTreeNode/_types.js.map +1 -1
  52. package/dist/components/index.d.ts +0 -3
  53. package/dist/components/index.js +0 -3
  54. package/dist/components/index.js.map +1 -1
  55. package/dist/hooks/useGetRecordForm/useGetRecordForm.js +24 -22
  56. package/dist/hooks/useGetRecordForm/useGetRecordForm.js.map +1 -1
  57. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js +9 -6
  58. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js.map +1 -1
  59. package/dist/hooks/useIFrameMessenger/schema.d.ts +12 -0
  60. package/dist/hooks/useIFrameMessenger/schema.js +6 -0
  61. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
  62. package/dist/hooks/useRecordsConsultationHistory/useRecordsConsultationHistory.d.ts +1 -1
  63. package/dist/hooks/useRecordsConsultationHistory/useRecordsConsultationHistory.js +14 -6
  64. package/dist/hooks/useRecordsConsultationHistory/useRecordsConsultationHistory.js.map +1 -1
  65. package/dist/locales/en/shared.json +3 -0
  66. package/dist/locales/fr/shared.json +3 -0
  67. package/package.json +7 -12
  68. package/dist/__mocks__/common/mockSearchContextProvider.d.ts +0 -6
  69. package/dist/__mocks__/common/mockSearchContextProvider.js +0 -10
  70. package/dist/__mocks__/common/mockSearchContextProvider.js.map +0 -1
  71. package/dist/_queries/trees/getTreeContentQuery.js +0 -70
  72. package/dist/_queries/trees/getTreeContentQuery.js.map +0 -1
  73. package/dist/components/AttributesSelectionList/Attribute/Attribute.d.ts +0 -3
  74. package/dist/components/AttributesSelectionList/Attribute/Attribute.js +0 -50
  75. package/dist/components/AttributesSelectionList/Attribute/Attribute.js.map +0 -1
  76. package/dist/components/AttributesSelectionList/Attribute/index.d.ts +0 -2
  77. package/dist/components/AttributesSelectionList/Attribute/index.js +0 -6
  78. package/dist/components/AttributesSelectionList/Attribute/index.js.map +0 -1
  79. package/dist/components/AttributesSelectionList/AttributesSelectionList.d.ts +0 -10
  80. package/dist/components/AttributesSelectionList/AttributesSelectionList.js +0 -72
  81. package/dist/components/AttributesSelectionList/AttributesSelectionList.js.map +0 -1
  82. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.d.ts +0 -7
  83. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js +0 -39
  84. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js.map +0 -1
  85. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.d.ts +0 -2
  86. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js +0 -6
  87. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js.map +0 -1
  88. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.d.ts +0 -2
  89. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js +0 -63
  90. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js.map +0 -1
  91. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.d.ts +0 -2
  92. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js +0 -6
  93. package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js.map +0 -1
  94. package/dist/components/AttributesSelectionList/_types.d.ts +0 -8
  95. package/dist/components/AttributesSelectionList/_types.js +0 -2
  96. package/dist/components/AttributesSelectionList/_types.js.map +0 -1
  97. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.d.ts +0 -3
  98. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js +0 -9
  99. package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js.map +0 -1
  100. package/dist/components/AttributesSelectionList/index.d.ts +0 -2
  101. package/dist/components/AttributesSelectionList/index.js +0 -6
  102. package/dist/components/AttributesSelectionList/index.js.map +0 -1
  103. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.d.ts +0 -11
  104. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js +0 -10
  105. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js.map +0 -1
  106. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.d.ts +0 -33
  107. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js +0 -77
  108. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js.map +0 -1
  109. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.d.ts +0 -10
  110. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js +0 -8
  111. package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js.map +0 -1
  112. package/dist/components/AttributesSelectionList/sharedComponents.d.ts +0 -809
  113. package/dist/components/AttributesSelectionList/sharedComponents.js +0 -16
  114. package/dist/components/AttributesSelectionList/sharedComponents.js.map +0 -1
  115. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.d.ts +0 -10
  116. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js +0 -39
  117. package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js.map +0 -1
  118. package/dist/components/DeactivateRecordsModal/index.d.ts +0 -1
  119. package/dist/components/DeactivateRecordsModal/index.js +0 -5
  120. package/dist/components/DeactivateRecordsModal/index.js.map +0 -1
  121. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.d.ts +0 -13
  122. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js +0 -50
  123. package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js.map +0 -1
  124. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.d.ts +0 -2
  125. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js +0 -6
  126. package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js.map +0 -1
  127. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.d.ts +0 -2
  128. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js +0 -80
  129. package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js.map +0 -1
  130. package/dist/components/LibraryItemsList/DisplayOptions/index.d.ts +0 -2
  131. package/dist/components/LibraryItemsList/DisplayOptions/index.js +0 -6
  132. package/dist/components/LibraryItemsList/DisplayOptions/index.js.map +0 -1
  133. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.d.ts +0 -2
  134. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js +0 -22
  135. package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js.map +0 -1
  136. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.d.ts +0 -2
  137. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js +0 -6
  138. package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js.map +0 -1
  139. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.d.ts +0 -13
  140. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js +0 -229
  141. package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js.map +0 -1
  142. package/dist/components/LibraryItemsList/FiltersDropdown/index.d.ts +0 -2
  143. package/dist/components/LibraryItemsList/FiltersDropdown/index.js +0 -6
  144. package/dist/components/LibraryItemsList/FiltersDropdown/index.js.map +0 -1
  145. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.d.ts +0 -11
  146. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +0 -328
  147. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +0 -1
  148. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.d.ts +0 -7
  149. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js +0 -90
  150. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js.map +0 -1
  151. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.d.ts +0 -2
  152. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js +0 -6
  153. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js.map +0 -1
  154. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.d.ts +0 -3
  155. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js +0 -13
  156. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js.map +0 -1
  157. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.d.ts +0 -2
  158. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js +0 -6
  159. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js.map +0 -1
  160. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.d.ts +0 -3
  161. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js +0 -26
  162. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js.map +0 -1
  163. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.d.ts +0 -2
  164. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js +0 -6
  165. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js.map +0 -1
  166. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.d.ts +0 -3
  167. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js +0 -22
  168. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js.map +0 -1
  169. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.d.ts +0 -2
  170. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js +0 -6
  171. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js.map +0 -1
  172. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.d.ts +0 -3
  173. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js +0 -35
  174. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js.map +0 -1
  175. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.d.ts +0 -2
  176. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js +0 -6
  177. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js.map +0 -1
  178. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.d.ts +0 -3
  179. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js +0 -34
  180. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js.map +0 -1
  181. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.d.ts +0 -2
  182. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js +0 -6
  183. package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js.map +0 -1
  184. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.d.ts +0 -2
  185. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js +0 -16
  186. package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js.map +0 -1
  187. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.d.ts +0 -2
  188. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js +0 -6
  189. package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js.map +0 -1
  190. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.d.ts +0 -8
  191. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js +0 -11
  192. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js.map +0 -1
  193. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.d.ts +0 -2
  194. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js +0 -6
  195. package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js.map +0 -1
  196. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.d.ts +0 -6
  197. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js +0 -38
  198. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js.map +0 -1
  199. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.d.ts +0 -2
  200. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js +0 -6
  201. package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js.map +0 -1
  202. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.d.ts +0 -14
  203. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js +0 -147
  204. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js.map +0 -1
  205. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.d.ts +0 -2
  206. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js +0 -121
  207. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js.map +0 -1
  208. package/dist/components/LibraryItemsList/FiltersPanel/index.d.ts +0 -2
  209. package/dist/components/LibraryItemsList/FiltersPanel/index.js +0 -6
  210. package/dist/components/LibraryItemsList/FiltersPanel/index.js.map +0 -1
  211. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.d.ts +0 -3
  212. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js +0 -17
  213. package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js.map +0 -1
  214. package/dist/components/LibraryItemsList/IconViewType/IconViewType.d.ts +0 -8
  215. package/dist/components/LibraryItemsList/IconViewType/IconViewType.js +0 -18
  216. package/dist/components/LibraryItemsList/IconViewType/IconViewType.js.map +0 -1
  217. package/dist/components/LibraryItemsList/IconViewType/index.d.ts +0 -2
  218. package/dist/components/LibraryItemsList/IconViewType/index.js +0 -6
  219. package/dist/components/LibraryItemsList/IconViewType/index.js.map +0 -1
  220. package/dist/components/LibraryItemsList/LibraryItemsList.d.ts +0 -14
  221. package/dist/components/LibraryItemsList/LibraryItemsList.js +0 -18
  222. package/dist/components/LibraryItemsList/LibraryItemsList.js.map +0 -1
  223. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.d.ts +0 -16
  224. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js +0 -202
  225. package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js.map +0 -1
  226. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.d.ts +0 -2
  227. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js +0 -6
  228. package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js.map +0 -1
  229. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.d.ts +0 -6
  230. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js +0 -32
  231. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js.map +0 -1
  232. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.d.ts +0 -2
  233. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js +0 -6
  234. package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js.map +0 -1
  235. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.d.ts +0 -2
  236. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js +0 -21
  237. package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js.map +0 -1
  238. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.d.ts +0 -2
  239. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js +0 -6
  240. package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js.map +0 -1
  241. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.d.ts +0 -8
  242. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js +0 -56
  243. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js.map +0 -1
  244. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.d.ts +0 -2
  245. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js +0 -6
  246. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js.map +0 -1
  247. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.d.ts +0 -7
  248. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js +0 -54
  249. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js.map +0 -1
  250. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.d.ts +0 -2
  251. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js +0 -6
  252. package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js.map +0 -1
  253. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.d.ts +0 -8
  254. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js +0 -66
  255. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js.map +0 -1
  256. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.d.ts +0 -2
  257. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js +0 -6
  258. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js.map +0 -1
  259. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.d.ts +0 -8
  260. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js +0 -59
  261. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js.map +0 -1
  262. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.d.ts +0 -9
  263. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js +0 -56
  264. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js.map +0 -1
  265. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.d.ts +0 -2
  266. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js +0 -6
  267. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js.map +0 -1
  268. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.d.ts +0 -5
  269. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js +0 -34
  270. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js.map +0 -1
  271. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.d.ts +0 -2
  272. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js +0 -6
  273. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js.map +0 -1
  274. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.d.ts +0 -5
  275. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js +0 -23
  276. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js.map +0 -1
  277. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.d.ts +0 -3
  278. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js +0 -80
  279. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js.map +0 -1
  280. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.d.ts +0 -2
  281. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js +0 -6
  282. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js.map +0 -1
  283. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.d.ts +0 -2
  284. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js +0 -6
  285. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js.map +0 -1
  286. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.d.ts +0 -12
  287. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js +0 -11
  288. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js.map +0 -1
  289. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.d.ts +0 -12
  290. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js +0 -2
  291. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js.map +0 -1
  292. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.d.ts +0 -2
  293. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js +0 -40
  294. package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js.map +0 -1
  295. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.d.ts +0 -6
  296. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js +0 -81
  297. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js.map +0 -1
  298. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.d.ts +0 -2
  299. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js +0 -6
  300. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js.map +0 -1
  301. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.d.ts +0 -9
  302. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js +0 -142
  303. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js.map +0 -1
  304. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.d.ts +0 -2
  305. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js +0 -6
  306. package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js.map +0 -1
  307. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.d.ts +0 -2
  308. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js +0 -232
  309. package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js.map +0 -1
  310. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.d.ts +0 -2
  311. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js +0 -6
  312. package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js.map +0 -1
  313. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.d.ts +0 -9
  314. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js +0 -27
  315. package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js.map +0 -1
  316. package/dist/components/LibraryItemsList/MenuItemList/index.d.ts +0 -2
  317. package/dist/components/LibraryItemsList/MenuItemList/index.js +0 -6
  318. package/dist/components/LibraryItemsList/MenuItemList/index.js.map +0 -1
  319. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.d.ts +0 -2
  320. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js +0 -62
  321. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js.map +0 -1
  322. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.d.ts +0 -2
  323. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js +0 -6
  324. package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js.map +0 -1
  325. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.d.ts +0 -5
  326. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js +0 -139
  327. package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js.map +0 -1
  328. package/dist/components/LibraryItemsList/MenuItemListSelected/index.d.ts +0 -2
  329. package/dist/components/LibraryItemsList/MenuItemListSelected/index.js +0 -6
  330. package/dist/components/LibraryItemsList/MenuItemListSelected/index.js.map +0 -1
  331. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.d.ts +0 -2
  332. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js +0 -58
  333. package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js.map +0 -1
  334. package/dist/components/LibraryItemsList/MenuSelection/index.d.ts +0 -2
  335. package/dist/components/LibraryItemsList/MenuSelection/index.js +0 -6
  336. package/dist/components/LibraryItemsList/MenuSelection/index.js.map +0 -1
  337. package/dist/components/LibraryItemsList/MenuView/MenuView.d.ts +0 -6
  338. package/dist/components/LibraryItemsList/MenuView/MenuView.js +0 -162
  339. package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +0 -1
  340. package/dist/components/LibraryItemsList/MenuView/index.d.ts +0 -2
  341. package/dist/components/LibraryItemsList/MenuView/index.js +0 -6
  342. package/dist/components/LibraryItemsList/MenuView/index.js.map +0 -1
  343. package/dist/components/LibraryItemsList/SearchItems/SearchItems.d.ts +0 -2
  344. package/dist/components/LibraryItemsList/SearchItems/SearchItems.js +0 -21
  345. package/dist/components/LibraryItemsList/SearchItems/SearchItems.js.map +0 -1
  346. package/dist/components/LibraryItemsList/SearchItems/index.d.ts +0 -2
  347. package/dist/components/LibraryItemsList/SearchItems/index.js +0 -6
  348. package/dist/components/LibraryItemsList/SearchItems/index.js.map +0 -1
  349. package/dist/components/LibraryItemsList/Sidebar/Sidebar.d.ts +0 -2
  350. package/dist/components/LibraryItemsList/Sidebar/Sidebar.js +0 -58
  351. package/dist/components/LibraryItemsList/Sidebar/Sidebar.js.map +0 -1
  352. package/dist/components/LibraryItemsList/Sidebar/index.d.ts +0 -2
  353. package/dist/components/LibraryItemsList/Sidebar/index.js +0 -6
  354. package/dist/components/LibraryItemsList/Sidebar/index.js.map +0 -1
  355. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.d.ts +0 -6
  356. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js +0 -199
  357. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js.map +0 -1
  358. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.d.ts +0 -2
  359. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js +0 -6
  360. package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js.map +0 -1
  361. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.d.ts +0 -2
  362. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js +0 -50
  363. package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js.map +0 -1
  364. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.d.ts +0 -3
  365. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js +0 -11
  366. package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js.map +0 -1
  367. package/dist/components/LibraryItemsList/TileDisplay/index.d.ts +0 -2
  368. package/dist/components/LibraryItemsList/TileDisplay/index.js +0 -6
  369. package/dist/components/LibraryItemsList/TileDisplay/index.js.map +0 -1
  370. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.d.ts +0 -2
  371. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js +0 -66
  372. package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js.map +0 -1
  373. package/dist/components/LibraryItemsList/VersionsPanel/index.d.ts +0 -2
  374. package/dist/components/LibraryItemsList/VersionsPanel/index.js +0 -6
  375. package/dist/components/LibraryItemsList/VersionsPanel/index.js.map +0 -1
  376. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.d.ts +0 -9
  377. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js +0 -85
  378. package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js.map +0 -1
  379. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.d.ts +0 -2
  380. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js +0 -6
  381. package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js.map +0 -1
  382. package/dist/components/LibraryItemsList/ViewPanel/View/View.d.ts +0 -7
  383. package/dist/components/LibraryItemsList/ViewPanel/View/View.js +0 -152
  384. package/dist/components/LibraryItemsList/ViewPanel/View/View.js.map +0 -1
  385. package/dist/components/LibraryItemsList/ViewPanel/View/index.d.ts +0 -2
  386. package/dist/components/LibraryItemsList/ViewPanel/View/index.js +0 -6
  387. package/dist/components/LibraryItemsList/ViewPanel/View/index.js.map +0 -1
  388. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.d.ts +0 -2
  389. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js +0 -209
  390. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js.map +0 -1
  391. package/dist/components/LibraryItemsList/ViewPanel/index.d.ts +0 -2
  392. package/dist/components/LibraryItemsList/ViewPanel/index.js +0 -6
  393. package/dist/components/LibraryItemsList/ViewPanel/index.js.map +0 -1
  394. package/dist/components/LibraryItemsList/constants.d.ts +0 -12
  395. package/dist/components/LibraryItemsList/constants.js +0 -19
  396. package/dist/components/LibraryItemsList/constants.js.map +0 -1
  397. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.d.ts +0 -3
  398. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js +0 -21
  399. package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js.map +0 -1
  400. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.d.ts +0 -3
  401. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js +0 -18
  402. package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js.map +0 -1
  403. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.d.ts +0 -4
  404. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js +0 -64
  405. package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js.map +0 -1
  406. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.d.ts +0 -5
  407. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js +0 -40
  408. package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js.map +0 -1
  409. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.d.ts +0 -6
  410. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js +0 -10
  411. package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js.map +0 -1
  412. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.d.ts +0 -2
  413. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js +0 -13
  414. package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js.map +0 -1
  415. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.d.ts +0 -2
  416. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js +0 -18
  417. package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js.map +0 -1
  418. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.d.ts +0 -8
  419. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js +0 -99
  420. package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js.map +0 -1
  421. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.d.ts +0 -82
  422. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js +0 -2
  423. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js.map +0 -1
  424. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.d.ts +0 -2
  425. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js +0 -6
  426. package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js.map +0 -1
  427. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.d.ts +0 -7
  428. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js +0 -7
  429. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js.map +0 -1
  430. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.d.ts +0 -121
  431. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js +0 -228
  432. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js.map +0 -1
  433. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.d.ts +0 -5
  434. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js +0 -8
  435. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js.map +0 -1
  436. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.d.ts +0 -7
  437. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js +0 -40
  438. package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js.map +0 -1
  439. package/dist/components/LibraryItemsList/index.d.ts +0 -1
  440. package/dist/components/LibraryItemsList/index.js +0 -5
  441. package/dist/components/LibraryItemsList/index.js.map +0 -1
  442. package/dist/components/LibraryItemsList/manageItems.d.ts +0 -11
  443. package/dist/components/LibraryItemsList/manageItems.js +0 -98
  444. package/dist/components/LibraryItemsList/manageItems.js.map +0 -1
  445. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.d.ts +0 -7
  446. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js +0 -38
  447. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js.map +0 -1
  448. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.d.ts +0 -2
  449. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js +0 -6
  450. package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js.map +0 -1
  451. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.d.ts +0 -12
  452. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js +0 -29
  453. package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js.map +0 -1
  454. package/dist/components/LibraryItemsList/shared/sharedUtils.d.ts +0 -4
  455. package/dist/components/LibraryItemsList/shared/sharedUtils.js +0 -9
  456. package/dist/components/LibraryItemsList/shared/sharedUtils.js.map +0 -1
@@ -2,9 +2,8 @@
2
2
  // This file is released under LGPL V3
3
3
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
4
  import { isTypeLink } from '@leav/utils';
5
- import { defaultLinkAttributeFilterFormat } from '../components/LibraryItemsList/constants';
6
5
  import { AttributeConditionFilter, FilterType, TreeConditionFilter, } from '../types/search';
7
- import { AttributeType, RecordFilterCondition } from '../_gqlTypes';
6
+ import { AttributeFormat, AttributeType, RecordFilterCondition } from '../_gqlTypes';
8
7
  const _isConditionWithNoValue = (condition) => condition === RecordFilterCondition.IS_EMPTY ||
9
8
  condition === RecordFilterCondition.IS_NOT_EMPTY ||
10
9
  condition === RecordFilterCondition.LAST_MONTH ||
@@ -44,7 +43,7 @@ export const getFiltersFromRequest = (queryFilters, library, attributes) => {
44
43
  const linkedAttribute = attributes.find(attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === linkedAttributeId);
45
44
  filter.attribute = {
46
45
  ...linkedAttribute,
47
- parentAttribute: { ...rootAttribute, format: defaultLinkAttributeFilterFormat },
46
+ parentAttribute: { ...rootAttribute, format: AttributeFormat.text },
48
47
  };
49
48
  }
50
49
  else {
@@ -57,7 +56,7 @@ export const getFiltersFromRequest = (queryFilters, library, attributes) => {
57
56
  // Only root attribute => search on tree
58
57
  filter.attribute = {
59
58
  ...rootAttribute,
60
- format: defaultLinkAttributeFilterFormat,
59
+ format: AttributeFormat.text,
61
60
  };
62
61
  }
63
62
  else if (libraryId && !linkedTreeAttribute) {
@@ -65,7 +64,7 @@ export const getFiltersFromRequest = (queryFilters, library, attributes) => {
65
64
  filter.type = FilterType.LIBRARY;
66
65
  filter.parentAttribute = {
67
66
  ...rootAttribute,
68
- format: defaultLinkAttributeFilterFormat,
67
+ format: AttributeFormat.text,
69
68
  };
70
69
  filter.library = {
71
70
  id: libraryId,
@@ -87,7 +86,7 @@ export const getFiltersFromRequest = (queryFilters, library, attributes) => {
87
86
  .library.label
88
87
  : null,
89
88
  },
90
- parentAttribute: { ...rootAttribute, format: defaultLinkAttributeFilterFormat },
89
+ parentAttribute: { ...rootAttribute, format: AttributeFormat.text },
91
90
  };
92
91
  }
93
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getFiltersFromRequest.js","sourceRoot":"","sources":["../../src/_utils/getFiltersFromRequest.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\n\nimport {isTypeLink} from '@leav/utils';\nimport {defaultLinkAttributeFilterFormat} from '_ui/components/LibraryItemsList/constants';\nimport {\n AttributeConditionFilter,\n FilterType,\n type IAttribute,\n type IFilter,\n type IFilterAttribute,\n type IFilterLibrary,\n type IFilterTree,\n TreeConditionFilter,\n} from '_ui/types/search';\nimport {AttributeType, RecordFilterCondition, type RecordFilterInput} from '_ui/_gqlTypes';\n\nconst _isConditionWithNoValue = (condition: RecordFilterCondition): boolean =>\n condition === RecordFilterCondition.IS_EMPTY ||\n condition === RecordFilterCondition.IS_NOT_EMPTY ||\n condition === RecordFilterCondition.LAST_MONTH ||\n condition === RecordFilterCondition.NEXT_MONTH ||\n condition === RecordFilterCondition.TODAY ||\n condition === RecordFilterCondition.TOMORROW ||\n condition === RecordFilterCondition.YESTERDAY;\n\nexport const getFiltersFromRequest = (\n queryFilters: RecordFilterInput[],\n library: string,\n attributes: IAttribute[],\n): IFilter[] => {\n let filters: IFilter[] = [];\n\n for (const queryFilter of queryFilters) {\n const isConditionWithNoValue = _isConditionWithNoValue(queryFilter.condition);\n\n if (queryFilter.value || isConditionWithNoValue) {\n const splitKey = queryFilter.field.split('.');\n\n const filter: IFilter = {\n type: queryFilter.condition in TreeConditionFilter ? FilterType.TREE : FilterType.ATTRIBUTE,\n index: filters.length,\n key: queryFilter.field,\n value: !isConditionWithNoValue\n ? {\n value:\n queryFilter.condition === AttributeConditionFilter.BETWEEN\n ? String(JSON.parse(queryFilter.value))\n : queryFilter.value,\n }\n : null,\n active: true,\n condition:\n AttributeConditionFilter[queryFilter.condition] || TreeConditionFilter[queryFilter.condition],\n };\n\n // Get root attribute by first key part\n const rootAttribute = attributes.find(attr => attr.library === library && attr.id === splitKey[0]);\n\n if (rootAttribute) {\n if (rootAttribute.type === AttributeType.simple || rootAttribute.type === AttributeType.advanced) {\n (filter as IFilterAttribute).attribute = rootAttribute;\n }\n\n if (isTypeLink(rootAttribute.type)) {\n const [, linkedAttributeId] = splitKey;\n if (linkedAttributeId) {\n const linkedAttribute = attributes.find(\n attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === linkedAttributeId,\n );\n\n (filter as IFilterAttribute).attribute = {\n ...linkedAttribute,\n parentAttribute: {...rootAttribute, format: defaultLinkAttributeFilterFormat},\n };\n } else {\n (filter as IFilterAttribute).attribute = rootAttribute;\n }\n }\n\n if (rootAttribute.type === AttributeType.tree) {\n const [, libraryId, linkedTreeAttribute] = splitKey;\n\n if (!libraryId && !linkedTreeAttribute) {\n // Only root attribute => search on tree\n (filter as IFilterAttribute).attribute = {\n ...rootAttribute,\n format: defaultLinkAttributeFilterFormat,\n };\n } else if (libraryId && !linkedTreeAttribute) {\n // Search on tree library\n filter.type = FilterType.LIBRARY;\n (filter as IFilterLibrary).parentAttribute = {\n ...rootAttribute,\n format: defaultLinkAttributeFilterFormat,\n };\n (filter as IFilterLibrary).library = {\n id: libraryId,\n label:\n rootAttribute.linkedTree.libraries.filter(l => l.library.id === libraryId)?.[0].library\n .label ?? null,\n };\n } else {\n // Search on linked attribute through tree attribute\n const linkedAttribute = attributes.find(\n attr => attr.library === libraryId && attr.id === linkedTreeAttribute,\n );\n\n (filter as IFilterAttribute).attribute = linkedAttribute;\n (filter as IFilterAttribute).parentTreeLibrary = {\n ...filter,\n type: FilterType.LIBRARY,\n library: {\n id: libraryId,\n label: rootAttribute?.linkedTree?.libraries\n ? rootAttribute.linkedTree.libraries.filter(l => l.library.id === libraryId)?.[0]\n .library.label\n : null,\n },\n parentAttribute: {...rootAttribute, format: defaultLinkAttributeFilterFormat},\n };\n }\n }\n } else if (queryFilter.condition in TreeConditionFilter) {\n (filter as IFilterTree).tree = {id: queryFilter.treeId};\n }\n\n filters = [...filters, filter];\n }\n }\n\n return filters;\n};\n"]}
1
+ {"version":3,"file":"getFiltersFromRequest.js","sourceRoot":"","sources":["../../src/_utils/getFiltersFromRequest.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\n\nimport {isTypeLink} from '@leav/utils';\nimport {\n AttributeConditionFilter,\n FilterType,\n type IAttribute,\n type IFilter,\n type IFilterAttribute,\n type IFilterLibrary,\n type IFilterTree,\n TreeConditionFilter,\n} from '_ui/types/search';\nimport {AttributeFormat, AttributeType, RecordFilterCondition, type RecordFilterInput} from '_ui/_gqlTypes';\n\nconst _isConditionWithNoValue = (condition: RecordFilterCondition): boolean =>\n condition === RecordFilterCondition.IS_EMPTY ||\n condition === RecordFilterCondition.IS_NOT_EMPTY ||\n condition === RecordFilterCondition.LAST_MONTH ||\n condition === RecordFilterCondition.NEXT_MONTH ||\n condition === RecordFilterCondition.TODAY ||\n condition === RecordFilterCondition.TOMORROW ||\n condition === RecordFilterCondition.YESTERDAY;\n\nexport const getFiltersFromRequest = (\n queryFilters: RecordFilterInput[],\n library: string,\n attributes: IAttribute[],\n): IFilter[] => {\n let filters: IFilter[] = [];\n\n for (const queryFilter of queryFilters) {\n const isConditionWithNoValue = _isConditionWithNoValue(queryFilter.condition);\n\n if (queryFilter.value || isConditionWithNoValue) {\n const splitKey = queryFilter.field.split('.');\n\n const filter: IFilter = {\n type: queryFilter.condition in TreeConditionFilter ? FilterType.TREE : FilterType.ATTRIBUTE,\n index: filters.length,\n key: queryFilter.field,\n value: !isConditionWithNoValue\n ? {\n value:\n queryFilter.condition === AttributeConditionFilter.BETWEEN\n ? String(JSON.parse(queryFilter.value))\n : queryFilter.value,\n }\n : null,\n active: true,\n condition:\n AttributeConditionFilter[queryFilter.condition] || TreeConditionFilter[queryFilter.condition],\n };\n\n // Get root attribute by first key part\n const rootAttribute = attributes.find(attr => attr.library === library && attr.id === splitKey[0]);\n\n if (rootAttribute) {\n if (rootAttribute.type === AttributeType.simple || rootAttribute.type === AttributeType.advanced) {\n (filter as IFilterAttribute).attribute = rootAttribute;\n }\n\n if (isTypeLink(rootAttribute.type)) {\n const [, linkedAttributeId] = splitKey;\n if (linkedAttributeId) {\n const linkedAttribute = attributes.find(\n attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === linkedAttributeId,\n );\n\n (filter as IFilterAttribute).attribute = {\n ...linkedAttribute,\n parentAttribute: {...rootAttribute, format: AttributeFormat.text},\n };\n } else {\n (filter as IFilterAttribute).attribute = rootAttribute;\n }\n }\n\n if (rootAttribute.type === AttributeType.tree) {\n const [, libraryId, linkedTreeAttribute] = splitKey;\n\n if (!libraryId && !linkedTreeAttribute) {\n // Only root attribute => search on tree\n (filter as IFilterAttribute).attribute = {\n ...rootAttribute,\n format: AttributeFormat.text,\n };\n } else if (libraryId && !linkedTreeAttribute) {\n // Search on tree library\n filter.type = FilterType.LIBRARY;\n (filter as IFilterLibrary).parentAttribute = {\n ...rootAttribute,\n format: AttributeFormat.text,\n };\n (filter as IFilterLibrary).library = {\n id: libraryId,\n label:\n rootAttribute.linkedTree.libraries.filter(l => l.library.id === libraryId)?.[0].library\n .label ?? null,\n };\n } else {\n // Search on linked attribute through tree attribute\n const linkedAttribute = attributes.find(\n attr => attr.library === libraryId && attr.id === linkedTreeAttribute,\n );\n\n (filter as IFilterAttribute).attribute = linkedAttribute;\n (filter as IFilterAttribute).parentTreeLibrary = {\n ...filter,\n type: FilterType.LIBRARY,\n library: {\n id: libraryId,\n label: rootAttribute?.linkedTree?.libraries\n ? rootAttribute.linkedTree.libraries.filter(l => l.library.id === libraryId)?.[0]\n .library.label\n : null,\n },\n parentAttribute: {...rootAttribute, format: AttributeFormat.text},\n };\n }\n }\n } else if (queryFilter.condition in TreeConditionFilter) {\n (filter as IFilterTree).tree = {id: queryFilter.treeId};\n }\n\n filters = [...filters, filter];\n }\n }\n\n return filters;\n};\n"]}
@@ -3,9 +3,8 @@
3
3
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
4
  import { gql } from '@apollo/client';
5
5
  import { isTypeLink, objectToNameValueArray, omit } from '@leav/utils';
6
- import { defaultLinkAttributeFilterFormat } from '../components/LibraryItemsList/constants';
7
6
  import { PreviewSize } from '../constants';
8
- import { AttributeType, } from '../_gqlTypes';
7
+ import { AttributeFormat, AttributeType, } from '../_gqlTypes';
9
8
  import { getFiltersFromRequest } from './getFiltersFromRequest';
10
9
  import dayjs from 'dayjs';
11
10
  import utc from 'dayjs/plugin/utc';
@@ -107,7 +106,7 @@ export const getAttributeFromKey = (key, library, attributes) => {
107
106
  if (isTypeLink(rootAttribute.type)) {
108
107
  if (splitKey[1]) {
109
108
  const linkedAttribute = attributes.find(attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === splitKey[1]);
110
- return { ...linkedAttribute, parentAttribute: { ...rootAttribute, format: defaultLinkAttributeFilterFormat } };
109
+ return { ...linkedAttribute, parentAttribute: { ...rootAttribute, format: AttributeFormat.text } };
111
110
  }
112
111
  return rootAttribute;
113
112
  }
@@ -115,7 +114,7 @@ export const getAttributeFromKey = (key, library, attributes) => {
115
114
  const [, libraryId, linkedTreeAttribute] = splitKey;
116
115
  if (!libraryId && !linkedTreeAttribute) {
117
116
  // Only root attribute => search on tree
118
- return { ...rootAttribute, format: defaultLinkAttributeFilterFormat };
117
+ return { ...rootAttribute, format: AttributeFormat.text };
119
118
  }
120
119
  else if (libraryId && !linkedTreeAttribute) {
121
120
  return rootAttribute;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {gql} from '@apollo/client';\nimport {type IDateRangeValue, isTypeLink, objectToNameValueArray, omit, type WithTypename} from '@leav/utils';\nimport {type TFunction} from 'i18next';\nimport {type SyntheticEvent} from 'react';\nimport {defaultLinkAttributeFilterFormat} from '_ui/components/LibraryItemsList/constants';\nimport {PreviewSize} from '_ui/constants';\nimport {type IAttribute} from '_ui/types/search';\nimport {type IValueVersion} from '_ui/types/values';\nimport {type IView} from '_ui/types/views';\nimport {\n AttributeType,\n type PermissionsActions,\n type RecordFilterInput,\n type RecordIdentityFragment,\n type useIsAllowedQuery,\n type ValueDetailsFragment,\n type ValueVersionInput,\n type ViewDetailsFragment,\n} from '_ui/_gqlTypes';\nimport {getFiltersFromRequest} from './getFiltersFromRequest';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\n\ndayjs.extend(utc);\n\nexport const arrayValueVersionToObject = (version: ValueDetailsFragment['version']): IValueVersion =>\n version?.reduce((acc: IValueVersion, value) => {\n acc[value.treeId] = {\n id: value.treeNode.id,\n label: value.treeNode.record.whoAmI.label,\n };\n\n return acc;\n }, {});\n\nexport const objectValueVersionToArray = (version: IValueVersion): ValueVersionInput[] =>\n version\n ? objectToNameValueArray(version).map(v => ({\n treeId: v.name,\n treeNodeId: v?.value?.id ?? null,\n }))\n : null;\n\nexport const extractPermissionFromQuery = (\n queryResult: ReturnType<typeof useIsAllowedQuery>,\n action: PermissionsActions,\n fallbackPermission = false,\n): boolean =>\n !queryResult.loading && !queryResult.error\n ? (queryResult.data?.isAllowed?.find(permission => permission.name === action)?.allowed ?? fallbackPermission)\n : fallbackPermission;\n\nexport const getPreviewSize = (size?: PreviewSize, simplistic = false) => {\n if (simplistic) {\n return '1.2rem';\n }\n\n switch (size) {\n case PreviewSize.MEDIUM:\n return '3.5rem';\n case PreviewSize.BIG:\n return '6rem';\n case PreviewSize.SMALL:\n return '2.5rem';\n case PreviewSize.TINY:\n return '1.7rem';\n default:\n return '2rem';\n }\n};\n\nexport const setDateToUTCNoon = (date: dayjs.Dayjs): dayjs.Dayjs =>\n date.set('hour', 12).set('minute', 0).set('second', 0).set('millisecond', 0);\n\nexport const getTreeRecordKey = (record: RecordIdentityFragment): string => `${record.whoAmI.library.id}/${record.id}`;\n\nexport const getValueVersionLabel = (version: IValueVersion) =>\n Object.values(version ?? {})\n .map(v => v.label)\n .join(' / ');\n\nexport const stringifyDateRangeValue = (value: IDateRangeValue, t: TFunction): string =>\n t('record_edition.date_range_value', {\n ...value,\n interpolation: {escapeValue: false},\n });\n\n/**\n * Cloning gql template tag because some apollo tools like query validation and codegen won't be happy if we use\n * interpolation in template strings. With a different tag name, the query won't be parsed by these tools\n * thus they won't complain about it.\n * It works exactly the same at runtime.\n */\nexport const gqlUnchecked = gql;\n\nexport const getPropertyCacheFieldName = (attributeId: string): string => `property({\"attribute\":\"${attributeId}\"})`;\n\n/**\n * Prepare view coming from the server to be used in the app\n */\nexport const prepareView = (\n view: WithTypename<ViewDetailsFragment>,\n attributes: IAttribute[],\n libraryId: string,\n userId: string,\n): IView => {\n const viewFilters: RecordFilterInput[] = (view?.filters ?? []).map(filter => ({\n ...filter,\n treeId: filter.tree?.id,\n }));\n\n const viewValuesVersions = (view?.valuesVersions ?? []).map(version => ({\n ...version,\n treeNode: {\n ...version.treeNode,\n title: version.treeNode.record.whoAmI.label,\n },\n }));\n\n return {\n ...omit(view, 'created_by', '__typename'),\n owner: view.created_by.id === userId,\n filters: getFiltersFromRequest(viewFilters, libraryId, attributes),\n sort: (view.sort ?? []).map(s => ({\n field: s.field,\n order: s.order,\n })),\n display: omit(view.display, '__typename') as ViewDetailsFragment['display'],\n valuesVersions: viewValuesVersions.reduce((versions: IValueVersion, version): IValueVersion => {\n versions[version.treeId] = {\n id: version.treeNode.id,\n label: version.treeNode.record.whoAmI.label,\n };\n\n return versions;\n }, {}),\n attributes: (view.attributes ?? []).map(attr => attr.id),\n };\n};\nexport const getAttributeFromKey = (key: string, library: string, attributes: IAttribute[]): IAttribute | undefined => {\n const splitKey = key.split('.');\n\n // Get root attribute by first key part\n const rootAttribute = attributes.find(attr => attr.library === library && attr.id === splitKey[0]);\n\n if (!rootAttribute) {\n return;\n }\n\n if (rootAttribute.type === AttributeType.simple || rootAttribute.type === AttributeType.advanced) {\n return rootAttribute;\n }\n\n if (isTypeLink(rootAttribute.type)) {\n if (splitKey[1]) {\n const linkedAttribute = attributes.find(\n attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === splitKey[1],\n );\n\n return {...linkedAttribute, parentAttribute: {...rootAttribute, format: defaultLinkAttributeFilterFormat}};\n }\n\n return rootAttribute;\n }\n\n if (rootAttribute.type === AttributeType.tree) {\n const [, libraryId, linkedTreeAttribute] = splitKey;\n\n if (!libraryId && !linkedTreeAttribute) {\n // Only root attribute => search on tree\n return {...rootAttribute, format: defaultLinkAttributeFilterFormat};\n } else if (libraryId && !linkedTreeAttribute) {\n return rootAttribute;\n }\n\n const linkedAttribute = attributes.find(attr => attr.library === splitKey[1] && attr.id === splitKey[2]);\n\n return linkedAttribute;\n }\n};\n\nexport const stopEvent = (e: SyntheticEvent) => {\n e.stopPropagation();\n e.preventDefault();\n};\n\nexport const reorder = (list: any[], startIndex: number, endIndex: number) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.filter(element => !!element);\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {gql} from '@apollo/client';\nimport {type IDateRangeValue, isTypeLink, objectToNameValueArray, omit, type WithTypename} from '@leav/utils';\nimport {type TFunction} from 'i18next';\nimport {type SyntheticEvent} from 'react';\nimport {PreviewSize} from '_ui/constants';\nimport {type IAttribute} from '_ui/types/search';\nimport {type IValueVersion} from '_ui/types/values';\nimport {type IView} from '_ui/types/views';\nimport {\n AttributeFormat,\n AttributeType,\n type PermissionsActions,\n type RecordFilterInput,\n type RecordIdentityFragment,\n type useIsAllowedQuery,\n type ValueDetailsFragment,\n type ValueVersionInput,\n type ViewDetailsFragment,\n} from '_ui/_gqlTypes';\nimport {getFiltersFromRequest} from './getFiltersFromRequest';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\n\ndayjs.extend(utc);\n\nexport const arrayValueVersionToObject = (version: ValueDetailsFragment['version']): IValueVersion =>\n version?.reduce((acc: IValueVersion, value) => {\n acc[value.treeId] = {\n id: value.treeNode.id,\n label: value.treeNode.record.whoAmI.label,\n };\n\n return acc;\n }, {});\n\nexport const objectValueVersionToArray = (version: IValueVersion): ValueVersionInput[] =>\n version\n ? objectToNameValueArray(version).map(v => ({\n treeId: v.name,\n treeNodeId: v?.value?.id ?? null,\n }))\n : null;\n\nexport const extractPermissionFromQuery = (\n queryResult: ReturnType<typeof useIsAllowedQuery>,\n action: PermissionsActions,\n fallbackPermission = false,\n): boolean =>\n !queryResult.loading && !queryResult.error\n ? (queryResult.data?.isAllowed?.find(permission => permission.name === action)?.allowed ?? fallbackPermission)\n : fallbackPermission;\n\nexport const getPreviewSize = (size?: PreviewSize, simplistic = false) => {\n if (simplistic) {\n return '1.2rem';\n }\n\n switch (size) {\n case PreviewSize.MEDIUM:\n return '3.5rem';\n case PreviewSize.BIG:\n return '6rem';\n case PreviewSize.SMALL:\n return '2.5rem';\n case PreviewSize.TINY:\n return '1.7rem';\n default:\n return '2rem';\n }\n};\n\nexport const setDateToUTCNoon = (date: dayjs.Dayjs): dayjs.Dayjs =>\n date.set('hour', 12).set('minute', 0).set('second', 0).set('millisecond', 0);\n\nexport const getTreeRecordKey = (record: RecordIdentityFragment): string => `${record.whoAmI.library.id}/${record.id}`;\n\nexport const getValueVersionLabel = (version: IValueVersion) =>\n Object.values(version ?? {})\n .map(v => v.label)\n .join(' / ');\n\nexport const stringifyDateRangeValue = (value: IDateRangeValue, t: TFunction): string =>\n t('record_edition.date_range_value', {\n ...value,\n interpolation: {escapeValue: false},\n });\n\n/**\n * Cloning gql template tag because some apollo tools like query validation and codegen won't be happy if we use\n * interpolation in template strings. With a different tag name, the query won't be parsed by these tools\n * thus they won't complain about it.\n * It works exactly the same at runtime.\n */\nexport const gqlUnchecked = gql;\n\nexport const getPropertyCacheFieldName = (attributeId: string): string => `property({\"attribute\":\"${attributeId}\"})`;\n\n/**\n * Prepare view coming from the server to be used in the app\n */\nexport const prepareView = (\n view: WithTypename<ViewDetailsFragment>,\n attributes: IAttribute[],\n libraryId: string,\n userId: string,\n): IView => {\n const viewFilters: RecordFilterInput[] = (view?.filters ?? []).map(filter => ({\n ...filter,\n treeId: filter.tree?.id,\n }));\n\n const viewValuesVersions = (view?.valuesVersions ?? []).map(version => ({\n ...version,\n treeNode: {\n ...version.treeNode,\n title: version.treeNode.record.whoAmI.label,\n },\n }));\n\n return {\n ...omit(view, 'created_by', '__typename'),\n owner: view.created_by.id === userId,\n filters: getFiltersFromRequest(viewFilters, libraryId, attributes),\n sort: (view.sort ?? []).map(s => ({\n field: s.field,\n order: s.order,\n })),\n display: omit(view.display, '__typename') as ViewDetailsFragment['display'],\n valuesVersions: viewValuesVersions.reduce((versions: IValueVersion, version): IValueVersion => {\n versions[version.treeId] = {\n id: version.treeNode.id,\n label: version.treeNode.record.whoAmI.label,\n };\n\n return versions;\n }, {}),\n attributes: (view.attributes ?? []).map(attr => attr.id),\n };\n};\nexport const getAttributeFromKey = (key: string, library: string, attributes: IAttribute[]): IAttribute | undefined => {\n const splitKey = key.split('.');\n\n // Get root attribute by first key part\n const rootAttribute = attributes.find(attr => attr.library === library && attr.id === splitKey[0]);\n\n if (!rootAttribute) {\n return;\n }\n\n if (rootAttribute.type === AttributeType.simple || rootAttribute.type === AttributeType.advanced) {\n return rootAttribute;\n }\n\n if (isTypeLink(rootAttribute.type)) {\n if (splitKey[1]) {\n const linkedAttribute = attributes.find(\n attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === splitKey[1],\n );\n\n return {...linkedAttribute, parentAttribute: {...rootAttribute, format: AttributeFormat.text}};\n }\n\n return rootAttribute;\n }\n\n if (rootAttribute.type === AttributeType.tree) {\n const [, libraryId, linkedTreeAttribute] = splitKey;\n\n if (!libraryId && !linkedTreeAttribute) {\n // Only root attribute => search on tree\n return {...rootAttribute, format: AttributeFormat.text};\n } else if (libraryId && !linkedTreeAttribute) {\n return rootAttribute;\n }\n\n const linkedAttribute = attributes.find(attr => attr.library === splitKey[1] && attr.id === splitKey[2]);\n\n return linkedAttribute;\n }\n};\n\nexport const stopEvent = (e: SyntheticEvent) => {\n e.stopPropagation();\n e.preventDefault();\n};\n\nexport const reorder = (list: any[], startIndex: number, endIndex: number) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.filter(element => !!element);\n};\n"]}
@@ -1,2 +1,7 @@
1
1
  import { type WithTypename } from '@leav/utils';
2
+ import { type RecordFormElementsValueTreeValue, type RecordFormElementAttribute, type RecordFormElementsValue, type RecordFormElementsValueLinkValue } from '../hooks/useGetRecordForm';
2
3
  export declare const hasTypename: <T>(value: any) => value is WithTypename<T>;
4
+ export declare const isRecordFormElementsValueLinkValue: (value: RecordFormElementsValue, attribute: RecordFormElementAttribute) => value is RecordFormElementsValueLinkValue;
5
+ export declare const isRecordFormElementsValueLinkValues: (values: RecordFormElementsValue[], attribute: RecordFormElementAttribute) => values is RecordFormElementsValueLinkValue[];
6
+ export declare const isRecordFormElementsValuesTreeValue: (value: RecordFormElementsValue, attribute: RecordFormElementAttribute) => value is RecordFormElementsValueTreeValue;
7
+ export declare const isRecordFormElementsValuesTreeValues: (values: RecordFormElementsValue[], attribute: RecordFormElementAttribute) => values is RecordFormElementsValueTreeValue[];
@@ -1,2 +1,8 @@
1
+ import { AttributeType } from '../_gqlTypes';
1
2
  export const hasTypename = (value) => '__typename' in value;
3
+ export const isRecordFormElementsValueLinkValue = (value, attribute) => attribute.type === AttributeType.simple_link ||
4
+ (attribute.type === AttributeType.advanced_link && attribute.multiple_values === false);
5
+ export const isRecordFormElementsValueLinkValues = (values, attribute) => attribute.type === AttributeType.advanced_link && attribute.multiple_values === true;
6
+ export const isRecordFormElementsValuesTreeValue = (value, attribute) => attribute.type === AttributeType.tree && attribute.multiple_values === false;
7
+ export const isRecordFormElementsValuesTreeValues = (values, attribute) => attribute.type === AttributeType.tree && attribute.multiple_values === true;
2
8
  //# sourceMappingURL=typeguards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeguards.js","sourceRoot":"","sources":["../../src/_utils/typeguards.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAU,EAA4B,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type WithTypename} from '@leav/utils';\n\nexport const hasTypename = <T>(value: any): value is WithTypename<T> => '__typename' in value;\n"]}
1
+ {"version":3,"file":"typeguards.js","sourceRoot":"","sources":["../../src/_utils/typeguards.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAQ5C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAU,EAA4B,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC;AAE9F,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAC9C,KAA8B,EAC9B,SAAqC,EACI,EAAE,CAC3C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW;IAC5C,CAAC,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,aAAa,IAAI,SAAS,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAC/C,MAAiC,EACjC,SAAqC,EACO,EAAE,CAC9C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,aAAa,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,CAAC;AAEzF,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAC/C,KAA8B,EAC9B,SAAqC,EACI,EAAE,CAC3C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,SAAS,CAAC,eAAe,KAAK,KAAK,CAAC;AAEjF,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAChD,MAAiC,EACjC,SAAqC,EACO,EAAE,CAC9C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type WithTypename} from '@leav/utils';\nimport {AttributeType} from '_ui/_gqlTypes';\nimport {\n type RecordFormElementsValueTreeValue,\n type RecordFormElementAttribute,\n type RecordFormElementsValue,\n type RecordFormElementsValueLinkValue,\n} from '_ui/hooks/useGetRecordForm';\n\nexport const hasTypename = <T>(value: any): value is WithTypename<T> => '__typename' in value;\n\nexport const isRecordFormElementsValueLinkValue = (\n value: RecordFormElementsValue,\n attribute: RecordFormElementAttribute,\n): value is RecordFormElementsValueLinkValue =>\n attribute.type === AttributeType.simple_link ||\n (attribute.type === AttributeType.advanced_link && attribute.multiple_values === false);\n\nexport const isRecordFormElementsValueLinkValues = (\n values: RecordFormElementsValue[],\n attribute: RecordFormElementAttribute,\n): values is RecordFormElementsValueLinkValue[] =>\n attribute.type === AttributeType.advanced_link && attribute.multiple_values === true;\n\nexport const isRecordFormElementsValuesTreeValue = (\n value: RecordFormElementsValue,\n attribute: RecordFormElementAttribute,\n): value is RecordFormElementsValueTreeValue =>\n attribute.type === AttributeType.tree && attribute.multiple_values === false;\n\nexport const isRecordFormElementsValuesTreeValues = (\n values: RecordFormElementsValue[],\n attribute: RecordFormElementAttribute,\n): values is RecordFormElementsValueTreeValue[] =>\n attribute.type === AttributeType.tree && attribute.multiple_values === true;\n"]}
@@ -4,6 +4,7 @@ import { ViewSettingsActionTypes } from './../store-view-settings/viewSettingsRe
4
4
  import { useViewSettingsContext } from './../store-view-settings/useViewSettingsContext';
5
5
  import { SelectVisibleAttributes } from './attributes/SelectVisibleAttributes';
6
6
  import { SelectViewType } from './view-type/SelectViewType';
7
+ import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
7
8
  const StyledWrapperDiv = styled.div `
8
9
  display: flex;
9
10
  flex-direction: column;
@@ -15,7 +16,11 @@ const StyledWrapperDiv = styled.div `
15
16
  `;
16
17
  export const ConfigureDisplay = ({ libraryId }) => {
17
18
  const { view, dispatch } = useViewSettingsContext();
19
+ const { t } = useSharedTranslation();
18
20
  const _handleViewTypeChange = event => {
21
+ dispatch({
22
+ type: ViewSettingsActionTypes.RESTORE_INITIAL_VIEW_SETTINGS,
23
+ });
19
24
  dispatch({
20
25
  type: ViewSettingsActionTypes.CHANGE_VIEW_TYPE,
21
26
  payload: {
@@ -23,6 +28,6 @@ export const ConfigureDisplay = ({ libraryId }) => {
23
28
  },
24
29
  });
25
30
  };
26
- return (_jsxs(StyledWrapperDiv, { children: [_jsx(SelectViewType, { value: view.viewType, onChange: _handleViewTypeChange }), view.viewType === 'table' && _jsx(SelectVisibleAttributes, { libraryId: libraryId })] }));
31
+ return (_jsxs(StyledWrapperDiv, { children: [_jsx(SelectViewType, { value: view.viewType, onChange: _handleViewTypeChange }), view.viewType === 'table' && (_jsx(SelectVisibleAttributes, { mainTitle: t('explorer.columns'), visibleListTitle: t('explorer.visible-columns'), invisibleListTitle: t('explorer.invisible-columns'), libraryId: libraryId })), view.viewType === 'timeline' && (_jsx(SelectVisibleAttributes, { mainTitle: t('explorer.available-attributes-for-users'), visibleListTitle: t('explorer.visible-attributes'), invisibleListTitle: t('explorer.invisible-attributes'), libraryId: libraryId }))] }));
27
32
  };
28
33
  //# sourceMappingURL=ConfigureDisplay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigureDisplay.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.tsx"],"names":[],"mappings":";AAIA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,uBAAuB,EAAC,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAC,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;CAQlC,CAAC;AAMF,MAAM,CAAC,MAAM,gBAAgB,GAA8C,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE;IACvF,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,sBAAsB,EAAE,CAAC;IAElD,MAAM,qBAAqB,GAAgC,KAAK,CAAC,EAAE;QAC/D,QAAQ,CAAC;YACL,IAAI,EAAE,uBAAuB,CAAC,gBAAgB;YAC9C,OAAO,EAAE;gBACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;aAC/B;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,MAAC,gBAAgB,eACb,KAAC,cAAc,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,GAAI,EACxE,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAC,uBAAuB,IAAC,SAAS,EAAE,SAAS,GAAI,IAChE,CACtB,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {type RadioGroupProps} from 'aristid-ds/dist/Kit/DataEntry/Radio';\nimport {ViewSettingsActionTypes} from './../store-view-settings/viewSettingsReducer';\nimport {useViewSettingsContext} from './../store-view-settings/useViewSettingsContext';\nimport {SelectVisibleAttributes} from './attributes/SelectVisibleAttributes';\nimport {SelectViewType} from './view-type/SelectViewType';\n\nconst StyledWrapperDiv = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n\n .ant-radio-wrapper {\n padding: calc(var(--general-spacing-xs) * 1px);\n }\n`;\n\ninterface IConfigureDisplayProps {\n libraryId: string;\n}\n\nexport const ConfigureDisplay: FunctionComponent<IConfigureDisplayProps> = ({libraryId}) => {\n const {view, dispatch} = useViewSettingsContext();\n\n const _handleViewTypeChange: RadioGroupProps['onChange'] = event => {\n dispatch({\n type: ViewSettingsActionTypes.CHANGE_VIEW_TYPE,\n payload: {\n viewType: event.target.value,\n },\n });\n };\n\n return (\n <StyledWrapperDiv>\n <SelectViewType value={view.viewType} onChange={_handleViewTypeChange} />\n {view.viewType === 'table' && <SelectVisibleAttributes libraryId={libraryId} />}\n </StyledWrapperDiv>\n );\n};\n"]}
1
+ {"version":3,"file":"ConfigureDisplay.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.tsx"],"names":[],"mappings":";AAIA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,uBAAuB,EAAC,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAC,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;CAQlC,CAAC;AAMF,MAAM,CAAC,MAAM,gBAAgB,GAA8C,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE;IACvF,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,sBAAsB,EAAE,CAAC;IAClD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,qBAAqB,GAAgC,KAAK,CAAC,EAAE;QAC/D,QAAQ,CAAC;YACL,IAAI,EAAE,uBAAuB,CAAC,6BAA6B;SAC9D,CAAC,CAAC;QACH,QAAQ,CAAC;YACL,IAAI,EAAE,uBAAuB,CAAC,gBAAgB;YAC9C,OAAO,EAAE;gBACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;aAC/B;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,MAAC,gBAAgB,eACb,KAAC,cAAc,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,GAAI,EACxE,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,CAC1B,KAAC,uBAAuB,IACpB,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChC,gBAAgB,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAC/C,kBAAkB,EAAE,CAAC,CAAC,4BAA4B,CAAC,EACnD,SAAS,EAAE,SAAS,GACtB,CACL,EACA,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,CAC7B,KAAC,uBAAuB,IACpB,SAAS,EAAE,CAAC,CAAC,yCAAyC,CAAC,EACvD,gBAAgB,EAAE,CAAC,CAAC,6BAA6B,CAAC,EAClD,kBAAkB,EAAE,CAAC,CAAC,+BAA+B,CAAC,EACtD,SAAS,EAAE,SAAS,GACtB,CACL,IACc,CACtB,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {type RadioGroupProps} from 'aristid-ds/dist/Kit/DataEntry/Radio';\nimport {ViewSettingsActionTypes} from './../store-view-settings/viewSettingsReducer';\nimport {useViewSettingsContext} from './../store-view-settings/useViewSettingsContext';\nimport {SelectVisibleAttributes} from './attributes/SelectVisibleAttributes';\nimport {SelectViewType} from './view-type/SelectViewType';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\n\nconst StyledWrapperDiv = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n\n .ant-radio-wrapper {\n padding: calc(var(--general-spacing-xs) * 1px);\n }\n`;\n\ninterface IConfigureDisplayProps {\n libraryId: string;\n}\n\nexport const ConfigureDisplay: FunctionComponent<IConfigureDisplayProps> = ({libraryId}) => {\n const {view, dispatch} = useViewSettingsContext();\n const {t} = useSharedTranslation();\n\n const _handleViewTypeChange: RadioGroupProps['onChange'] = event => {\n dispatch({\n type: ViewSettingsActionTypes.RESTORE_INITIAL_VIEW_SETTINGS,\n });\n dispatch({\n type: ViewSettingsActionTypes.CHANGE_VIEW_TYPE,\n payload: {\n viewType: event.target.value,\n },\n });\n };\n\n return (\n <StyledWrapperDiv>\n <SelectViewType value={view.viewType} onChange={_handleViewTypeChange} />\n {view.viewType === 'table' && (\n <SelectVisibleAttributes\n mainTitle={t('explorer.columns')}\n visibleListTitle={t('explorer.visible-columns')}\n invisibleListTitle={t('explorer.invisible-columns')}\n libraryId={libraryId}\n />\n )}\n {view.viewType === 'timeline' && (\n <SelectVisibleAttributes\n mainTitle={t('explorer.available-attributes-for-users')}\n visibleListTitle={t('explorer.visible-attributes')}\n invisibleListTitle={t('explorer.invisible-attributes')}\n libraryId={libraryId}\n />\n )}\n </StyledWrapperDiv>\n );\n};\n"]}
@@ -1,6 +1,9 @@
1
1
  import { type FunctionComponent } from 'react';
2
2
  interface ISelectVisibleAttributesProps {
3
3
  libraryId: string;
4
+ mainTitle: string;
5
+ visibleListTitle: string;
6
+ invisibleListTitle: string;
4
7
  }
5
8
  export declare const SelectVisibleAttributes: FunctionComponent<ISelectVisibleAttributesProps>;
6
9
  export {};
@@ -23,9 +23,9 @@ const StyledList = styled.ul `
23
23
  list-style: none;
24
24
  color: var(--general-utilities-text-primary);
25
25
  `;
26
- const visibleListTitle = 'visibleListTitle';
27
- const invisibleListTitle = 'invisibleListTitle';
28
- export const SelectVisibleAttributes = ({ libraryId }) => {
26
+ const visibleListTitleId = 'visibleListTitle';
27
+ const invisibleListTitleId = 'invisibleListTitle';
28
+ export const SelectVisibleAttributes = ({ libraryId, mainTitle, visibleListTitle, invisibleListTitle, }) => {
29
29
  const { t } = useSharedTranslation();
30
30
  const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
31
31
  coordinateGetter: sortableKeyboardCoordinates,
@@ -47,9 +47,9 @@ export const SelectVisibleAttributes = ({ libraryId }) => {
47
47
  }
48
48
  dispatch({ type: ViewSettingsActionTypes.MOVE_ATTRIBUTE, payload: { indexFrom, indexTo } });
49
49
  };
50
- return (_jsxs("div", { children: [_jsx(KitTypography.Title, { level: "h4", children: t('explorer.columns') }), _jsx(KitInput, { placeholder: String(t('global.search')), onChange: onSearchChanged, allowClear: true }), _jsx(StyledListTitle, { id: visibleListTitle, children: t('explorer.visible-columns') }), _jsx(StyledList, { "aria-labelledby": visibleListTitle, children: _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: _handleDragEnd, children: _jsxs(SortableContext, { items: orderedVisibleColumns, strategy: verticalListSortingStrategy, children: [_jsx(ColumnItem, { itemId: "", title: t('record_edition.whoAmI'), visible: false, locked: true }), orderedVisibleColumns
50
+ return (_jsxs("div", { children: [_jsx(KitTypography.Title, { level: "h4", children: mainTitle }), _jsx(KitInput, { placeholder: String(t('global.search')), onChange: onSearchChanged, allowClear: true }), _jsx(StyledListTitle, { id: visibleListTitleId, children: visibleListTitle }), _jsx(StyledList, { "aria-labelledby": visibleListTitleId, children: _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: _handleDragEnd, children: _jsxs(SortableContext, { items: orderedVisibleColumns, strategy: verticalListSortingStrategy, children: [_jsx(ColumnItem, { itemId: "", title: t('record_edition.whoAmI'), visible: false, locked: true }), orderedVisibleColumns
51
51
  .filter(columnId => searchFilteredColumnsIds.includes(columnId))
52
- .map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, title: attributeDetailsById[columnId].label, visible: true, onVisibilityClick: _toggleColumnVisibility(columnId), dragHandler: _jsx(FontAwesomeIcon, { icon: faGripLines }) }, columnId)))] }) }) }), _jsx(StyledListTitle, { id: invisibleListTitle, children: t('explorer.invisible-columns') }), _jsx(StyledList, { "aria-labelledby": invisibleListTitle, children: searchFilteredColumnsIds
52
+ .map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, title: attributeDetailsById[columnId].label, visible: true, onVisibilityClick: _toggleColumnVisibility(columnId), dragHandler: _jsx(FontAwesomeIcon, { icon: faGripLines }) }, columnId)))] }) }) }), _jsx(StyledListTitle, { id: invisibleListTitleId, children: invisibleListTitle }), _jsx(StyledList, { "aria-labelledby": invisibleListTitleId, children: searchFilteredColumnsIds
53
53
  .filter(columnId => !orderedVisibleColumns.includes(columnId))
54
54
  .map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, visible: false, title: attributeDetailsById[columnId].label, onVisibilityClick: _toggleColumnVisibility(columnId) }, attributeDetailsById[columnId].id))) })] }));
55
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SelectVisibleAttributes.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAEnD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EACH,aAAa,EACb,UAAU,EAEV,cAAc,EACd,aAAa,EACb,SAAS,EACT,UAAU,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,eAAe,EAAE,2BAA2B,EAAE,2BAA2B,EAAC,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAC,sBAAsB,EAAC,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAC,uBAAuB,EAAC,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAE9D,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGjC,CAAC;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;CAK3B,CAAC;AAEF,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAMhD,MAAM,CAAC,MAAM,uBAAuB,GAAqD,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE;IACrG,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,UAAU,CACtB,SAAS,CAAC,aAAa,CAAC,EACxB,SAAS,CAAC,cAAc,EAAE;QACtB,gBAAgB,EAAE,2BAA2B;KAChD,CAAC,CACL,CAAC;IAEF,gCAAgC;IAChC,MAAM,EACF,IAAI,EAAE,EAAC,aAAa,EAAE,qBAAqB,EAAC,EAC5C,QAAQ,GACX,GAAG,sBAAsB,EAAE,CAAC;IAE7B,MAAM,EAAC,oBAAoB,EAAE,wBAAwB,EAAE,eAAe,EAAC,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAE7G,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,GAAG,EAAE;QACvD,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvD,CAAC,CAAC,uBAAuB,CAAC,gBAAgB;YAC1C,CAAC,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAE5C,QAAQ,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAC,WAAW,EAAE,QAAQ,EAAC,EAAC,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,EAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAe,EAAE,EAAE;QAChF,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,IAAI,SAAS,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO;QACX,CAAC;QAED,QAAQ,CAAC,EAAC,IAAI,EAAE,uBAAuB,CAAC,cAAc,EAAE,OAAO,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,EAAC,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEF,OAAO,CACH,0BACI,KAAC,aAAa,CAAC,KAAK,IAAC,KAAK,EAAC,IAAI,YAAE,CAAC,CAAC,kBAAkB,CAAC,GAAuB,EAC7E,KAAC,QAAQ,IAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,SAAG,EAC3F,KAAC,eAAe,IAAC,EAAE,EAAE,gBAAgB,YAAG,CAAC,CAAC,0BAA0B,CAAC,GAAmB,EACxF,KAAC,UAAU,uBAAkB,gBAAgB,YACzC,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,YACtF,MAAC,eAAe,IAAC,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,2BAA2B,aAChF,KAAC,UAAU,IAAC,MAAM,EAAC,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAG,EACjF,qBAAqB;iCACjB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;iCAC/D,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CACb,KAAC,UAAU,IAEP,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EAAE,EACzC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,KAAK,EAC3C,OAAO,QACP,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,CAAC,EACpD,WAAW,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,WAAW,GAAI,IAL9C,QAAQ,CAMf,CACL,CAAC,IACQ,GACT,GACJ,EACb,KAAC,eAAe,IAAC,EAAE,EAAE,kBAAkB,YAAG,CAAC,CAAC,4BAA4B,CAAC,GAAmB,EAC5F,KAAC,UAAU,uBAAkB,kBAAkB,YAC1C,wBAAwB;qBACpB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAC7D,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CACb,KAAC,UAAU,IAEP,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EAAE,EACzC,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,KAAK,EAC3C,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAJ/C,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAKxC,CACL,CAAC,GACG,IACX,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {KitInput, KitTypography} from 'aristid-ds';\nimport {type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {ColumnItem} from '../../_shared/ColumnItem';\nimport {ViewSettingsActionTypes} from '../../store-view-settings/viewSettingsReducer';\nimport {useViewSettingsContext} from '../../store-view-settings/useViewSettingsContext';\nimport {useAttributeDetailsData} from '../../_shared/useAttributeDetailsData';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faGripLines} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListTitle = styled.div`\n margin-top: calc(var(--general-spacing-s) * 1px);\n font-weight: var(--general-typography-boldFontWeight);\n`;\n\nconst StyledList = styled.ul`\n padding: 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst visibleListTitle = 'visibleListTitle';\nconst invisibleListTitle = 'invisibleListTitle';\n\ninterface ISelectVisibleAttributesProps {\n libraryId: string;\n}\n\nexport const SelectVisibleAttributes: FunctionComponent<ISelectVisibleAttributesProps> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n // TODO: make naming great again\n const {\n view: {attributesIds: orderedVisibleColumns},\n dispatch,\n } = useViewSettingsContext();\n\n const {attributeDetailsById, searchFilteredColumnsIds, onSearchChanged} = useAttributeDetailsData(libraryId);\n\n const _toggleColumnVisibility = (columnId: string) => () => {\n const actionType = orderedVisibleColumns.includes(columnId)\n ? ViewSettingsActionTypes.REMOVE_ATTRIBUTE\n : ViewSettingsActionTypes.ADD_ATTRIBUTE;\n\n dispatch({type: actionType, payload: {attributeId: columnId}});\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = orderedVisibleColumns.indexOf(String(draggedElement.id));\n const indexTo = orderedVisibleColumns.indexOf(String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_ATTRIBUTE, payload: {indexFrom, indexTo}});\n };\n\n return (\n <div>\n <KitTypography.Title level=\"h4\">{t('explorer.columns')}</KitTypography.Title>\n <KitInput placeholder={String(t('global.search'))} onChange={onSearchChanged} allowClear />\n <StyledListTitle id={visibleListTitle}>{t('explorer.visible-columns')}</StyledListTitle>\n <StyledList aria-labelledby={visibleListTitle}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext items={orderedVisibleColumns} strategy={verticalListSortingStrategy}>\n <ColumnItem itemId=\"\" title={t('record_edition.whoAmI')} visible={false} locked />\n {orderedVisibleColumns\n .filter(columnId => searchFilteredColumnsIds.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={columnId}\n itemId={attributeDetailsById[columnId].id}\n title={attributeDetailsById[columnId].label}\n visible\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n dragHandler={<FontAwesomeIcon icon={faGripLines} />}\n />\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n <StyledListTitle id={invisibleListTitle}>{t('explorer.invisible-columns')}</StyledListTitle>\n <StyledList aria-labelledby={invisibleListTitle}>\n {searchFilteredColumnsIds\n .filter(columnId => !orderedVisibleColumns.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={attributeDetailsById[columnId].id}\n itemId={attributeDetailsById[columnId].id}\n visible={false}\n title={attributeDetailsById[columnId].label}\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n />\n ))}\n </StyledList>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SelectVisibleAttributes.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {KitInput, KitTypography} from 'aristid-ds';\nimport {type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {ColumnItem} from '../../_shared/ColumnItem';\nimport {ViewSettingsActionTypes} from '../../store-view-settings/viewSettingsReducer';\nimport {useViewSettingsContext} from '../../store-view-settings/useViewSettingsContext';\nimport {useAttributeDetailsData} from '../../_shared/useAttributeDetailsData';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faGripLines} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListTitle = styled.div`\n margin-top: calc(var(--general-spacing-s) * 1px);\n font-weight: var(--general-typography-boldFontWeight);\n`;\n\nconst StyledList = styled.ul`\n padding: 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst visibleListTitleId = 'visibleListTitle';\nconst invisibleListTitleId = 'invisibleListTitle';\n\ninterface ISelectVisibleAttributesProps {\n libraryId: string;\n mainTitle: string;\n visibleListTitle: string;\n invisibleListTitle: string;\n}\n\nexport const SelectVisibleAttributes: FunctionComponent<ISelectVisibleAttributesProps> = ({\n libraryId,\n mainTitle,\n visibleListTitle,\n invisibleListTitle,\n}) => {\n const {t} = useSharedTranslation();\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n // TODO: make naming great again\n const {\n view: {attributesIds: orderedVisibleColumns},\n dispatch,\n } = useViewSettingsContext();\n\n const {attributeDetailsById, searchFilteredColumnsIds, onSearchChanged} = useAttributeDetailsData(libraryId);\n\n const _toggleColumnVisibility = (columnId: string) => () => {\n const actionType = orderedVisibleColumns.includes(columnId)\n ? ViewSettingsActionTypes.REMOVE_ATTRIBUTE\n : ViewSettingsActionTypes.ADD_ATTRIBUTE;\n\n dispatch({type: actionType, payload: {attributeId: columnId}});\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = orderedVisibleColumns.indexOf(String(draggedElement.id));\n const indexTo = orderedVisibleColumns.indexOf(String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_ATTRIBUTE, payload: {indexFrom, indexTo}});\n };\n\n return (\n <div>\n <KitTypography.Title level=\"h4\">{mainTitle}</KitTypography.Title>\n <KitInput placeholder={String(t('global.search'))} onChange={onSearchChanged} allowClear />\n <StyledListTitle id={visibleListTitleId}>{visibleListTitle}</StyledListTitle>\n <StyledList aria-labelledby={visibleListTitleId}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext items={orderedVisibleColumns} strategy={verticalListSortingStrategy}>\n <ColumnItem itemId=\"\" title={t('record_edition.whoAmI')} visible={false} locked />\n {orderedVisibleColumns\n .filter(columnId => searchFilteredColumnsIds.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={columnId}\n itemId={attributeDetailsById[columnId].id}\n title={attributeDetailsById[columnId].label}\n visible\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n dragHandler={<FontAwesomeIcon icon={faGripLines} />}\n />\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n <StyledListTitle id={invisibleListTitleId}>{invisibleListTitle}</StyledListTitle>\n <StyledList aria-labelledby={invisibleListTitleId}>\n {searchFilteredColumnsIds\n .filter(columnId => !orderedVisibleColumns.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={attributeDetailsById[columnId].id}\n itemId={attributeDetailsById[columnId].id}\n visible={false}\n title={attributeDetailsById[columnId].label}\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n />\n ))}\n </StyledList>\n </div>\n );\n};\n"]}
@@ -71,8 +71,8 @@ export const FilterItems = ({ libraryId }) => {
71
71
  });
72
72
  };
73
73
  const _handleDragEnd = ({ active: draggedElement, over: dropTarget }) => {
74
- const indexFrom = activeFilters.findIndex(({ field }) => field === String(draggedElement.id));
75
- const indexTo = activeFilters.findIndex(({ field }) => field === String(dropTarget?.id));
74
+ const indexFrom = activeFilters.findIndex(({ field }) => Array.isArray(field) ? field.includes(String(draggedElement.id)) : field === String(draggedElement.id));
75
+ const indexTo = activeFilters.findIndex(({ field }) => Array.isArray(field) ? field.includes(String(dropTarget?.id)) : field === String(dropTarget?.id));
76
76
  if (!dropTarget || indexFrom === indexTo || indexTo === -1) {
77
77
  return;
78
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faSearch} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n smartFilter: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].smart_filter ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) => field === String(draggedElement.id));\n const indexTo = activeFilters.findIndex(({field}) => field === String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye icon={faEye} />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FontAwesomeIcon icon={faSearch} />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash icon={faEyeSlash} />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
1
+ {"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faSearch} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n smartFilter: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].smart_filter ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) =>\n Array.isArray(field) ? field.includes(String(draggedElement.id)) : field === String(draggedElement.id),\n );\n const indexTo = activeFilters.findIndex(({field}) =>\n Array.isArray(field) ? field.includes(String(dropTarget?.id)) : field === String(dropTarget?.id),\n );\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye icon={faEye} />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FontAwesomeIcon icon={faSearch} />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash icon={faEyeSlash} />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
@@ -33,19 +33,22 @@ export const useViewSettingsReducer = (entrypoint, defaultViewSettings = {}, ign
33
33
  /**
34
34
  * On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`
35
35
  */
36
- useExplorerLinkAttributeQuery({
36
+ const { data: linkAttributeData } = useExplorerLinkAttributeQuery({
37
37
  skip: entrypoint.type !== 'link',
38
38
  variables: {
39
39
  id: entrypoint.linkAttributeId,
40
40
  },
41
- onCompleted: data => {
42
- const attributeData = data?.attributes?.list?.[0];
43
- if (!attributeData) {
44
- throw new Error('Unknown link attribute');
45
- }
46
- setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);
47
- },
48
41
  });
42
+ useEffect(() => {
43
+ if (entrypoint.type !== 'link') {
44
+ return;
45
+ }
46
+ const attributeData = linkAttributeData?.attributes?.list?.[0];
47
+ if (!attributeData) {
48
+ return;
49
+ }
50
+ setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);
51
+ }, [entrypoint, linkAttributeData]);
49
52
  const {
50
53
  /**
51
54
  * List of my views and shared views
@@ -1 +1 @@
1
- {"version":3,"file":"useViewSettingsReducer.js","sourceRoot":"","sources":["../../../src/components/Explorer/useViewSettingsReducer.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/D,OAAO,EAEH,0BAA0B,EAC1B,6BAA6B,EAC7B,oBAAoB,EACpB,SAAS,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,+BAA+B,EAAC,MAAM,cAAc,CAAC;AAC7D,OAAO,EAEH,eAAe,EACf,wBAAwB,EACxB,mBAAmB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEH,sBAAsB,EACtB,mBAAmB,GACtB,MAAM,4CAA4C,CAAC;AAEpD,MAAM,cAAc,GAAG,CAAmB,OAAU,EAAE,OAAU,EAAE,EAAE,CAChE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,UAAsB,EACtB,sBAA2C,EAAE,EAC7C,mBAA4B,EAC9B,EAAE;IACA;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;IACnF,MAAM,EAAC,kBAAkB,EAAC,GAAG,eAAe,EAAE,CAAC;IAE/C,yDAAyD;IACzD,MAAM,EAAC,cAAc,EAAC,GAAG,mBAAmB,EAAE,CAAC;IAE/C;;;;OAIG;IACH,MAAM,4BAA4B,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAEjF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,4BAA4B,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1E,kBAAkB,EAAE,CAAC;QACzB,CAAC;IACL,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEnC;;OAEG;IACH,6BAA6B,CAAC;QAC1B,IAAI,EAAE,UAAU,CAAC,IAAI,KAAK,MAAM;QAChC,SAAS,EAAE;YACP,EAAE,EAAG,UAA8B,CAAC,eAAe;SACtD;QACD,WAAW,EAAE,IAAI,CAAC,EAAE;YAChB,MAAM,aAAa,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC;YACD,YAAY,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1G,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM;IACF;;OAEG;IACH,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,SAAS,GACnB,GAAG,oBAAoB,CAAC;QACrB,IAAI,EAAE,SAAS,KAAK,IAAI;QACxB,SAAS,EAAE;YACP,SAAS,EAAE,SAAmB;SACjC;KACJ,CAAC,CAAC;IAEH,IAAI,QAAgE,CAAC;IACrE,IAAI,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACnG,CAAC;IACD,wDAAwD;IACxD,QAAQ,GAAG,QAAQ,IAAI,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,MAAM,eAAe,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAE3F,MAAM,uBAAuB,GAAG,mBAAmB;QAC/C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACI,GAAG,eAAe;YAClB,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC7E,CAAC;IAER,MAAM,sBAAsB,GAAG,cAAc,CAAC,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAEjF,MAAM,mBAAmB,GAAG;QACxB,GAAG,IAAI,GAAG,CACN;YACI,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;YACjC,GAAG,CAAC,mBAAmB,CAAC,IAAI,IAAI,EAAE,CAAC;YACnC,GAAG,uBAAuB;YAC1B,GAAG,CAAC,mBAAmB,EAAE,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC5F,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAC5B;KACJ,CAAC;IAEF,MAAM,EACF,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,eAAe,GACzB,GAAG,0BAA0B,CAAC;QAC3B,SAAS,EAAE;YACP,GAAG,EAAE,mBAAmB;SAC3B;QACD,IAAI,EAAE,SAAS,KAAK,IAAI,IAAI,YAAY,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;KAC/E,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,OAAO,CAC9B,GAAG,EAAE,CACD,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC1E,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,EACV,CAAC,cAAc,CAAC,CACnB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5D,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAC/C,CAAC,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAC,EAAE,EAAE,CAAC,CAAC;gBACtE,EAAE;gBACF,OAAO,EAAE,UAAU,CAAC,EAAE;gBACtB,KAAK;gBACL,MAAM;gBACN,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,EAAC;gBACrE,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC;gBACtC,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;aAC/D,CAAC,CACL,CAAC;YACF;;;eAGG;YACH,MAAM,YAAY,GAAG,mBAAmB,EAAE,IAAI,IAAI,EAAE,CAAC;YACrD,MAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YACxE,MAAM,oBAAoB,GAAG,CAAC,mBAAmB,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1E,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACnC,CAAC;YACF,MAAM,qBAAqB,GAAG,mBAAmB;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjG,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvB,SAAS,GAAG;oBACR,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,IAAI;oBAC5B,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACjC,QAAQ,EAAE,QAAQ,EAAE,OAAO;wBACvB,CAAC,CAAC,+BAA+B,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;wBACxD,CAAC,CAAC,wBAAwB,CAAC,QAAQ;iBAC1C,CAAC;YACN,CAAC;YAED,MAAM,gBAAgB,GAAuB;gBACzC,GAAG,wBAAwB;gBAC3B,UAAU;gBACV,SAAS;gBACT,GAAG,SAAS;gBACZ,UAAU;gBACV,GAAG,mBAAmB;gBACtB,aAAa,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB;gBAC7F,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;qBACzD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACP,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,KAAK,EAAE,CAAC,CAAC,KAAK;iBACjB,CAAC,CAAC;qBACF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAChD,CAAC;YACF,QAAQ,CAAC;gBACL,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE;oBACL,GAAG,gBAAgB;oBACnB,mBAAmB,EAAE;wBACjB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;wBACnC,aAAa,EAAE,gBAAgB,CAAC,aAAa;wBAC7C,IAAI,EAAE,gBAAgB,CAAC,IAAI;wBAC3B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;qBACtC;oBACD,mBAAmB,EAAE;wBACjB,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,IAAI,OAAO;wBACjD,aAAa,EAAE,mBAAmB,CAAC,aAAa,IAAI,EAAE;wBACtD,IAAI,EAAE,mBAAmB,CAAC,IAAI,IAAI,EAAE;qBACvC;iBACJ;aACJ,CAAC,CAAC;YACH,UAAU,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACL,CAAC,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAEjD,OAAO;QACH,OAAO;QACP,KAAK,EAAE,SAAS,IAAI,eAAe;QACnC,IAAI;QACJ,QAAQ;KACX,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useEffect, useMemo, useReducer, useState} from 'react';\nimport {\n type GetViewsListQuery,\n useExplorerAttributesQuery,\n useExplorerLinkAttributeQuery,\n useGetViewsListQuery,\n ViewSizes,\n} from '_ui/_gqlTypes';\nimport {type DefaultViewSettings, type Entrypoint, type IEntrypointLink} from './_types';\nimport {mapViewTypeFromLegacyToExplorer} from './_constants';\nimport {\n type IViewSettingsState,\n useEditSettings,\n viewSettingsInitialState,\n viewSettingsReducer,\n} from './manage-view-settings';\nimport {\n type AttributesById,\n isLinkAttributeDetails,\n useTransformFilters,\n} from '_ui/components/Filters/useTransformFilters';\n\nconst _areDifferents = <T extends object>(object1: T, object2: T) =>\n Object.keys(object1).some(key => object1[key] !== object2[key]);\n\nexport const useViewSettingsReducer = (\n entrypoint: Entrypoint,\n defaultViewSettings: DefaultViewSettings = {},\n ignoreViewByDefault: boolean,\n) => {\n /**\n * Should be `true` during all the warm up, until we `RESET` the view.\n */\n const [loading, setLoading] = useState(true);\n const [libraryId, setLibraryId] = useState(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n const [view, dispatch] = useReducer(viewSettingsReducer, viewSettingsInitialState);\n const {closeSettingsPanel} = useEditSettings();\n\n // FIXME: should be two methods taking `lang` as argument\n const {toValidFilters} = useTransformFilters();\n\n /**\n * We need to check if the `props.entrypoint` has changed to detect a new `props.entrypoint.libraryId`.\n *\n * If `false`, we reload from scratch and close the side panel that contains the views.\n */\n const needToReloadViewsFromScratch = _areDifferents(entrypoint, view.entrypoint);\n\n useEffect(() => {\n if (needToReloadViewsFromScratch) {\n setLoading(true);\n setLibraryId(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n closeSettingsPanel();\n }\n }, [needToReloadViewsFromScratch]);\n\n /**\n * On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`\n */\n useExplorerLinkAttributeQuery({\n skip: entrypoint.type !== 'link',\n variables: {\n id: (entrypoint as IEntrypointLink).linkAttributeId,\n },\n onCompleted: data => {\n const attributeData = data?.attributes?.list?.[0];\n if (!attributeData) {\n throw new Error('Unknown link attribute');\n }\n setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);\n },\n });\n\n const {\n /**\n * List of my views and shared views\n */\n data: viewData,\n loading: viewsLoading,\n error: viewError,\n } = useGetViewsListQuery({\n skip: libraryId === null,\n variables: {\n libraryId: libraryId as string,\n },\n });\n\n let userView: GetViewsListQuery['views']['list'][number] | undefined;\n if (defaultViewSettings?.viewId) {\n userView = viewData?.views?.list?.find(viewItem => viewItem.id === defaultViewSettings.viewId);\n }\n // On still `undefined` view, we take the last added one\n userView = userView ?? viewData?.views?.list?.at(-1);\n\n const userViewFilters = ignoreViewByDefault ? [] : toValidFilters(userView?.filters ?? []);\n\n const userAttributesToHydrate = ignoreViewByDefault\n ? []\n : [\n ...userViewFilters,\n ...(userView?.sort ?? []),\n ...(userView?.attributes?.map(attribute => ({field: attribute.id})) ?? []),\n ];\n\n const preparedDefaultFilters = toValidFilters(defaultViewSettings.filters ?? []);\n\n const attributesToHydrate = [\n ...new Set(\n [\n ...(preparedDefaultFilters ?? []),\n ...(defaultViewSettings.sort ?? []),\n ...userAttributesToHydrate,\n ...(defaultViewSettings?.attributesIds?.map(attributeId => ({field: attributeId})) ?? []),\n ].map(({field}) => field),\n ),\n ];\n\n const {\n data: attributesData,\n loading: attributesLoading,\n error: attributesError,\n } = useExplorerAttributesQuery({\n variables: {\n ids: attributesToHydrate,\n },\n skip: libraryId === null || viewsLoading || attributesToHydrate.length === 0,\n });\n\n const attributesDataById = useMemo(\n () =>\n (attributesData?.attributes?.list ?? []).reduce<AttributesById>((acc, attr) => {\n if (attr.permissions.access_attribute) {\n acc[attr.id] = attr;\n }\n return acc;\n }, {}),\n [attributesData],\n );\n\n useEffect(() => {\n if (libraryId !== null && !viewsLoading && !attributesLoading) {\n const savedViews = (viewData?.views.list ?? []).map(\n ({id, label, shared, display, filters, sort, attributes, created_by}) => ({\n id,\n ownerId: created_by.id,\n label,\n shared,\n display: {type: display.type, size: display.size || ViewSizes.MEDIUM},\n filters: toValidFilters(filters ?? []),\n sort: sort ?? [],\n attributes: attributes?.map(attribute => attribute.id) ?? [],\n }),\n );\n /**\n * Filters merged from `<Explorer />` props and `view`.\n * > Could include hidden filters too.\n */\n const defaultSorts = defaultViewSettings?.sort ?? [];\n const userViewSorts = ignoreViewByDefault ? [] : (userView?.sort ?? []);\n const defaultAttributesIds = (defaultViewSettings?.attributesIds ?? []).filter(\n attr => attributesDataById[attr],\n );\n const userViewAttributesIds = ignoreViewByDefault\n ? []\n : (userView?.attributes ?? []).map(attr => attr.id).filter(attr => attributesDataById[attr]);\n\n let viewProps = {};\n if (!ignoreViewByDefault) {\n viewProps = {\n viewId: userView?.id ?? null,\n viewLabels: userView?.label ?? {},\n viewType: userView?.display\n ? mapViewTypeFromLegacyToExplorer[userView.display.type]\n : viewSettingsInitialState.viewType,\n };\n }\n\n const hydratedSettings: IViewSettingsState = {\n ...viewSettingsInitialState,\n entrypoint,\n libraryId,\n ...viewProps,\n savedViews,\n ...defaultViewSettings,\n attributesIds: defaultAttributesIds.length > 0 ? defaultAttributesIds : userViewAttributesIds,\n sort: (defaultSorts.length > 0 ? defaultSorts : userViewSorts)\n .map(s => ({\n field: s.field,\n order: s.order,\n }))\n .filter(s => attributesDataById[s.field]),\n };\n dispatch({\n type: 'RESET',\n payload: {\n ...hydratedSettings,\n initialViewSettings: {\n viewType: hydratedSettings.viewType,\n attributesIds: hydratedSettings.attributesIds,\n sort: hydratedSettings.sort,\n pageSize: hydratedSettings.pageSize,\n },\n defaultViewSettings: {\n viewType: defaultViewSettings.viewType ?? 'table',\n attributesIds: defaultViewSettings.attributesIds ?? [],\n sort: defaultViewSettings.sort ?? [],\n },\n },\n });\n setLoading(false);\n }\n }, [attributesLoading, viewsLoading, libraryId]);\n\n return {\n loading,\n error: viewError ?? attributesError,\n view,\n dispatch,\n };\n};\n"]}
1
+ {"version":3,"file":"useViewSettingsReducer.js","sourceRoot":"","sources":["../../../src/components/Explorer/useViewSettingsReducer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useEffect, useMemo, useReducer, useState} from 'react';\nimport {\n type GetViewsListQuery,\n useExplorerAttributesQuery,\n useExplorerLinkAttributeQuery,\n useGetViewsListQuery,\n ViewSizes,\n} from '_ui/_gqlTypes';\nimport {type DefaultViewSettings, type Entrypoint, type IEntrypointLink} from './_types';\nimport {mapViewTypeFromLegacyToExplorer} from './_constants';\nimport {\n type IViewSettingsState,\n useEditSettings,\n viewSettingsInitialState,\n viewSettingsReducer,\n} from './manage-view-settings';\nimport {\n type AttributesById,\n isLinkAttributeDetails,\n useTransformFilters,\n} from '_ui/components/Filters/useTransformFilters';\n\nconst _areDifferents = <T extends object>(object1: T, object2: T) =>\n Object.keys(object1).some(key => object1[key] !== object2[key]);\n\nexport const useViewSettingsReducer = (\n entrypoint: Entrypoint,\n defaultViewSettings: DefaultViewSettings = {},\n ignoreViewByDefault: boolean,\n) => {\n /**\n * Should be `true` during all the warm up, until we `RESET` the view.\n */\n const [loading, setLoading] = useState(true);\n const [libraryId, setLibraryId] = useState(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n const [view, dispatch] = useReducer(viewSettingsReducer, viewSettingsInitialState);\n const {closeSettingsPanel} = useEditSettings();\n\n // FIXME: should be two methods taking `lang` as argument\n const {toValidFilters} = useTransformFilters();\n\n /**\n * We need to check if the `props.entrypoint` has changed to detect a new `props.entrypoint.libraryId`.\n *\n * If `false`, we reload from scratch and close the side panel that contains the views.\n */\n const needToReloadViewsFromScratch = _areDifferents(entrypoint, view.entrypoint);\n\n useEffect(() => {\n if (needToReloadViewsFromScratch) {\n setLoading(true);\n setLibraryId(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n closeSettingsPanel();\n }\n }, [needToReloadViewsFromScratch]);\n\n /**\n * On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`\n */\n const {data: linkAttributeData} = useExplorerLinkAttributeQuery({\n skip: entrypoint.type !== 'link',\n variables: {\n id: (entrypoint as IEntrypointLink).linkAttributeId,\n },\n });\n\n useEffect(() => {\n if (entrypoint.type !== 'link') {\n return;\n }\n\n const attributeData = linkAttributeData?.attributes?.list?.[0];\n\n if (!attributeData) {\n return;\n }\n\n setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);\n }, [entrypoint, linkAttributeData]);\n\n const {\n /**\n * List of my views and shared views\n */\n data: viewData,\n loading: viewsLoading,\n error: viewError,\n } = useGetViewsListQuery({\n skip: libraryId === null,\n variables: {\n libraryId: libraryId as string,\n },\n });\n\n let userView: GetViewsListQuery['views']['list'][number] | undefined;\n if (defaultViewSettings?.viewId) {\n userView = viewData?.views?.list?.find(viewItem => viewItem.id === defaultViewSettings.viewId);\n }\n // On still `undefined` view, we take the last added one\n userView = userView ?? viewData?.views?.list?.at(-1);\n\n const userViewFilters = ignoreViewByDefault ? [] : toValidFilters(userView?.filters ?? []);\n\n const userAttributesToHydrate = ignoreViewByDefault\n ? []\n : [\n ...userViewFilters,\n ...(userView?.sort ?? []),\n ...(userView?.attributes?.map(attribute => ({field: attribute.id})) ?? []),\n ];\n\n const preparedDefaultFilters = toValidFilters(defaultViewSettings.filters ?? []);\n\n const attributesToHydrate = [\n ...new Set(\n [\n ...(preparedDefaultFilters ?? []),\n ...(defaultViewSettings.sort ?? []),\n ...userAttributesToHydrate,\n ...(defaultViewSettings?.attributesIds?.map(attributeId => ({field: attributeId})) ?? []),\n ].map(({field}) => field),\n ),\n ];\n\n const {\n data: attributesData,\n loading: attributesLoading,\n error: attributesError,\n } = useExplorerAttributesQuery({\n variables: {\n ids: attributesToHydrate,\n },\n skip: libraryId === null || viewsLoading || attributesToHydrate.length === 0,\n });\n\n const attributesDataById = useMemo(\n () =>\n (attributesData?.attributes?.list ?? []).reduce<AttributesById>((acc, attr) => {\n if (attr.permissions.access_attribute) {\n acc[attr.id] = attr;\n }\n return acc;\n }, {}),\n [attributesData],\n );\n\n useEffect(() => {\n if (libraryId !== null && !viewsLoading && !attributesLoading) {\n const savedViews = (viewData?.views.list ?? []).map(\n ({id, label, shared, display, filters, sort, attributes, created_by}) => ({\n id,\n ownerId: created_by.id,\n label,\n shared,\n display: {type: display.type, size: display.size || ViewSizes.MEDIUM},\n filters: toValidFilters(filters ?? []),\n sort: sort ?? [],\n attributes: attributes?.map(attribute => attribute.id) ?? [],\n }),\n );\n /**\n * Filters merged from `<Explorer />` props and `view`.\n * > Could include hidden filters too.\n */\n const defaultSorts = defaultViewSettings?.sort ?? [];\n const userViewSorts = ignoreViewByDefault ? [] : (userView?.sort ?? []);\n const defaultAttributesIds = (defaultViewSettings?.attributesIds ?? []).filter(\n attr => attributesDataById[attr],\n );\n const userViewAttributesIds = ignoreViewByDefault\n ? []\n : (userView?.attributes ?? []).map(attr => attr.id).filter(attr => attributesDataById[attr]);\n\n let viewProps = {};\n if (!ignoreViewByDefault) {\n viewProps = {\n viewId: userView?.id ?? null,\n viewLabels: userView?.label ?? {},\n viewType: userView?.display\n ? mapViewTypeFromLegacyToExplorer[userView.display.type]\n : viewSettingsInitialState.viewType,\n };\n }\n\n const hydratedSettings: IViewSettingsState = {\n ...viewSettingsInitialState,\n entrypoint,\n libraryId,\n ...viewProps,\n savedViews,\n ...defaultViewSettings,\n attributesIds: defaultAttributesIds.length > 0 ? defaultAttributesIds : userViewAttributesIds,\n sort: (defaultSorts.length > 0 ? defaultSorts : userViewSorts)\n .map(s => ({\n field: s.field,\n order: s.order,\n }))\n .filter(s => attributesDataById[s.field]),\n };\n dispatch({\n type: 'RESET',\n payload: {\n ...hydratedSettings,\n initialViewSettings: {\n viewType: hydratedSettings.viewType,\n attributesIds: hydratedSettings.attributesIds,\n sort: hydratedSettings.sort,\n pageSize: hydratedSettings.pageSize,\n },\n defaultViewSettings: {\n viewType: defaultViewSettings.viewType ?? 'table',\n attributesIds: defaultViewSettings.attributesIds ?? [],\n sort: defaultViewSettings.sort ?? [],\n },\n },\n });\n setLoading(false);\n }\n }, [attributesLoading, viewsLoading, libraryId]);\n\n return {\n loading,\n error: viewError ?? attributesError,\n view,\n dispatch,\n };\n};\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generates recursive GraphQL for tree node children.
3
+ * Used to fetch nested children up to the specified depth.
4
+ */
5
+ export declare const treeFiltersTreeNodeChildren: (depth?: number) => string;
6
+ export declare const treeFiltersDataQuery: (depthTreeNodes?: number) => import("@apollo/client").DocumentNode;