@leav/ui 1.6.0 → 1.7.0-13483399

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 (301) hide show
  1. package/README.md +13 -12
  2. package/dist/__mocks__/common/library.d.ts +1 -0
  3. package/dist/__mocks__/react-i18next.d.ts +1 -1
  4. package/dist/_gqlTypes/index.d.ts +1046 -687
  5. package/dist/_gqlTypes/index.js +188 -43
  6. package/dist/_gqlTypes/index.js.map +1 -1
  7. package/dist/_queries/attributes/attributeDetailsFragment.js +5 -0
  8. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  9. package/dist/_queries/libraries/libraryDetailsFragment.js +1 -0
  10. package/dist/_queries/libraries/libraryDetailsFragment.js.map +1 -1
  11. package/dist/_queries/trees/treeNodeChildrenQuery.js +2 -0
  12. package/dist/_queries/trees/treeNodeChildrenQuery.js.map +1 -1
  13. package/dist/_queries/views/viewDetailsFragment.js +1 -0
  14. package/dist/_queries/views/viewDetailsFragment.js.map +1 -1
  15. package/dist/components/AttributePicker/AttributesList/AttributesList.js +3 -7
  16. package/dist/components/AttributePicker/AttributesList/AttributesList.js.map +1 -1
  17. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js +20 -12
  18. package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js.map +1 -1
  19. package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.d.ts +1 -1
  20. package/dist/components/AttributesSelectionList/sharedComponents.d.ts +159 -153
  21. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/AttributesList.js +3 -7
  22. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/AttributesList.js.map +1 -1
  23. package/dist/components/Explorer/DataView.d.ts +2 -0
  24. package/dist/components/Explorer/DataView.js +6 -3
  25. package/dist/components/Explorer/DataView.js.map +1 -1
  26. package/dist/components/Explorer/Explorer.d.ts +2 -0
  27. package/dist/components/Explorer/Explorer.js +7 -5
  28. package/dist/components/Explorer/Explorer.js.map +1 -1
  29. package/dist/components/Explorer/ExplorerFiltersAndSorts.js +1 -1
  30. package/dist/components/Explorer/ExplorerFiltersAndSorts.js.map +1 -1
  31. package/dist/components/Explorer/TableCell.js +15 -23
  32. package/dist/components/Explorer/TableCell.js.map +1 -1
  33. package/dist/components/Explorer/TableNameCell.js +3 -2
  34. package/dist/components/Explorer/TableNameCell.js.map +1 -1
  35. package/dist/components/Explorer/_queries/useExplorerData.d.ts +7 -7
  36. package/dist/components/Explorer/_queries/useExplorerData.js +19 -7
  37. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  38. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js +3 -2
  39. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -1
  40. package/dist/components/Explorer/actions-item/useReplaceItemAction.d.ts +2 -1
  41. package/dist/components/Explorer/actions-item/useReplaceItemAction.js +5 -4
  42. package/dist/components/Explorer/actions-item/useReplaceItemAction.js.map +1 -1
  43. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.d.ts +2 -4
  44. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js +18 -16
  45. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js.map +1 -1
  46. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js +2 -2
  47. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js.map +1 -1
  48. package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js +9 -1
  49. package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js.map +1 -1
  50. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.d.ts +10 -3
  51. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js +16 -6
  52. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js.map +1 -1
  53. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.d.ts +10 -0
  54. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.js +46 -0
  55. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.js.map +1 -0
  56. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.d.ts +1 -0
  57. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.js +17 -0
  58. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.js.map +1 -0
  59. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.d.ts +8 -0
  60. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.js +49 -0
  61. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.js.map +1 -0
  62. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.d.ts +27 -0
  63. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.js +48 -0
  64. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.js.map +1 -0
  65. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js +3 -2
  66. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js.map +1 -1
  67. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js +3 -2
  68. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js.map +1 -1
  69. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js +3 -2
  70. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js.map +1 -1
  71. package/dist/components/Explorer/actions-mass/useExportMassAction.d.ts +7 -4
  72. package/dist/components/Explorer/actions-mass/useExportMassAction.js +80 -73
  73. package/dist/components/Explorer/actions-mass/useExportMassAction.js.map +1 -1
  74. package/dist/components/Explorer/actions-mass/useMassActions.js +3 -2
  75. package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -1
  76. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +3 -2
  77. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  78. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.d.ts +2 -1
  79. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js +5 -4
  80. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js.map +1 -1
  81. package/dist/components/Explorer/link-item/LinkModal.d.ts +1 -0
  82. package/dist/components/Explorer/link-item/LinkModal.js +2 -2
  83. package/dist/components/Explorer/link-item/LinkModal.js.map +1 -1
  84. package/dist/components/Explorer/list-saved-views/SavedViews.js +4 -3
  85. package/dist/components/Explorer/list-saved-views/SavedViews.js.map +1 -1
  86. package/dist/components/Explorer/manage-view-settings/_shared/ColumnItem.js +5 -8
  87. package/dist/components/Explorer/manage-view-settings/_shared/ColumnItem.js.map +1 -1
  88. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js +3 -2
  89. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js.map +1 -1
  90. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js +2 -2
  91. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js.map +1 -1
  92. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +7 -6
  93. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  94. package/dist/components/Explorer/manage-view-settings/filter-items/FilterListItem.js +3 -2
  95. package/dist/components/Explorer/manage-view-settings/filter-items/FilterListItem.js.map +1 -1
  96. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js +5 -4
  97. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js.map +1 -1
  98. package/dist/components/Explorer/manage-view-settings/router-menu/SettingItem.js +3 -2
  99. package/dist/components/Explorer/manage-view-settings/router-menu/SettingItem.js.map +1 -1
  100. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js +3 -2
  101. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js.map +1 -1
  102. package/dist/components/Explorer/manage-view-settings/save-view/LabelViewFormModal.js +3 -2
  103. package/dist/components/Explorer/manage-view-settings/save-view/LabelViewFormModal.js.map +1 -1
  104. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js +3 -0
  105. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js.map +1 -1
  106. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js +3 -2
  107. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js.map +1 -1
  108. package/dist/components/Explorer/manage-view-settings/save-view/useDeleteView.js +4 -3
  109. package/dist/components/Explorer/manage-view-settings/save-view/useDeleteView.js.map +1 -1
  110. package/dist/components/Explorer/manage-view-settings/save-view/useEditLabelView.js +3 -2
  111. package/dist/components/Explorer/manage-view-settings/save-view/useEditLabelView.js.map +1 -1
  112. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js +3 -2
  113. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js.map +1 -1
  114. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js +3 -2
  115. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js.map +1 -1
  116. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js +3 -2
  117. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js.map +1 -1
  118. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js +7 -6
  119. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js.map +1 -1
  120. package/dist/components/Explorer/manage-view-settings/sort-items/SortListItem.js +3 -2
  121. package/dist/components/Explorer/manage-view-settings/sort-items/SortListItem.js.map +1 -1
  122. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
  123. package/dist/components/Explorer/useSearchInput.js +6 -2
  124. package/dist/components/Explorer/useSearchInput.js.map +1 -1
  125. package/dist/components/Filters/FiltersProvider.d.ts +2 -2
  126. package/dist/components/Filters/FiltersProvider.js.map +1 -1
  127. package/dist/components/Filters/_types.d.ts +3 -0
  128. package/dist/components/Filters/_types.js.map +1 -1
  129. package/dist/components/Filters/context/filtersReducer.js +7 -4
  130. package/dist/components/Filters/context/filtersReducer.js.map +1 -1
  131. package/dist/components/Filters/filter-items/CommonFilterItem.d.ts +1 -0
  132. package/dist/components/Filters/filter-items/CommonFilterItem.js +28 -8
  133. package/dist/components/Filters/filter-items/CommonFilterItem.js.map +1 -1
  134. package/dist/components/Filters/filter-items/EmptyValueCheckbox.d.ts +8 -0
  135. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js +16 -0
  136. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js.map +1 -0
  137. package/dist/components/Filters/filter-items/filter-type/BooleanAttributeDropdown.js +23 -9
  138. package/dist/components/Filters/filter-items/filter-type/BooleanAttributeDropdown.js.map +1 -1
  139. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js +9 -8
  140. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js.map +1 -1
  141. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js +4 -3
  142. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js.map +1 -1
  143. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js +1 -1
  144. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js.map +1 -1
  145. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.d.ts +0 -1
  146. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js +17 -23
  147. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js.map +1 -1
  148. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js +10 -12
  149. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js.map +1 -1
  150. package/dist/components/Filters/filter-items/filter-type/useConditionOptionsByType.js +3 -13
  151. package/dist/components/Filters/filter-items/filter-type/useConditionOptionsByType.js.map +1 -1
  152. package/dist/components/Filters/index.d.ts +1 -0
  153. package/dist/components/Filters/index.js +1 -0
  154. package/dist/components/Filters/index.js.map +1 -1
  155. package/dist/components/Filters/prepareFiltersForRequest.js +36 -3
  156. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
  157. package/dist/components/Filters/useFilters.d.ts +5 -0
  158. package/dist/components/Filters/useTransformFilters.js +4 -0
  159. package/dist/components/Filters/useTransformFilters.js.map +1 -1
  160. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.d.ts +1 -3
  161. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +6 -2
  162. package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +1 -1
  163. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js +1 -8
  164. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js.map +1 -1
  165. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js +15 -17
  166. package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js.map +1 -1
  167. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js +0 -6
  168. package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js.map +1 -1
  169. package/dist/components/LibraryItemsList/MenuView/MenuView.js +4 -4
  170. package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +1 -1
  171. package/dist/components/LibraryItemsList/ViewPanel/View/View.d.ts +1 -3
  172. package/dist/components/LibraryItemsList/ViewPanel/View/View.js +9 -4
  173. package/dist/components/LibraryItemsList/ViewPanel/View/View.js.map +1 -1
  174. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js +36 -14
  175. package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js.map +1 -1
  176. package/dist/components/Notifications/hooks/useNotificationSubscription.js +3 -2
  177. package/dist/components/Notifications/hooks/useNotificationSubscription.js.map +1 -1
  178. package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -0
  179. package/dist/components/RecordEdition/EditRecord/EditRecord.js +3 -3
  180. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  181. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +2 -0
  182. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  183. package/dist/components/RecordEdition/EditRecordContent/hooks/__mocks__/useDeleteValueMutation.d.ts +1 -1
  184. package/dist/components/RecordEdition/EditRecordContent/hooks/__mocks__/useSaveValueMutation.d.ts +1 -1
  185. package/dist/components/RecordEdition/EditRecordContent/shared/ValuesVersionBtn/ValuesVersionBtn.js +5 -20
  186. package/dist/components/RecordEdition/EditRecordContent/shared/ValuesVersionBtn/ValuesVersionBtn.js.map +1 -1
  187. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.d.ts +1 -11
  188. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +8 -95
  189. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
  190. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/_types.d.ts +8 -0
  191. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/_types.js +2 -0
  192. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/_types.js.map +1 -0
  193. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/LinkFieldExplorer.d.ts +6 -0
  194. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/LinkFieldExplorer.js +77 -0
  195. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/LinkFieldExplorer.js.map +1 -0
  196. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record → explorer/link-record}/useExplorerLinkRecords.d.ts +5 -7
  197. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record → explorer/link-record}/useExplorerLinkRecords.js +3 -10
  198. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/link-record/useExplorerLinkRecords.js.map +1 -0
  199. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record → explorer/link-record}/useLinkRecords.d.ts +5 -6
  200. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/link-record/useLinkRecords.js +98 -0
  201. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/explorer/link-record/useLinkRecords.js.map +1 -0
  202. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/{ExplorerWrapper.d.ts → InputExtraAlignLeft.d.ts} +54 -52
  203. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/{link-record/ActionButton.js → shared/InputExtraAlignLeft.js} +4 -4
  204. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputExtraAlignLeft.js.map +1 -0
  205. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputWrapper.d.ts +3 -0
  206. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputWrapper.js +31 -0
  207. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/InputWrapper.js.map +1 -0
  208. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/Wrapper.d.ts +3 -0
  209. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/Wrapper.js +8 -0
  210. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/Wrapper.js.map +1 -0
  211. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/LinkFieldTags.d.ts +3 -0
  212. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/LinkFieldTags.js +57 -0
  213. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/LinkFieldTags.js.map +1 -0
  214. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.d.ts +16 -0
  215. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.js +85 -0
  216. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.js.map +1 -0
  217. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/unlink-record/useUnlinkRecord.d.ts +19 -0
  218. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/unlink-record/useUnlinkRecord.js +43 -0
  219. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/unlink-record/useUnlinkRecord.js.map +1 -0
  220. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/unlink-all-records/useUnlinkAllRecords.d.ts +16 -0
  221. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/unlink-all-records/useUnlinkAllRecords.js +27 -0
  222. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/unlink-all-records/useUnlinkAllRecords.js.map +1 -0
  223. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +4 -3
  224. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  225. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +1 -1
  226. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
  227. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +2 -0
  228. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
  229. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +9 -2
  230. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
  231. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.d.ts +53 -51
  232. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +3 -2
  233. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -1
  234. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +2 -1
  235. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +4 -7
  236. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
  237. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +3 -2
  238. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +2 -2
  239. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -1
  240. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js +3 -2
  241. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js.map +1 -1
  242. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +1 -0
  243. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +2 -2
  244. package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
  245. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordInformations/RecordInformations.js +3 -2
  246. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordInformations/RecordInformations.js.map +1 -1
  247. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js +4 -3
  248. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js.map +1 -1
  249. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js +3 -2
  250. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js.map +1 -1
  251. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js +2 -2
  252. package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js.map +1 -1
  253. package/dist/components/RecordHistory/RecordHistoryLogEntry.js +10 -2
  254. package/dist/components/RecordHistory/RecordHistoryLogEntry.js.map +1 -1
  255. package/dist/components/RecordHistory/_queries/recordHistoryQuery.d.ts +7 -0
  256. package/dist/components/RecordHistory/_queries/recordHistoryQuery.js +64 -0
  257. package/dist/components/RecordHistory/_queries/recordHistoryQuery.js.map +1 -0
  258. package/dist/components/RecordHistory/hooks/useFetchRecordHistory.js +5 -2
  259. package/dist/components/RecordHistory/hooks/useFetchRecordHistory.js.map +1 -1
  260. package/dist/components/RecordHistory/utils/extendedAttribute.d.ts +11 -0
  261. package/dist/components/RecordHistory/utils/extendedAttribute.js +40 -0
  262. package/dist/components/RecordHistory/utils/extendedAttribute.js.map +1 -0
  263. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +1 -0
  264. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +7 -7
  265. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
  266. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +2 -1
  267. package/dist/components/SelectTreeNode/SelectTreeNode.js +3 -3
  268. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  269. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +2 -1
  270. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +6 -2
  271. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  272. package/dist/components/SelectTreeNode/TreeNodeTitle.js +5 -4
  273. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
  274. package/dist/constants.d.ts +1 -0
  275. package/dist/constants.js +1 -0
  276. package/dist/constants.js.map +1 -1
  277. package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +3 -1
  278. package/dist/hooks/useIFrameMessenger/messageHandlers.js +16 -0
  279. package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -1
  280. package/dist/hooks/useIFrameMessenger/schema.d.ts +6 -3
  281. package/dist/hooks/useIFrameMessenger/schema.js +2 -1
  282. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
  283. package/dist/hooks/useIFrameMessenger/types.d.ts +32 -2
  284. package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
  285. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +2 -0
  286. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +16 -2
  287. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js.map +1 -1
  288. package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.d.ts +2 -0
  289. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.d.ts +2 -0
  290. package/dist/locales/en/shared.json +20 -4
  291. package/dist/locales/fr/shared.json +20 -4
  292. package/dist/types/records.d.ts +1 -0
  293. package/dist/types/records.js.map +1 -1
  294. package/package.json +40 -42
  295. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.d.ts +0 -3
  296. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/ActionButton.js.map +0 -1
  297. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useExplorerLinkRecords.js.map +0 -1
  298. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js +0 -100
  299. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js.map +0 -1
  300. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.js +0 -13
  301. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Filter.js","sourceRoot":"","sources":["../../../../../src/components/LibraryItemsList/FiltersPanel/Filter/Filter.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 {CloseCircleFilled, MoreOutlined} from '@ant-design/icons';\nimport {localizedTranslation} from '@leav/utils';\nimport {Button, Dropdown} from 'antd';\nimport {useCallback, useState} from 'react';\nimport {type DraggableProvidedDragHandleProps} from 'react-beautiful-dnd';\nimport styled from 'styled-components';\nimport {themeVars} from '_ui/antdTheme';\nimport DateBetweenFilter from '_ui/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter';\nimport useSearchReducer from '_ui/components/LibraryItemsList/hooks/useSearchReducer';\nimport {SearchActionTypes} from '_ui/components/LibraryItemsList/hooks/useSearchReducer/searchReducer';\nimport {SelectTreeNodeModalOld} from '_ui/components/SelectTreeNodeModalOld';\nimport {useLang} from '_ui/hooks';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeConditionFilter,\n type AttributeConditionType,\n FilterType,\n type IAttribute,\n type IFilter,\n type IFilterAttribute,\n type IFilterLibrary,\n type IFilterTree,\n ThroughConditionFilter,\n TreeConditionFilter,\n} from '_ui/types/search';\nimport {type ITreeNode} from '_ui/types/trees';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeStandardAttributeFragment,\n AttributeType,\n RecordFilterCondition,\n} from '_ui/_gqlTypes';\nimport {\n type ILibraryDetailExtended,\n type ILibraryDetailExtendedAttribute,\n type ILibraryDetailExtendedAttributeParentLinkedTree,\n} from '_ui/_queries/libraries/getLibraryDetailExtendQuery';\nimport {formatNotUsingCondition} from '../../constants';\nimport FiltersDropdown from '../../FiltersDropdown';\nimport {defaultFilterConditionByAttributeFormat} from '../../helpers/defaultFilterConditionByAttributeFormat';\nimport FilterDropdownButton from '../FilterDropdownButton';\nimport FilterTreeCondition from '../FilterTreeCondition';\nimport mustHideValue from '../mustHideValue';\nimport FilterAttributeCondition from './FilterAttributeCondition';\nimport DateFilter from './FilterInput/DateFilter';\nimport NumericFilter from './FilterInput/NumericFilter';\nimport TextFilter from './FilterInput/TextFilter';\nimport {getDefaultFilterValueByFormat} from '_ui/components/LibraryItemsList/FiltersPanel/Filter/filterUtils';\n\ninterface IWrapperProps {\n $active: boolean;\n}\n\nconst Wrapper = styled.div<IWrapperProps>`\n background: ${themeVars.lightBg};\n padding: 8px 8px 8px 0px;\n border-radius: 3px;\n display: grid;\n grid-template-columns: 1.375rem 1fr;\n margin-bottom: 8px;\n border: 2px solid transparent;\n\n ${({$active}) =>\n $active\n ? `\n &:hover,\n &:active {\n border: 2px solid ${themeVars.primaryColor};\n\n &&& .filter-handle {\n color: ${themeVars.primaryColor};\n }\n }\n `\n : 'opacity: .5;'}\n`;\n\nconst Handle = styled.div`\n content: '....';\n width: 20px;\n height: 30px;\n display: inline-block;\n overflow: hidden;\n line-height: 5px;\n padding: 3px 4px;\n vertical-align: middle;\n margin: auto;\n font-size: 12px;\n font-family: sans-serif;\n letter-spacing: 2px;\n color: ${themeVars.borderLightColor};\n text-shadow: 1px 0 1px black;\n\n &::after {\n content: '.. .. .. ..';\n }\n`;\n\nconst Content = styled.div<{$hasParent: boolean}>`\n display: grid;\n grid-template-rows: ${p => (p.$hasParent ? 'auto auto 1fr' : 'auto 1fr')};\n row-gap: 8px;\n`;\n\nconst Head = styled.div`\n display: grid;\n grid-template-columns: 1fr 1.5rem;\n align-items: center;\n column-gap: 8px;\n min-width: 0;\n`;\n\nconst HeadInfos = styled.div`\n display: grid;\n grid-template-columns: 1fr 1fr;\n justify-items: space-around;\n align-items: center;\n justify-content: center;\n\n background: ${themeVars.defaultBg} 0% 0% no-repeat padding-box;\n border: 1px solid ${themeVars.borderColor};\n border-radius: 3px;\n\n min-width: 0;\n`;\n\nconst HeadOptions = styled.div`\n display: grid;\n place-items: center;\n height: 32px;\n\n background: ${themeVars.defaultBg} 0% 0% no-repeat padding-box;\n border: 1px solid ${themeVars.borderColor};\n border-radius: 3px;\n`;\n\nconst ParentLabel = styled.div`\n display: flex;\n align-content: flex-start;\n`;\n\nconst ClearParentButton = styled(Button)`\n && {\n border: none;\n color: ${themeVars.secondaryTextColor};\n\n :hover {\n border: none;\n color: ${themeVars.secondaryTextColor};\n }\n }\n`;\n\nexport interface IFilterInputProps {\n filter: IFilter;\n updateFilterValue: (newFilterValue: IFilter['value']) => void;\n onPressEnter?: () => void;\n}\n\ninterface IFilterProps {\n filter: IFilter;\n handleProps: DraggableProvidedDragHandleProps;\n}\n\nfunction Filter({filter, handleProps}: IFilterProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n const {state: searchState, dispatch: searchDispatch} = useSearchReducer();\n const [showSelectTreeNodeModal, setShowSelectTreeNodeModal] = useState(false);\n\n const handleDelete = () => {\n searchDispatch({\n type: SearchActionTypes.SET_FILTERS,\n filters: searchState.filters.filter(f => f.index !== filter.index),\n });\n };\n\n const updateFilterValue = (newFilterValue: IFilter['value']) => {\n const newFilters: IFilter[] = searchState.filters.map(f => {\n if (f.index === filter.index) {\n return {...f, value: newFilterValue};\n }\n\n return f;\n });\n\n searchDispatch({\n type: SearchActionTypes.SET_FILTERS,\n filters: newFilters,\n });\n };\n\n const _getValueFromNode = (node: ITreeNode): IFilter['value'] =>\n typeof node === 'undefined' || node.id === (filter as IFilterTree).tree.id\n ? {value: null}\n : {value: node.id, label: String(node.title)};\n\n const toggleActiveStatus = () => {\n const newFilters = searchState.filters.map(f => {\n if (f.index === filter.index) {\n return {...f, active: !f.active};\n }\n\n return f;\n });\n\n searchDispatch({\n type: SearchActionTypes.SET_FILTERS,\n filters: newFilters,\n });\n };\n\n const filterOptions = {\n items: [\n {\n key: 'deactivate',\n label: filter.active ? t('filters.deactivate') : t('filters.activate'),\n onClick: toggleActiveStatus,\n },\n {\n key: 'delete',\n label: t('global.delete'),\n onClick: handleDelete,\n },\n ],\n };\n\n const InputByFormat = useCallback(\n (props: IFilterInputProps) => {\n const showStandardCondition =\n props.filter.condition in AttributeConditionFilter &&\n !(props.filter.condition in TreeConditionFilter) &&\n !formatNotUsingCondition.find(\n format => format === (props.filter as IFilterAttribute).attribute?.format,\n );\n\n const showTreeCondition = props.filter.condition in TreeConditionFilter;\n\n if (showStandardCondition) {\n if (mustHideValue(props.filter.condition as AttributeConditionType)) {\n return <></>;\n }\n\n switch ((props.filter as IFilterAttribute).attribute?.format) {\n case AttributeFormat.date:\n return props.filter.condition === AttributeConditionFilter.BETWEEN ? (\n <DateBetweenFilter {...props} />\n ) : (\n <DateFilter {...props} />\n );\n case AttributeFormat.date_range:\n return <DateFilter {...props} />;\n case AttributeFormat.numeric:\n return <NumericFilter {...props} />;\n case AttributeFormat.text:\n default:\n return <TextFilter {...props} />;\n }\n } else if (showTreeCondition) {\n return (\n <Button disabled={!props.filter.active} onClick={() => setShowSelectTreeNodeModal(true)}>\n {props.filter.value.label || t('global.select')}\n </Button>\n );\n }\n\n return <></>;\n },\n [t],\n );\n\n const embeddedFieldsToAttribute = (\n embeddedFields: AttributesByLibAttributeStandardAttributeFragment['embedded_fields'],\n ): AttributesByLibAttributeStandardAttributeFragment[] =>\n embeddedFields\n ? embeddedFields.map(f => ({\n ...f,\n type: AttributeType.simple,\n multiple_values: undefined,\n linked_tree: undefined,\n system: false,\n readonly: false,\n }))\n : [];\n\n const getAttributes = (): ILibraryDetailExtendedAttribute[] => {\n if (filter.type === FilterType.ATTRIBUTE) {\n if (\n filter.condition === ThroughConditionFilter.THROUGH &&\n (filter as IFilterAttribute).attribute?.format === AttributeFormat.extended\n ) {\n return embeddedFieldsToAttribute((filter as IFilterAttribute).attribute.embedded_fields);\n }\n\n if (\n filter.condition === ThroughConditionFilter.THROUGH &&\n typeof (filter as IFilterAttribute).attribute.linkedTree === 'undefined'\n ) {\n return (filter as IFilterAttribute).attribute.linkedLibrary?.attributes;\n }\n\n if (typeof (filter as IFilterAttribute).attribute.parentAttribute !== 'undefined') {\n return (\n (filter as IFilterAttribute).attribute.parentAttribute?.linkedLibrary?.attributes ||\n embeddedFieldsToAttribute((filter as IFilterAttribute).attribute.parentAttribute?.embedded_fields)\n );\n }\n\n if (typeof (filter as IFilterAttribute).parentTreeLibrary !== 'undefined') {\n const lib = (filter as IFilterAttribute).parentTreeLibrary.parentAttribute.linkedTree.libraries.find(\n l => l.library.id === (filter as IFilterAttribute).parentTreeLibrary.library.id,\n );\n\n return lib.library.attributes;\n }\n\n if (\n typeof (filter as IFilterAttribute).attribute.linkedTree !== 'undefined' &&\n filter.condition === ThroughConditionFilter.THROUGH\n ) {\n return [];\n }\n }\n\n if (filter.type === FilterType.LIBRARY) {\n if (filter.condition !== ThroughConditionFilter.THROUGH) {\n return [];\n }\n\n if (filter.condition === ThroughConditionFilter.THROUGH) {\n const lib = (filter as IFilterLibrary).parentAttribute.linkedTree?.libraries.find(\n l => l.library.id === (filter as IFilterLibrary).library.id,\n );\n\n return lib.library.attributes;\n }\n }\n\n return searchState.library.attributes;\n };\n\n // on tree attribute type with linkedTree\n const getLibraries = (): ILibraryDetailExtendedAttributeParentLinkedTree['libraries'] => {\n if (filter.type === FilterType.LIBRARY) {\n return (filter as IFilterLibrary).parentAttribute.linkedTree?.libraries;\n }\n\n if (\n filter.type === FilterType.ATTRIBUTE &&\n typeof (filter as IFilterAttribute).attribute.linkedTree !== 'undefined' &&\n filter.condition === ThroughConditionFilter.THROUGH\n ) {\n return (filter as IFilterAttribute).attribute.linkedTree?.libraries;\n }\n\n return [];\n };\n\n const getTrees = (): ILibraryDetailExtended['linkedTrees'] => {\n if (\n filter.type === FilterType.TREE ||\n (filter.condition !== ThroughConditionFilter.THROUGH &&\n filter.type === FilterType.ATTRIBUTE &&\n !(filter as IFilterAttribute).parentTreeLibrary &&\n !(filter as IFilterAttribute).attribute.parentAttribute)\n ) {\n return searchState.trees;\n }\n\n return [];\n };\n\n const _handleResetClick = () => {\n const filters = [...searchState.filters];\n\n const parentAttribute: IAttribute =\n filter.type === FilterType.ATTRIBUTE &&\n typeof (filter as IFilterAttribute).parentTreeLibrary !== 'undefined'\n ? (filter as IFilterAttribute).parentTreeLibrary.parentAttribute\n : filter.type === FilterType.ATTRIBUTE\n ? ((filter as IFilterAttribute).attribute.parentAttribute ?? (filter as IFilterAttribute).attribute)\n : (filter as IFilterLibrary).parentAttribute;\n\n const newFilter: IFilterAttribute = {\n type: FilterType.ATTRIBUTE,\n index: filter.index,\n key: parentAttribute?.id,\n value: {\n value: getDefaultFilterValueByFormat(parentAttribute.format),\n },\n active: true,\n condition: RecordFilterCondition[defaultFilterConditionByAttributeFormat(parentAttribute.format)],\n attribute: parentAttribute,\n };\n\n const filterPos = searchState.filters.findIndex(f => f.index === filter.index);\n filters.splice(filterPos, 1, newFilter);\n\n searchDispatch({\n type: SearchActionTypes.SET_FILTERS,\n filters,\n });\n };\n\n const getDropdownLabel = (): string => {\n if (filter.condition === ThroughConditionFilter.THROUGH) {\n return `${t('global.select')}...`;\n }\n\n if (filter.type === FilterType.ATTRIBUTE) {\n return (\n localizedTranslation((filter as IFilterAttribute).attribute?.label, lang) ||\n (filter as IFilterAttribute).attribute?.id\n );\n } else if (filter.type === FilterType.TREE) {\n return localizedTranslation((filter as IFilterTree).tree.label, lang) || (filter as IFilterTree).tree.id;\n }\n\n return (\n localizedTranslation((filter as IFilterLibrary).library.label, lang) ||\n (filter as IFilterLibrary).library.id\n );\n };\n\n const getParentLabel = () =>\n localizedTranslation(\n filter.condition === ThroughConditionFilter.THROUGH\n ? (filter as IFilterAttribute).attribute?.label\n : (filter as IFilterAttribute).attribute?.parentAttribute?.label ||\n (filter as IFilterLibrary).parentAttribute?.label,\n lang,\n ) ||\n `${localizedTranslation(\n filter.condition === ThroughConditionFilter.THROUGH\n ? (filter as IFilterLibrary).parentAttribute?.label\n : (filter as IFilterAttribute).parentTreeLibrary?.parentAttribute?.label,\n lang,\n )} > ${localizedTranslation(\n filter.condition === ThroughConditionFilter.THROUGH\n ? (filter as IFilterLibrary)?.library.label\n : (filter as IFilterAttribute).parentTreeLibrary?.library.label,\n lang,\n )} `;\n\n const hasParent = !!(\n filter.condition === ThroughConditionFilter.THROUGH ||\n !!(filter as IFilterAttribute).attribute?.parentAttribute ||\n (filter as IFilterAttribute).parentTreeLibrary ||\n filter.type === FilterType.LIBRARY\n );\n\n const _handlePressEnter = () => {\n searchDispatch({type: SearchActionTypes.APPLY_FILTERS});\n };\n\n return (\n <>\n {showSelectTreeNodeModal && (\n <SelectTreeNodeModalOld\n selectedNodeKey={(filter.value.value as string) || (filter as IFilterTree).tree.id}\n treeId={(filter as IFilterTree).tree.id}\n onSubmit={node => updateFilterValue(_getValueFromNode(node))}\n onClose={() => setShowSelectTreeNodeModal(false)}\n isVisible={showSelectTreeNodeModal}\n canSelectRoot\n />\n )}\n <Wrapper data-testid=\"filter\" $active={filter.active}>\n <Handle className=\"filter-handle\" {...handleProps} />\n <Content $hasParent={hasParent}>\n {hasParent && (\n <ParentLabel>\n <span>{t('filters.through')}:&nbsp;</span>\n <span>{getParentLabel()}</span>\n <ClearParentButton\n disabled={!filter.active}\n size=\"small\"\n onClick={_handleResetClick}\n shape=\"circle\"\n icon={<CloseCircleFilled />}\n />\n </ParentLabel>\n )}\n <Head>\n <HeadInfos>\n <FiltersDropdown\n libraryId={searchState.library.id}\n button={\n <FilterDropdownButton\n secondary={filter.condition === ThroughConditionFilter.THROUGH}\n >\n {getDropdownLabel()}\n </FilterDropdownButton>\n }\n filter={filter}\n attributes={getAttributes()}\n libraries={getLibraries()}\n trees={getTrees()}\n />\n {(filter.type === FilterType.ATTRIBUTE || filter.type === FilterType.LIBRARY) && (\n <FilterAttributeCondition\n filter={filter as IFilterAttribute | IFilterLibrary}\n updateFilterValue={updateFilterValue}\n />\n )}\n {filter.type === FilterType.TREE && <FilterTreeCondition filter={filter as IFilterTree} />}\n </HeadInfos>\n <Dropdown menu={filterOptions} placement=\"bottomRight\">\n <HeadOptions>\n <MoreOutlined />\n </HeadOptions>\n </Dropdown>\n </Head>\n <InputByFormat\n filter={filter}\n updateFilterValue={updateFilterValue}\n onPressEnter={_handlePressEnter}\n />\n </Content>\n </Wrapper>\n </>\n );\n}\n\nexport default Filter;\n"]}
1
+ {"version":3,"file":"Filter.js","sourceRoot":"","sources":["../../../../../src/components/LibraryItemsList/FiltersPanel/Filter/Filter.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 {CloseCircleFilled, MoreOutlined} from '@ant-design/icons';\nimport {localizedTranslation} from '@leav/utils';\nimport {Button, Dropdown} from 'antd';\nimport {useCallback, useState} from 'react';\nimport {CSS} from '@dnd-kit/utilities';\nimport styled from 'styled-components';\nimport {themeVars} from '_ui/antdTheme';\nimport DateBetweenFilter from '_ui/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter';\nimport useSearchReducer from '_ui/components/LibraryItemsList/hooks/useSearchReducer';\nimport {SearchActionTypes} from '_ui/components/LibraryItemsList/hooks/useSearchReducer/searchReducer';\nimport {SelectTreeNodeModalOld} from '_ui/components/SelectTreeNodeModalOld';\nimport {useLang} from '_ui/hooks';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeConditionFilter,\n type AttributeConditionType,\n FilterType,\n type IAttribute,\n type IFilter,\n type IFilterAttribute,\n type IFilterLibrary,\n type IFilterTree,\n ThroughConditionFilter,\n TreeConditionFilter,\n} from '_ui/types/search';\nimport {type ITreeNode} from '_ui/types/trees';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeStandardAttributeFragment,\n AttributeType,\n RecordFilterCondition,\n} from '_ui/_gqlTypes';\nimport {\n type ILibraryDetailExtended,\n type ILibraryDetailExtendedAttribute,\n type ILibraryDetailExtendedAttributeParentLinkedTree,\n} from '_ui/_queries/libraries/getLibraryDetailExtendQuery';\nimport {formatNotUsingCondition} from '../../constants';\nimport FiltersDropdown from '../../FiltersDropdown';\nimport {defaultFilterConditionByAttributeFormat} from '../../helpers/defaultFilterConditionByAttributeFormat';\nimport FilterDropdownButton from '../FilterDropdownButton';\nimport FilterTreeCondition from '../FilterTreeCondition';\nimport mustHideValue from '../mustHideValue';\nimport FilterAttributeCondition from './FilterAttributeCondition';\nimport DateFilter from './FilterInput/DateFilter';\nimport NumericFilter from './FilterInput/NumericFilter';\nimport TextFilter from './FilterInput/TextFilter';\nimport {getDefaultFilterValueByFormat} from '_ui/components/LibraryItemsList/FiltersPanel/Filter/filterUtils';\nimport {useSortable} from '@dnd-kit/sortable';\n\ninterface IWrapperProps {\n $active: boolean;\n}\n\nconst Wrapper = styled.div<IWrapperProps>`\n background: ${themeVars.lightBg};\n padding: 8px 8px 8px 0px;\n border-radius: 3px;\n display: grid;\n grid-template-columns: 1.375rem 1fr;\n margin-bottom: 8px;\n border: 2px solid transparent;\n\n ${({$active}) =>\n $active\n ? `\n &:hover,\n &:active {\n border: 2px solid ${themeVars.primaryColor};\n\n &&& .filter-handle {\n color: ${themeVars.primaryColor};\n }\n }\n `\n : 'opacity: .5;'}\n`;\n\nconst Handle = styled.div`\n content: '....';\n width: 20px;\n height: 30px;\n display: inline-block;\n overflow: hidden;\n line-height: 5px;\n padding: 3px 4px;\n vertical-align: middle;\n margin: auto;\n font-size: 12px;\n font-family: sans-serif;\n letter-spacing: 2px;\n color: ${themeVars.borderLightColor};\n text-shadow: 1px 0 1px black;\n\n &::after {\n content: '.. .. .. ..';\n }\n`;\n\nconst Content = styled.div<{$hasParent: boolean}>`\n display: grid;\n grid-template-rows: ${p => (p.$hasParent ? 'auto auto 1fr' : 'auto 1fr')};\n row-gap: 8px;\n`;\n\nconst Head = styled.div`\n display: grid;\n grid-template-columns: 1fr 1.5rem;\n align-items: center;\n column-gap: 8px;\n min-width: 0;\n`;\n\nconst HeadInfos = styled.div`\n display: grid;\n grid-template-columns: 1fr 1fr;\n justify-items: space-around;\n align-items: center;\n justify-content: center;\n\n background: ${themeVars.defaultBg} 0% 0% no-repeat padding-box;\n border: 1px solid ${themeVars.borderColor};\n border-radius: 3px;\n\n min-width: 0;\n`;\n\nconst HeadOptions = styled.div`\n display: grid;\n place-items: center;\n height: 32px;\n\n background: ${themeVars.defaultBg} 0% 0% no-repeat padding-box;\n border: 1px solid ${themeVars.borderColor};\n border-radius: 3px;\n`;\n\nconst ParentLabel = styled.div`\n display: flex;\n align-content: flex-start;\n`;\n\nconst ClearParentButton = styled(Button)`\n && {\n border: none;\n color: ${themeVars.secondaryTextColor};\n\n :hover {\n border: none;\n color: ${themeVars.secondaryTextColor};\n }\n }\n`;\n\nexport interface IFilterInputProps {\n filter: IFilter;\n updateFilterValue: (newFilterValue: IFilter['value']) => void;\n onPressEnter?: () => void;\n}\n\ninterface IFilterProps {\n filter: IFilter;\n}\n\nfunction Filter({filter}: IFilterProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n const {state: searchState, dispatch: searchDispatch} = useSearchReducer();\n const [showSelectTreeNodeModal, setShowSelectTreeNodeModal] = useState(false);\n\n const {attributes, listeners, setNodeRef, transform, transition} = useSortable({id: filter.key});\n const style = {transform: CSS.Transform.toString(transform), transition};\n\n const handleDelete = () => {\n searchDispatch({\n type: SearchActionTypes.SET_FILTERS,\n filters: searchState.filters.filter(f => f.index !== filter.index),\n });\n };\n\n const updateFilterValue = (newFilterValue: IFilter['value']) => {\n const newFilters: IFilter[] = searchState.filters.map(f => {\n if (f.index === filter.index) {\n return {...f, value: newFilterValue};\n }\n\n return f;\n });\n\n searchDispatch({\n type: SearchActionTypes.SET_FILTERS,\n filters: newFilters,\n });\n };\n\n const _getValueFromNode = (node: ITreeNode): IFilter['value'] =>\n typeof node === 'undefined' || node.id === (filter as IFilterTree).tree.id\n ? {value: null}\n : {value: node.id, label: String(node.title)};\n\n const toggleActiveStatus = () => {\n const newFilters = searchState.filters.map(f => {\n if (f.index === filter.index) {\n return {...f, active: !f.active};\n }\n\n return f;\n });\n\n searchDispatch({\n type: SearchActionTypes.SET_FILTERS,\n filters: newFilters,\n });\n };\n\n const filterOptions = {\n items: [\n {\n key: 'deactivate',\n label: filter.active ? t('filters.deactivate') : t('filters.activate'),\n onClick: toggleActiveStatus,\n },\n {\n key: 'delete',\n label: t('global.delete'),\n onClick: handleDelete,\n },\n ],\n };\n\n const InputByFormat = useCallback(\n (props: IFilterInputProps) => {\n const showStandardCondition =\n props.filter.condition in AttributeConditionFilter &&\n !(props.filter.condition in TreeConditionFilter) &&\n !formatNotUsingCondition.find(\n format => format === (props.filter as IFilterAttribute).attribute?.format,\n );\n\n const showTreeCondition = props.filter.condition in TreeConditionFilter;\n\n if (showStandardCondition) {\n if (mustHideValue(props.filter.condition as AttributeConditionType)) {\n return <></>;\n }\n\n switch ((props.filter as IFilterAttribute).attribute?.format) {\n case AttributeFormat.date:\n return props.filter.condition === AttributeConditionFilter.BETWEEN ? (\n <DateBetweenFilter {...props} />\n ) : (\n <DateFilter {...props} />\n );\n case AttributeFormat.date_range:\n return <DateFilter {...props} />;\n case AttributeFormat.numeric:\n return <NumericFilter {...props} />;\n case AttributeFormat.text:\n default:\n return <TextFilter {...props} />;\n }\n } else if (showTreeCondition) {\n return (\n <Button disabled={!props.filter.active} onClick={() => setShowSelectTreeNodeModal(true)}>\n {props.filter.value.label || t('global.select')}\n </Button>\n );\n }\n\n return <></>;\n },\n [t],\n );\n\n const embeddedFieldsToAttribute = (\n embeddedFields: AttributesByLibAttributeStandardAttributeFragment['embedded_fields'],\n ): AttributesByLibAttributeStandardAttributeFragment[] =>\n embeddedFields\n ? embeddedFields.map(f => ({\n ...f,\n type: AttributeType.simple,\n multiple_values: undefined,\n linked_tree: undefined,\n system: false,\n readonly: false,\n }))\n : [];\n\n const getAttributes = (): ILibraryDetailExtendedAttribute[] => {\n if (filter.type === FilterType.ATTRIBUTE) {\n if (\n filter.condition === ThroughConditionFilter.THROUGH &&\n (filter as IFilterAttribute).attribute?.format === AttributeFormat.extended\n ) {\n return embeddedFieldsToAttribute((filter as IFilterAttribute).attribute.embedded_fields);\n }\n\n if (\n filter.condition === ThroughConditionFilter.THROUGH &&\n typeof (filter as IFilterAttribute).attribute.linkedTree === 'undefined'\n ) {\n return (filter as IFilterAttribute).attribute.linkedLibrary?.attributes;\n }\n\n if (typeof (filter as IFilterAttribute).attribute.parentAttribute !== 'undefined') {\n return (\n (filter as IFilterAttribute).attribute.parentAttribute?.linkedLibrary?.attributes ||\n embeddedFieldsToAttribute((filter as IFilterAttribute).attribute.parentAttribute?.embedded_fields)\n );\n }\n\n if (typeof (filter as IFilterAttribute).parentTreeLibrary !== 'undefined') {\n const lib = (filter as IFilterAttribute).parentTreeLibrary.parentAttribute.linkedTree.libraries.find(\n l => l.library.id === (filter as IFilterAttribute).parentTreeLibrary.library.id,\n );\n\n return lib.library.attributes;\n }\n\n if (\n typeof (filter as IFilterAttribute).attribute.linkedTree !== 'undefined' &&\n filter.condition === ThroughConditionFilter.THROUGH\n ) {\n return [];\n }\n }\n\n if (filter.type === FilterType.LIBRARY) {\n if (filter.condition !== ThroughConditionFilter.THROUGH) {\n return [];\n }\n\n if (filter.condition === ThroughConditionFilter.THROUGH) {\n const lib = (filter as IFilterLibrary).parentAttribute.linkedTree?.libraries.find(\n l => l.library.id === (filter as IFilterLibrary).library.id,\n );\n\n return lib.library.attributes;\n }\n }\n\n return searchState.library.attributes;\n };\n\n // on tree attribute type with linkedTree\n const getLibraries = (): ILibraryDetailExtendedAttributeParentLinkedTree['libraries'] => {\n if (filter.type === FilterType.LIBRARY) {\n return (filter as IFilterLibrary).parentAttribute.linkedTree?.libraries;\n }\n\n if (\n filter.type === FilterType.ATTRIBUTE &&\n typeof (filter as IFilterAttribute).attribute.linkedTree !== 'undefined' &&\n filter.condition === ThroughConditionFilter.THROUGH\n ) {\n return (filter as IFilterAttribute).attribute.linkedTree?.libraries;\n }\n\n return [];\n };\n\n const getTrees = (): ILibraryDetailExtended['linkedTrees'] => {\n if (\n filter.type === FilterType.TREE ||\n (filter.condition !== ThroughConditionFilter.THROUGH &&\n filter.type === FilterType.ATTRIBUTE &&\n !(filter as IFilterAttribute).parentTreeLibrary &&\n !(filter as IFilterAttribute).attribute.parentAttribute)\n ) {\n return searchState.trees;\n }\n\n return [];\n };\n\n const _handleResetClick = () => {\n const filters = [...searchState.filters];\n\n const parentAttribute: IAttribute =\n filter.type === FilterType.ATTRIBUTE &&\n typeof (filter as IFilterAttribute).parentTreeLibrary !== 'undefined'\n ? (filter as IFilterAttribute).parentTreeLibrary.parentAttribute\n : filter.type === FilterType.ATTRIBUTE\n ? ((filter as IFilterAttribute).attribute.parentAttribute ?? (filter as IFilterAttribute).attribute)\n : (filter as IFilterLibrary).parentAttribute;\n\n const newFilter: IFilterAttribute = {\n type: FilterType.ATTRIBUTE,\n index: filter.index,\n key: parentAttribute?.id,\n value: {\n value: getDefaultFilterValueByFormat(parentAttribute.format),\n },\n active: true,\n condition: RecordFilterCondition[defaultFilterConditionByAttributeFormat(parentAttribute.format)],\n attribute: parentAttribute,\n };\n\n const filterPos = searchState.filters.findIndex(f => f.index === filter.index);\n filters.splice(filterPos, 1, newFilter);\n\n searchDispatch({\n type: SearchActionTypes.SET_FILTERS,\n filters,\n });\n };\n\n const getDropdownLabel = (): string => {\n if (filter.condition === ThroughConditionFilter.THROUGH) {\n return `${t('global.select')}...`;\n }\n\n if (filter.type === FilterType.ATTRIBUTE) {\n return (\n localizedTranslation((filter as IFilterAttribute).attribute?.label, lang) ||\n (filter as IFilterAttribute).attribute?.id\n );\n } else if (filter.type === FilterType.TREE) {\n return localizedTranslation((filter as IFilterTree).tree.label, lang) || (filter as IFilterTree).tree.id;\n }\n\n return (\n localizedTranslation((filter as IFilterLibrary).library.label, lang) ||\n (filter as IFilterLibrary).library.id\n );\n };\n\n const getParentLabel = () =>\n localizedTranslation(\n filter.condition === ThroughConditionFilter.THROUGH\n ? (filter as IFilterAttribute).attribute?.label\n : (filter as IFilterAttribute).attribute?.parentAttribute?.label ||\n (filter as IFilterLibrary).parentAttribute?.label,\n lang,\n ) ||\n `${localizedTranslation(\n filter.condition === ThroughConditionFilter.THROUGH\n ? (filter as IFilterLibrary).parentAttribute?.label\n : (filter as IFilterAttribute).parentTreeLibrary?.parentAttribute?.label,\n lang,\n )} > ${localizedTranslation(\n filter.condition === ThroughConditionFilter.THROUGH\n ? (filter as IFilterLibrary)?.library.label\n : (filter as IFilterAttribute).parentTreeLibrary?.library.label,\n lang,\n )} `;\n\n const hasParent = !!(\n filter.condition === ThroughConditionFilter.THROUGH ||\n !!(filter as IFilterAttribute).attribute?.parentAttribute ||\n (filter as IFilterAttribute).parentTreeLibrary ||\n filter.type === FilterType.LIBRARY\n );\n\n const _handlePressEnter = () => {\n searchDispatch({type: SearchActionTypes.APPLY_FILTERS});\n };\n\n return (\n <>\n {showSelectTreeNodeModal && (\n <SelectTreeNodeModalOld\n selectedNodeKey={(filter.value.value as string) || (filter as IFilterTree).tree.id}\n treeId={(filter as IFilterTree).tree.id}\n onSubmit={node => updateFilterValue(_getValueFromNode(node))}\n onClose={() => setShowSelectTreeNodeModal(false)}\n isVisible={showSelectTreeNodeModal}\n canSelectRoot\n />\n )}\n <Wrapper data-testid=\"filter\" $active={filter.active} ref={setNodeRef} style={style} {...attributes}>\n <Handle className=\"filter-handle\" {...listeners} />\n <Content $hasParent={hasParent}>\n {hasParent && (\n <ParentLabel>\n <span>{t('filters.through')}:&nbsp;</span>\n <span>{getParentLabel()}</span>\n <ClearParentButton\n disabled={!filter.active}\n size=\"small\"\n onClick={_handleResetClick}\n shape=\"circle\"\n icon={<CloseCircleFilled />}\n />\n </ParentLabel>\n )}\n <Head>\n <HeadInfos>\n <FiltersDropdown\n libraryId={searchState.library.id}\n button={\n <FilterDropdownButton\n secondary={filter.condition === ThroughConditionFilter.THROUGH}\n >\n {getDropdownLabel()}\n </FilterDropdownButton>\n }\n filter={filter}\n attributes={getAttributes()}\n libraries={getLibraries()}\n trees={getTrees()}\n />\n {(filter.type === FilterType.ATTRIBUTE || filter.type === FilterType.LIBRARY) && (\n <FilterAttributeCondition\n filter={filter as IFilterAttribute | IFilterLibrary}\n updateFilterValue={updateFilterValue}\n />\n )}\n {filter.type === FilterType.TREE && <FilterTreeCondition filter={filter as IFilterTree} />}\n </HeadInfos>\n <Dropdown menu={filterOptions} placement=\"bottomRight\">\n <HeadOptions>\n <MoreOutlined />\n </HeadOptions>\n </Dropdown>\n </Head>\n <InputByFormat\n filter={filter}\n updateFilterValue={updateFilterValue}\n onPressEnter={_handlePressEnter}\n />\n </Content>\n </Wrapper>\n </>\n );\n}\n\nexport default Filter;\n"]}
@@ -56,14 +56,7 @@ const allowedConditionByFormat = {
56
56
  AttributeConditionFilter.IS_EMPTY,
57
57
  AttributeConditionFilter.IS_NOT_EMPTY,
58
58
  ],
59
- [AttributeFormat.color]: [
60
- AttributeConditionFilter.CONTAINS,
61
- AttributeConditionFilter.NOT_CONTAINS,
62
- AttributeConditionFilter.EQUAL,
63
- AttributeConditionFilter.NOT_EQUAL,
64
- AttributeConditionFilter.IS_EMPTY,
65
- AttributeConditionFilter.IS_NOT_EMPTY,
66
- ],
59
+ [AttributeFormat.color]: [],
67
60
  [AttributeFormat.rich_text]: [
68
61
  AttributeConditionFilter.CONTAINS,
69
62
  AttributeConditionFilter.NOT_CONTAINS,
@@ -1 +1 @@
1
- {"version":3,"file":"FiltersOptions.js","sourceRoot":"","sources":["../../../../src/components/LibraryItemsList/FiltersPanel/FiltersOptions.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 TFunction} from 'i18next';\nimport {\n AttributeConditionFilter,\n type AttributeConditionType,\n FilterType,\n type IFilter,\n type IFilterAttribute,\n OperatorFilter,\n TreeConditionFilter,\n} from '_ui/types/search';\nimport {AttributeFormat, type RecordFilterCondition} from '_ui/_gqlTypes';\n\nexport interface IFilterConditionOption<T> {\n text: string;\n value: T;\n textByFormat?: {[key in AttributeFormat]?: string};\n}\n\nconst allowedConditionByFormat: {[format in AttributeFormat]: AttributeConditionType[]} = {\n [AttributeFormat.text]: [\n AttributeConditionFilter.CONTAINS,\n AttributeConditionFilter.NOT_CONTAINS,\n AttributeConditionFilter.EQUAL,\n AttributeConditionFilter.NOT_EQUAL,\n AttributeConditionFilter.BEGIN_WITH,\n AttributeConditionFilter.END_WITH,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n [AttributeFormat.extended]: [\n AttributeConditionFilter.CONTAINS,\n AttributeConditionFilter.NOT_CONTAINS,\n AttributeConditionFilter.EQUAL,\n AttributeConditionFilter.NOT_EQUAL,\n AttributeConditionFilter.BEGIN_WITH,\n AttributeConditionFilter.END_WITH,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n [AttributeFormat.encrypted]: [AttributeConditionFilter.IS_EMPTY, AttributeConditionFilter.IS_NOT_EMPTY],\n [AttributeFormat.numeric]: [\n AttributeConditionFilter.EQUAL,\n AttributeConditionFilter.NOT_EQUAL,\n AttributeConditionFilter.GREATER_THAN,\n AttributeConditionFilter.LESS_THAN,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n [AttributeFormat.boolean]: [AttributeConditionFilter.EQUAL, AttributeConditionFilter.NOT_EQUAL],\n [AttributeFormat.date]: [\n AttributeConditionFilter.EQUAL,\n AttributeConditionFilter.NOT_EQUAL,\n AttributeConditionFilter.GREATER_THAN,\n AttributeConditionFilter.LESS_THAN,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n AttributeConditionFilter.TODAY,\n AttributeConditionFilter.TOMORROW,\n AttributeConditionFilter.YESTERDAY,\n AttributeConditionFilter.LAST_MONTH,\n AttributeConditionFilter.NEXT_MONTH,\n AttributeConditionFilter.BETWEEN,\n ],\n [AttributeFormat.date_range]: [\n AttributeConditionFilter.CONTAINS,\n AttributeConditionFilter.START_ON,\n AttributeConditionFilter.START_AFTER,\n AttributeConditionFilter.START_BEFORE,\n AttributeConditionFilter.END_ON,\n AttributeConditionFilter.END_AFTER,\n AttributeConditionFilter.END_BEFORE,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n [AttributeFormat.color]: [\n AttributeConditionFilter.CONTAINS,\n AttributeConditionFilter.NOT_CONTAINS,\n AttributeConditionFilter.EQUAL,\n AttributeConditionFilter.NOT_EQUAL,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n [AttributeFormat.rich_text]: [\n AttributeConditionFilter.CONTAINS,\n AttributeConditionFilter.NOT_CONTAINS,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n};\n\nexport function getAttributeConditionOptions(t: TFunction): Array<IFilterConditionOption<AttributeConditionType>> {\n return [\n {text: t('filters.contains'), value: AttributeConditionFilter.CONTAINS},\n {text: t('filters.not-contains'), value: AttributeConditionFilter.NOT_CONTAINS},\n {text: t('filters.equal'), value: AttributeConditionFilter.EQUAL},\n {text: t('filters.not-equal'), value: AttributeConditionFilter.NOT_EQUAL},\n {text: t('filters.begin-with'), value: AttributeConditionFilter.BEGIN_WITH},\n {text: t('filters.end-with'), value: AttributeConditionFilter.END_WITH},\n {\n text: t('filters.less-than'),\n textByFormat: {[AttributeFormat.date]: t('filters.before')},\n value: AttributeConditionFilter.LESS_THAN,\n },\n {\n text: t('filters.greater-than'),\n textByFormat: {[AttributeFormat.date]: t('filters.after')},\n value: AttributeConditionFilter.GREATER_THAN,\n },\n {text: t('filters.today'), value: AttributeConditionFilter.TODAY},\n {text: t('filters.tomorrow'), value: AttributeConditionFilter.TOMORROW},\n {text: t('filters.yesterday'), value: AttributeConditionFilter.YESTERDAY},\n {text: t('filters.last-month'), value: AttributeConditionFilter.LAST_MONTH},\n {text: t('filters.next-month'), value: AttributeConditionFilter.NEXT_MONTH},\n {text: t('filters.between'), value: AttributeConditionFilter.BETWEEN},\n {text: t('filters.start-on'), value: AttributeConditionFilter.START_ON},\n {text: t('filters.start-after'), value: AttributeConditionFilter.START_AFTER},\n {text: t('filters.start-before'), value: AttributeConditionFilter.START_BEFORE},\n {text: t('filters.end-on'), value: AttributeConditionFilter.END_ON},\n {text: t('filters.end-after'), value: AttributeConditionFilter.END_AFTER},\n {text: t('filters.end-before'), value: AttributeConditionFilter.END_BEFORE},\n {text: t('filters.is-empty'), value: AttributeConditionFilter.IS_EMPTY},\n {text: t('filters.is-not-empty'), value: AttributeConditionFilter.IS_NOT_EMPTY},\n {text: t('filters.values-count-equal'), value: AttributeConditionFilter.VALUES_COUNT_EQUAL},\n {text: t('filters.values-count-greater-than'), value: AttributeConditionFilter.VALUES_COUNT_GREATER_THAN},\n {text: t('filters.values-count-lower-than'), value: AttributeConditionFilter.VALUES_COUNT_LOWER_THAN},\n {text: t('filters.through'), value: AttributeConditionFilter.THROUGH},\n ];\n}\n\nexport function getTreeConditionOptions(t: TFunction): Array<IFilterConditionOption<TreeConditionFilter>> {\n return [\n {text: t('filters.classified-in'), value: TreeConditionFilter.CLASSIFIED_IN},\n {text: t('filters.not-classified-in'), value: TreeConditionFilter.NOT_CLASSIFIED_IN},\n ];\n}\n\nexport function getOperatorOptions(t: TFunction): Array<IFilterConditionOption<OperatorFilter>> {\n return [\n {text: t('filters.and'), value: OperatorFilter.AND},\n {text: t('filters.or'), value: OperatorFilter.OR},\n ];\n}\n\nexport const getConditionOptionsByType = (\n filter: IFilter,\n showThroughCondition: boolean,\n t: TFunction,\n): Array<IFilterConditionOption<AttributeConditionType>> => {\n const _isValuesCountCondition = (condition: AttributeConditionType): boolean =>\n [\n AttributeConditionFilter.VALUES_COUNT_EQUAL,\n AttributeConditionFilter.VALUES_COUNT_GREATER_THAN,\n AttributeConditionFilter.VALUES_COUNT_LOWER_THAN,\n ].includes(condition as RecordFilterCondition);\n\n const attributeConditionOptions = getAttributeConditionOptions(t);\n\n const conditionOptionsByType = attributeConditionOptions.filter(conditionOption => {\n // \"Through\" condition\n if (conditionOption.value === AttributeConditionFilter.THROUGH && showThroughCondition) {\n return true;\n }\n\n // Filter on library (applied to tree attribute only) => show condition for text attribute\n if (\n filter.type === FilterType.LIBRARY &&\n allowedConditionByFormat[AttributeFormat.text].includes(conditionOption.value)\n ) {\n return true;\n }\n\n // Regular attribute filter => show condition based on format + values count if multiple values is allowed\n if (filter.type === FilterType.ATTRIBUTE) {\n const attributeFilter = filter as IFilterAttribute;\n if (\n ((filter as IFilterAttribute).attribute?.format &&\n allowedConditionByFormat[attributeFilter.attribute.format]?.includes(conditionOption.value)) ||\n (attributeFilter.attribute.isMultiple && _isValuesCountCondition(conditionOption.value))\n ) {\n return true;\n }\n }\n\n return false;\n });\n\n return conditionOptionsByType;\n};\n"]}
1
+ {"version":3,"file":"FiltersOptions.js","sourceRoot":"","sources":["../../../../src/components/LibraryItemsList/FiltersPanel/FiltersOptions.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 TFunction} from 'i18next';\nimport {\n AttributeConditionFilter,\n type AttributeConditionType,\n FilterType,\n type IFilter,\n type IFilterAttribute,\n OperatorFilter,\n TreeConditionFilter,\n} from '_ui/types/search';\nimport {AttributeFormat, type RecordFilterCondition} from '_ui/_gqlTypes';\n\nexport interface IFilterConditionOption<T> {\n text: string;\n value: T;\n textByFormat?: {[key in AttributeFormat]?: string};\n}\n\nconst allowedConditionByFormat: {[format in AttributeFormat]: AttributeConditionType[]} = {\n [AttributeFormat.text]: [\n AttributeConditionFilter.CONTAINS,\n AttributeConditionFilter.NOT_CONTAINS,\n AttributeConditionFilter.EQUAL,\n AttributeConditionFilter.NOT_EQUAL,\n AttributeConditionFilter.BEGIN_WITH,\n AttributeConditionFilter.END_WITH,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n [AttributeFormat.extended]: [\n AttributeConditionFilter.CONTAINS,\n AttributeConditionFilter.NOT_CONTAINS,\n AttributeConditionFilter.EQUAL,\n AttributeConditionFilter.NOT_EQUAL,\n AttributeConditionFilter.BEGIN_WITH,\n AttributeConditionFilter.END_WITH,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n [AttributeFormat.encrypted]: [AttributeConditionFilter.IS_EMPTY, AttributeConditionFilter.IS_NOT_EMPTY],\n [AttributeFormat.numeric]: [\n AttributeConditionFilter.EQUAL,\n AttributeConditionFilter.NOT_EQUAL,\n AttributeConditionFilter.GREATER_THAN,\n AttributeConditionFilter.LESS_THAN,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n [AttributeFormat.boolean]: [AttributeConditionFilter.EQUAL, AttributeConditionFilter.NOT_EQUAL],\n [AttributeFormat.date]: [\n AttributeConditionFilter.EQUAL,\n AttributeConditionFilter.NOT_EQUAL,\n AttributeConditionFilter.GREATER_THAN,\n AttributeConditionFilter.LESS_THAN,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n AttributeConditionFilter.TODAY,\n AttributeConditionFilter.TOMORROW,\n AttributeConditionFilter.YESTERDAY,\n AttributeConditionFilter.LAST_MONTH,\n AttributeConditionFilter.NEXT_MONTH,\n AttributeConditionFilter.BETWEEN,\n ],\n [AttributeFormat.date_range]: [\n AttributeConditionFilter.CONTAINS,\n AttributeConditionFilter.START_ON,\n AttributeConditionFilter.START_AFTER,\n AttributeConditionFilter.START_BEFORE,\n AttributeConditionFilter.END_ON,\n AttributeConditionFilter.END_AFTER,\n AttributeConditionFilter.END_BEFORE,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n [AttributeFormat.color]: [],\n [AttributeFormat.rich_text]: [\n AttributeConditionFilter.CONTAINS,\n AttributeConditionFilter.NOT_CONTAINS,\n AttributeConditionFilter.IS_EMPTY,\n AttributeConditionFilter.IS_NOT_EMPTY,\n ],\n};\n\nexport function getAttributeConditionOptions(t: TFunction): Array<IFilterConditionOption<AttributeConditionType>> {\n return [\n {text: t('filters.contains'), value: AttributeConditionFilter.CONTAINS},\n {text: t('filters.not-contains'), value: AttributeConditionFilter.NOT_CONTAINS},\n {text: t('filters.equal'), value: AttributeConditionFilter.EQUAL},\n {text: t('filters.not-equal'), value: AttributeConditionFilter.NOT_EQUAL},\n {text: t('filters.begin-with'), value: AttributeConditionFilter.BEGIN_WITH},\n {text: t('filters.end-with'), value: AttributeConditionFilter.END_WITH},\n {\n text: t('filters.less-than'),\n textByFormat: {[AttributeFormat.date]: t('filters.before')},\n value: AttributeConditionFilter.LESS_THAN,\n },\n {\n text: t('filters.greater-than'),\n textByFormat: {[AttributeFormat.date]: t('filters.after')},\n value: AttributeConditionFilter.GREATER_THAN,\n },\n {text: t('filters.today'), value: AttributeConditionFilter.TODAY},\n {text: t('filters.tomorrow'), value: AttributeConditionFilter.TOMORROW},\n {text: t('filters.yesterday'), value: AttributeConditionFilter.YESTERDAY},\n {text: t('filters.last-month'), value: AttributeConditionFilter.LAST_MONTH},\n {text: t('filters.next-month'), value: AttributeConditionFilter.NEXT_MONTH},\n {text: t('filters.between'), value: AttributeConditionFilter.BETWEEN},\n {text: t('filters.start-on'), value: AttributeConditionFilter.START_ON},\n {text: t('filters.start-after'), value: AttributeConditionFilter.START_AFTER},\n {text: t('filters.start-before'), value: AttributeConditionFilter.START_BEFORE},\n {text: t('filters.end-on'), value: AttributeConditionFilter.END_ON},\n {text: t('filters.end-after'), value: AttributeConditionFilter.END_AFTER},\n {text: t('filters.end-before'), value: AttributeConditionFilter.END_BEFORE},\n {text: t('filters.is-empty'), value: AttributeConditionFilter.IS_EMPTY},\n {text: t('filters.is-not-empty'), value: AttributeConditionFilter.IS_NOT_EMPTY},\n {text: t('filters.values-count-equal'), value: AttributeConditionFilter.VALUES_COUNT_EQUAL},\n {text: t('filters.values-count-greater-than'), value: AttributeConditionFilter.VALUES_COUNT_GREATER_THAN},\n {text: t('filters.values-count-lower-than'), value: AttributeConditionFilter.VALUES_COUNT_LOWER_THAN},\n {text: t('filters.through'), value: AttributeConditionFilter.THROUGH},\n ];\n}\n\nexport function getTreeConditionOptions(t: TFunction): Array<IFilterConditionOption<TreeConditionFilter>> {\n return [\n {text: t('filters.classified-in'), value: TreeConditionFilter.CLASSIFIED_IN},\n {text: t('filters.not-classified-in'), value: TreeConditionFilter.NOT_CLASSIFIED_IN},\n ];\n}\n\nexport function getOperatorOptions(t: TFunction): Array<IFilterConditionOption<OperatorFilter>> {\n return [\n {text: t('filters.and'), value: OperatorFilter.AND},\n {text: t('filters.or'), value: OperatorFilter.OR},\n ];\n}\n\nexport const getConditionOptionsByType = (\n filter: IFilter,\n showThroughCondition: boolean,\n t: TFunction,\n): Array<IFilterConditionOption<AttributeConditionType>> => {\n const _isValuesCountCondition = (condition: AttributeConditionType): boolean =>\n [\n AttributeConditionFilter.VALUES_COUNT_EQUAL,\n AttributeConditionFilter.VALUES_COUNT_GREATER_THAN,\n AttributeConditionFilter.VALUES_COUNT_LOWER_THAN,\n ].includes(condition as RecordFilterCondition);\n\n const attributeConditionOptions = getAttributeConditionOptions(t);\n\n const conditionOptionsByType = attributeConditionOptions.filter(conditionOption => {\n // \"Through\" condition\n if (conditionOption.value === AttributeConditionFilter.THROUGH && showThroughCondition) {\n return true;\n }\n\n // Filter on library (applied to tree attribute only) => show condition for text attribute\n if (\n filter.type === FilterType.LIBRARY &&\n allowedConditionByFormat[AttributeFormat.text].includes(conditionOption.value)\n ) {\n return true;\n }\n\n // Regular attribute filter => show condition based on format + values count if multiple values is allowed\n if (filter.type === FilterType.ATTRIBUTE) {\n const attributeFilter = filter as IFilterAttribute;\n if (\n ((filter as IFilterAttribute).attribute?.format &&\n allowedConditionByFormat[attributeFilter.attribute.format]?.includes(conditionOption.value)) ||\n (attributeFilter.attribute.isMultiple && _isValuesCountCondition(conditionOption.value))\n ) {\n return true;\n }\n }\n\n return false;\n });\n\n return conditionOptionsByType;\n};\n"]}
@@ -6,7 +6,8 @@ import { DownOutlined } from '@ant-design/icons';
6
6
  import { faAngleLeft } from '@fortawesome/free-solid-svg-icons';
7
7
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
8
8
  import { Button, Dropdown, Space } from 'antd';
9
- import { DragDropContext, Draggable, Droppable } from 'react-beautiful-dnd';
9
+ import { DndContext, closestCenter } from '@dnd-kit/core';
10
+ import { SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable';
10
11
  import styled from 'styled-components';
11
12
  import { themeVars } from '../../../antdTheme';
12
13
  import useSearchReducer from '../../../components/LibraryItemsList/hooks/useSearchReducer';
@@ -71,24 +72,21 @@ function FiltersPanel() {
71
72
  const _handleHide = () => {
72
73
  searchDispatch({ type: SearchActionTypes.SET_SIDEBAR, visible: false, sidebarType: searchState.sideBar.type });
73
74
  };
74
- const onDragEnd = (result, provided) => {
75
- if (!result.destination) {
75
+ const handleDragEnd = event => {
76
+ const { active, over } = event;
77
+ if (!over || active.id === over.id) {
76
78
  return;
77
79
  }
78
- const newFilter = searchState.filters
79
- .map(filter => ({
80
+ const oldIndex = searchState.filters.findIndex(f => f.key === active.id);
81
+ const newIndex = searchState.filters.findIndex(f => f.key === over.id);
82
+ if (oldIndex === -1 || newIndex === -1) {
83
+ return;
84
+ }
85
+ const filters = arrayMove(searchState.filters, oldIndex, newIndex).map((filter, idx) => ({
80
86
  ...filter,
81
- index: result.source.index === filter.index
82
- ? result.destination.index
83
- : result.destination.index === filter.index
84
- ? result.source.index
85
- : filter.index,
86
- }))
87
- .sort((a, b) => a.index - b.index);
88
- searchDispatch({
89
- type: SearchActionTypes.SET_FILTERS,
90
- filters: newFilter,
91
- });
87
+ index: idx,
88
+ }));
89
+ searchDispatch({ type: SearchActionTypes.SET_FILTERS, filters });
92
90
  };
93
91
  const filtersSorted = searchState.filters.sort((a, b) => a.index - b.index);
94
92
  const _handleApplyFilters = () => {
@@ -117,7 +115,7 @@ function FiltersPanel() {
117
115
  label: t('filters.remove-filters'),
118
116
  },
119
117
  ],
120
- }, children: _jsxs(Button, { type: "text", style: { display: 'inline-flex' }, children: [t('filters.filters'), _jsx(DownOutlined, { style: { marginTop: '5px', marginLeft: '-3px' } })] }) }), _jsxs(Space, { size: "small", children: [_jsx(Button, { disabled: !searchState.filters.length, onClick: _handleApplyFilters, children: t('filters.apply') }), _jsx(Button, { onClick: _handleHide, icon: _jsx(FontAwesomeIcon, { icon: faAngleLeft }) })] })] }), _jsx(FiltersWrapper, { children: _jsx(DragDropContext, { onDragEnd: onDragEnd, children: _jsx(Droppable, { droppableId: "droppable", children: providedDroppable => (_jsxs(ListFilters, { ...providedDroppable.droppableProps, ref: providedDroppable.innerRef, children: [filtersSorted.map(filter => (_jsx(Draggable, { draggableId: filter.index.toString(), index: filter.index, children: provided => (_jsx("div", { ref: provided.innerRef, ...provided.draggableProps, children: _jsx(Filter, { filter: filter, handleProps: provided.dragHandleProps }, filter.index) })) }, filter.index))), providedDroppable.placeholder] })) }) }) })] }));
118
+ }, children: _jsxs(Button, { type: "text", style: { display: 'inline-flex' }, children: [t('filters.filters'), _jsx(DownOutlined, { style: { marginTop: '5px', marginLeft: '-3px' } })] }) }), _jsxs(Space, { size: "small", children: [_jsx(Button, { disabled: !searchState.filters.length, onClick: _handleApplyFilters, children: t('filters.apply') }), _jsx(Button, { onClick: _handleHide, icon: _jsx(FontAwesomeIcon, { icon: faAngleLeft }) })] })] }), _jsx(FiltersWrapper, { children: _jsx(DndContext, { collisionDetection: closestCenter, onDragEnd: handleDragEnd, children: _jsx(SortableContext, { items: filtersSorted.map(v => v.key), strategy: verticalListSortingStrategy, children: _jsx(ListFilters, { children: filtersSorted.map(filter => (_jsx(Filter, { filter: filter }, filter.key))) }) }) }) })] }));
121
119
  }
122
120
  export default FiltersPanel;
123
121
  //# sourceMappingURL=FiltersPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FiltersPanel.js","sourceRoot":"","sources":["../../../../src/components/LibraryItemsList/FiltersPanel/FiltersPanel.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 {DownOutlined} from '@ant-design/icons';\nimport {faAngleLeft} from '@fortawesome/free-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Button, Dropdown, Space} from 'antd';\nimport {DragDropContext, Draggable, Droppable, type DropResult, type ResponderProvided} from 'react-beautiful-dnd';\nimport styled from 'styled-components';\nimport {themeVars} from '_ui/antdTheme';\nimport useSearchReducer from '_ui/components/LibraryItemsList/hooks/useSearchReducer';\nimport {SearchActionTypes} from '_ui/components/LibraryItemsList/hooks/useSearchReducer/searchReducer';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport Filter from './Filter/Filter';\n\nconst Wrapper = styled.div`\n width: 100%;\n display: flex;\n flex-flow: column nowrap;\n border-right: ${themeVars.borderLightColor} 1px solid;\n overflow-y: auto;\n width: 1000px;\n`;\n\nconst Header = styled.div`\n width: 100%;\n background-color: ${themeVars.headerBg};\n display: grid;\n grid-template-columns: repeat(2, auto);\n justify-content: space-between;\n padding: 0.3rem 0.3rem 0.3rem 1rem;\n font-weight: 700;\n border-bottom: 1px solid ${themeVars.borderLightColor};\n\n & > * {\n :first-of-type {\n display: grid;\n column-gap: 8px;\n grid-template-columns: repeat(3, auto);\n align-items: center;\n justify-items: center;\n }\n\n :last-of-type {\n display: flex;\n align-items: center;\n justify-content: center;\n column-gap: 8px;\n grid-template-columns: repeat(2, auto);\n }\n }\n`;\n\nconst FiltersWrapper = styled.div`\n height: calc(100% - 7rem);\n overflow: auto;\n`;\n\nconst ListFilters = styled.div`\n display: grid;\n`;\n\nfunction FiltersPanel(): JSX.Element {\n const {t} = useSharedTranslation();\n\n const {state: searchState, dispatch: searchDispatch} = useSearchReducer();\n\n const _resetFilters = () => {\n searchDispatch({type: SearchActionTypes.RESET_FILTERS});\n };\n\n const _disableFilters = () => {\n searchDispatch({type: SearchActionTypes.DISABLE_FILTERS});\n };\n\n const _enableFilters = () => {\n searchDispatch({type: SearchActionTypes.ENABLE_FILTERS});\n };\n\n const _handleHide = () => {\n searchDispatch({type: SearchActionTypes.SET_SIDEBAR, visible: false, sidebarType: searchState.sideBar.type});\n };\n\n const onDragEnd = (result: DropResult, provided: ResponderProvided) => {\n if (!result.destination) {\n return;\n }\n\n const newFilter = searchState.filters\n .map(filter => ({\n ...filter,\n index:\n result.source.index === filter.index\n ? result.destination.index\n : result.destination.index === filter.index\n ? result.source.index\n : filter.index,\n }))\n .sort((a, b) => a.index - b.index);\n\n searchDispatch({\n type: SearchActionTypes.SET_FILTERS,\n filters: newFilter,\n });\n };\n\n const filtersSorted = searchState.filters.sort((a, b) => a.index - b.index);\n\n const _handleApplyFilters = () => {\n searchDispatch({type: SearchActionTypes.APPLY_FILTERS});\n };\n\n const allFiltersDisabled = searchState.filters.every(f => f.active === false);\n const allFiltersEnabled = searchState.filters.every(f => f.active === true);\n\n return (\n <Wrapper>\n <Header>\n <Dropdown\n menu={{\n items: [\n {\n key: 'disable',\n disabled: allFiltersDisabled,\n onClick: _disableFilters,\n label: t('filters.disable-filters'),\n },\n {\n key: 'enable',\n disabled: allFiltersEnabled,\n onClick: _enableFilters,\n label: t('filters.enable-filters'),\n },\n {\n key: 'remove',\n disabled: !searchState.filters.length,\n onClick: _resetFilters,\n label: t('filters.remove-filters'),\n },\n ],\n }}\n >\n <Button type=\"text\" style={{display: 'inline-flex'}}>\n {t('filters.filters')}\n <DownOutlined style={{marginTop: '5px', marginLeft: '-3px'}} />\n </Button>\n </Dropdown>\n <Space size=\"small\">\n <Button disabled={!searchState.filters.length} onClick={_handleApplyFilters}>\n {t('filters.apply')}\n </Button>\n <Button onClick={_handleHide} icon={<FontAwesomeIcon icon={faAngleLeft} />} />\n </Space>\n </Header>\n\n <FiltersWrapper>\n <DragDropContext onDragEnd={onDragEnd}>\n <Droppable droppableId=\"droppable\">\n {providedDroppable => (\n <ListFilters {...providedDroppable.droppableProps} ref={providedDroppable.innerRef}>\n {filtersSorted.map(filter => (\n <Draggable\n key={filter.index}\n draggableId={filter.index.toString()}\n index={filter.index}\n >\n {provided => (\n <div ref={provided.innerRef} {...provided.draggableProps}>\n <Filter\n key={filter.index}\n filter={filter}\n handleProps={provided.dragHandleProps}\n />\n </div>\n )}\n </Draggable>\n ))}\n {providedDroppable.placeholder}\n </ListFilters>\n )}\n </Droppable>\n </DragDropContext>\n </FiltersWrapper>\n </Wrapper>\n );\n}\n\nexport default FiltersPanel;\n"]}
1
+ {"version":3,"file":"FiltersPanel.js","sourceRoot":"","sources":["../../../../src/components/LibraryItemsList/FiltersPanel/FiltersPanel.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 {DownOutlined} from '@ant-design/icons';\nimport {faAngleLeft} from '@fortawesome/free-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Button, Dropdown, Space} from 'antd';\nimport {DndContext, closestCenter} from '@dnd-kit/core';\nimport {SortableContext, verticalListSortingStrategy, arrayMove} from '@dnd-kit/sortable';\nimport styled from 'styled-components';\nimport {themeVars} from '_ui/antdTheme';\nimport useSearchReducer from '_ui/components/LibraryItemsList/hooks/useSearchReducer';\nimport {SearchActionTypes} from '_ui/components/LibraryItemsList/hooks/useSearchReducer/searchReducer';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport Filter from './Filter/Filter';\n\nconst Wrapper = styled.div`\n width: 100%;\n display: flex;\n flex-flow: column nowrap;\n border-right: ${themeVars.borderLightColor} 1px solid;\n overflow-y: auto;\n width: 1000px;\n`;\n\nconst Header = styled.div`\n width: 100%;\n background-color: ${themeVars.headerBg};\n display: grid;\n grid-template-columns: repeat(2, auto);\n justify-content: space-between;\n padding: 0.3rem 0.3rem 0.3rem 1rem;\n font-weight: 700;\n border-bottom: 1px solid ${themeVars.borderLightColor};\n\n & > * {\n :first-of-type {\n display: grid;\n column-gap: 8px;\n grid-template-columns: repeat(3, auto);\n align-items: center;\n justify-items: center;\n }\n\n :last-of-type {\n display: flex;\n align-items: center;\n justify-content: center;\n column-gap: 8px;\n grid-template-columns: repeat(2, auto);\n }\n }\n`;\n\nconst FiltersWrapper = styled.div`\n height: calc(100% - 7rem);\n overflow: auto;\n`;\n\nconst ListFilters = styled.div`\n display: grid;\n`;\n\nfunction FiltersPanel(): JSX.Element {\n const {t} = useSharedTranslation();\n\n const {state: searchState, dispatch: searchDispatch} = useSearchReducer();\n\n const _resetFilters = () => {\n searchDispatch({type: SearchActionTypes.RESET_FILTERS});\n };\n\n const _disableFilters = () => {\n searchDispatch({type: SearchActionTypes.DISABLE_FILTERS});\n };\n\n const _enableFilters = () => {\n searchDispatch({type: SearchActionTypes.ENABLE_FILTERS});\n };\n\n const _handleHide = () => {\n searchDispatch({type: SearchActionTypes.SET_SIDEBAR, visible: false, sidebarType: searchState.sideBar.type});\n };\n\n const handleDragEnd = event => {\n const {active, over} = event;\n if (!over || active.id === over.id) {\n return;\n }\n\n const oldIndex = searchState.filters.findIndex(f => f.key === active.id);\n const newIndex = searchState.filters.findIndex(f => f.key === over.id);\n if (oldIndex === -1 || newIndex === -1) {\n return;\n }\n\n const filters = arrayMove(searchState.filters, oldIndex, newIndex).map((filter, idx) => ({\n ...filter,\n index: idx,\n }));\n\n searchDispatch({type: SearchActionTypes.SET_FILTERS, filters});\n };\n\n const filtersSorted = searchState.filters.sort((a, b) => a.index - b.index);\n\n const _handleApplyFilters = () => {\n searchDispatch({type: SearchActionTypes.APPLY_FILTERS});\n };\n\n const allFiltersDisabled = searchState.filters.every(f => f.active === false);\n const allFiltersEnabled = searchState.filters.every(f => f.active === true);\n\n return (\n <Wrapper>\n <Header>\n <Dropdown\n menu={{\n items: [\n {\n key: 'disable',\n disabled: allFiltersDisabled,\n onClick: _disableFilters,\n label: t('filters.disable-filters'),\n },\n {\n key: 'enable',\n disabled: allFiltersEnabled,\n onClick: _enableFilters,\n label: t('filters.enable-filters'),\n },\n {\n key: 'remove',\n disabled: !searchState.filters.length,\n onClick: _resetFilters,\n label: t('filters.remove-filters'),\n },\n ],\n }}\n >\n <Button type=\"text\" style={{display: 'inline-flex'}}>\n {t('filters.filters')}\n <DownOutlined style={{marginTop: '5px', marginLeft: '-3px'}} />\n </Button>\n </Dropdown>\n <Space size=\"small\">\n <Button disabled={!searchState.filters.length} onClick={_handleApplyFilters}>\n {t('filters.apply')}\n </Button>\n <Button onClick={_handleHide} icon={<FontAwesomeIcon icon={faAngleLeft} />} />\n </Space>\n </Header>\n\n <FiltersWrapper>\n <DndContext collisionDetection={closestCenter} onDragEnd={handleDragEnd}>\n <SortableContext items={filtersSorted.map(v => v.key)} strategy={verticalListSortingStrategy}>\n <ListFilters>\n {filtersSorted.map(filter => (\n <Filter key={filter.key} filter={filter} />\n ))}\n </ListFilters>\n </SortableContext>\n </DndContext>\n </FiltersWrapper>\n </Wrapper>\n );\n}\n\nexport default FiltersPanel;\n"]}
@@ -72,12 +72,6 @@ function ChooseTableColumns({ visible, onClose }) {
72
72
  const _handleCancel = () => {
73
73
  onClose();
74
74
  };
75
- // hack to disable warning "Droppable: unsupported nested scroll container" from react-beautiful-dnd,
76
- // remove "overflow: auto" on class "ant-modal-wrap"
77
- const elements = document.getElementsByClassName('ant-modal-wrap');
78
- if (elements.length) {
79
- elements[0].style.overflow = 'initial';
80
- }
81
75
  return (_jsx(Modal, { open: visible, onCancel: _handleCancel, title: t('table-columns-selection.header'), width: "70rem", centered: true, footer: [
82
76
  _jsx(Button, { onClick: _handleCancel, children: t('table-columns-selection.cancel') }, "Cancel"),
83
77
  _jsx(Button, { type: "primary", onClick: handleSubmit, children: t('table-columns-selection.submit') }, "Submit"),
@@ -1 +1 @@
1
- {"version":3,"file":"ChooseTableColumns.js","sourceRoot":"","sources":["../../../../../src/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.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 {localizedTranslation} from '@leav/utils';\nimport {Button, Modal} from 'antd';\nimport {useState} from 'react';\nimport AttributesSelectionList from '_ui/components/AttributesSelectionList';\nimport useSearchReducer from '_ui/components/LibraryItemsList/hooks/useSearchReducer';\nimport {SearchActionTypes} from '_ui/components/LibraryItemsList/hooks/useSearchReducer/searchReducer';\nimport useLang from '_ui/hooks/useLang';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type ISelectedAttribute} from '_ui/types/attributes';\nimport {type IAttribute, type IField} from '_ui/types/search';\nimport {AttributeFormat, AttributeType} from '_ui/_gqlTypes';\nimport {getFieldsKeyFromAttribute} from '../../helpers/getFieldsKeyFromAttribute';\n\ninterface IChooseTableColumnsProps {\n visible: boolean;\n onClose: () => void;\n}\n\nfunction ChooseTableColumns({visible, onClose}: IChooseTableColumnsProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n const {state: searchState, dispatch: searchDispatch} = useSearchReducer();\n const [selectedAttributes, setSelectedAttributes] = useState<ISelectedAttribute[]>(\n (searchState?.fields ?? []).map(col => {\n const currentAttribute = searchState.attributes.find(\n attribute => attribute.id === col.id && attribute.library === col.library,\n );\n\n return {\n ...col,\n path: col.key,\n label: currentAttribute?.label ?? null,\n multiple_values: !!col.multipleValues,\n };\n }),\n );\n\n const handleSubmit = () => {\n const noDuplicateNewAttribute: IAttribute[] = selectedAttributes\n .filter(\n selectedAttribute =>\n !searchState.attributes.some(\n attribute =>\n attribute.id === selectedAttribute.id && attribute.library === selectedAttribute.library,\n ),\n )\n .map(a => ({\n ...a,\n isLink: a.type === AttributeType.tree,\n isMultiple: a.multiple_values,\n format: a.format ?? undefined,\n }));\n\n const allAttributes = [...(searchState?.attributes ?? []), ...noDuplicateNewAttribute];\n\n searchDispatch({type: SearchActionTypes.SET_ATTRIBUTES, attributes: allAttributes});\n\n const newFields: IField[] = selectedAttributes.reduce((acc, selectedAttribute) => {\n const attribute = allAttributes.find(\n currentAttr =>\n currentAttr.id === selectedAttribute.id && currentAttr.library === selectedAttribute.library,\n );\n\n if (!attribute) {\n return acc;\n }\n\n const key = getFieldsKeyFromAttribute(selectedAttribute);\n\n const label =\n typeof attribute.label === 'string' ? attribute.label : localizedTranslation(attribute.label, lang);\n\n const embeddedData = selectedAttribute.embeddedFieldData && {\n format: selectedAttribute.embeddedFieldData?.format ?? AttributeFormat.text,\n path: selectedAttribute.path,\n };\n\n const field: IField = {\n id: selectedAttribute.id,\n library: selectedAttribute.library,\n label,\n key,\n type: selectedAttribute.type,\n format: attribute.format,\n parentAttributeData: selectedAttribute?.parentAttributeData,\n treeData: selectedAttribute.treeData,\n embeddedData,\n recordLibrary:\n selectedAttribute?.parentAttributeData?.type === AttributeType.tree\n ? selectedAttribute.path.split('.')[1]\n : null,\n };\n\n return [...acc, field];\n }, []);\n\n searchDispatch({\n type: SearchActionTypes.SET_FIELDS,\n fields: newFields,\n });\n\n onClose();\n };\n\n const _handleCancel = () => {\n onClose();\n };\n\n // hack to disable warning \"Droppable: unsupported nested scroll container\" from react-beautiful-dnd,\n // remove \"overflow: auto\" on class \"ant-modal-wrap\"\n const elements: any = document.getElementsByClassName('ant-modal-wrap');\n if (elements.length) {\n elements[0].style.overflow = 'initial';\n }\n\n return (\n <Modal\n open={visible}\n onCancel={_handleCancel}\n title={t('table-columns-selection.header')}\n width=\"70rem\"\n centered\n footer={[\n <Button key=\"Cancel\" onClick={_handleCancel}>\n {t('table-columns-selection.cancel')}\n </Button>,\n <Button type=\"primary\" key=\"Submit\" onClick={handleSubmit}>\n {t('table-columns-selection.submit')}\n </Button>,\n ]}\n >\n <AttributesSelectionList\n library={searchState.library.id}\n selectedAttributes={selectedAttributes}\n onSelectionChange={setSelectedAttributes}\n />\n </Modal>\n );\n}\n\nexport default ChooseTableColumns;\n"]}
1
+ {"version":3,"file":"ChooseTableColumns.js","sourceRoot":"","sources":["../../../../../src/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,MAAM,EAAE,KAAK,EAAC,MAAM,MAAM,CAAC;AACnC,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAC7E,OAAO,gBAAgB,MAAM,wDAAwD,CAAC;AACtF,OAAO,EAAC,iBAAiB,EAAC,MAAM,sEAAsE,CAAC;AACvG,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAGpE,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAC,yBAAyB,EAAC,MAAM,yCAAyC,CAAC;AAOlF,SAAS,kBAAkB,CAAC,EAAC,OAAO,EAAE,OAAO,EAA2B;IACpE,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,EAAE,CAAC;IACzB,MAAM,EAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAC,GAAG,gBAAgB,EAAE,CAAC;IAC1E,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CACxD,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAClC,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAChD,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CAC5E,CAAC;QAEF,OAAO;YACH,GAAG,GAAG;YACN,IAAI,EAAE,GAAG,CAAC,GAAG;YACb,KAAK,EAAE,gBAAgB,EAAE,KAAK,IAAI,IAAI;YACtC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc;SACxC,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,MAAM,uBAAuB,GAAiB,kBAAkB;aAC3D,MAAM,CACH,iBAAiB,CAAC,EAAE,CAChB,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CACxB,SAAS,CAAC,EAAE,CACR,SAAS,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,IAAI,SAAS,CAAC,OAAO,KAAK,iBAAiB,CAAC,OAAO,CAC/F,CACR;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACP,GAAG,CAAC;YACJ,MAAM,EAAE,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;YACrC,UAAU,EAAE,CAAC,CAAC,eAAe;YAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;SAChC,CAAC,CAAC,CAAC;QAER,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,uBAAuB,CAAC,CAAC;QAEvF,cAAc,CAAC,EAAC,IAAI,EAAE,iBAAiB,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,EAAC,CAAC,CAAC;QAEpF,MAAM,SAAS,GAAa,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE;YAC7E,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAChC,WAAW,CAAC,EAAE,CACV,WAAW,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,IAAI,WAAW,CAAC,OAAO,KAAK,iBAAiB,CAAC,OAAO,CACnG,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO,GAAG,CAAC;YACf,CAAC;YAED,MAAM,GAAG,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;YAEzD,MAAM,KAAK,GACP,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAExG,MAAM,YAAY,GAAG,iBAAiB,CAAC,iBAAiB,IAAI;gBACxD,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,IAAI,eAAe,CAAC,IAAI;gBAC3E,IAAI,EAAE,iBAAiB,CAAC,IAAI;aAC/B,CAAC;YAEF,MAAM,KAAK,GAAW;gBAClB,EAAE,EAAE,iBAAiB,CAAC,EAAE;gBACxB,OAAO,EAAE,iBAAiB,CAAC,OAAO;gBAClC,KAAK;gBACL,GAAG;gBACH,IAAI,EAAE,iBAAiB,CAAC,IAAI;gBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB;gBAC3D,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;gBACpC,YAAY;gBACZ,aAAa,EACT,iBAAiB,EAAE,mBAAmB,EAAE,IAAI,KAAK,aAAa,CAAC,IAAI;oBAC/D,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACtC,CAAC,CAAC,IAAI;aACjB,CAAC;YAEF,OAAO,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,cAAc,CAAC;YACX,IAAI,EAAE,iBAAiB,CAAC,UAAU;YAClC,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,KAAK,IACF,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,CAAC,CAAC,gCAAgC,CAAC,EAC1C,KAAK,EAAC,OAAO,EACb,QAAQ,QACR,MAAM,EAAE;YACJ,KAAC,MAAM,IAAc,OAAO,EAAE,aAAa,YACtC,CAAC,CAAC,gCAAgC,CAAC,IAD5B,QAAQ,CAEX;YACT,KAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAc,OAAO,EAAE,YAAY,YACpD,CAAC,CAAC,gCAAgC,CAAC,IADb,QAAQ,CAE1B;SACZ,YAED,KAAC,uBAAuB,IACpB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,EAC/B,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,qBAAqB,GAC1C,GACE,CACX,CAAC;AACN,CAAC;AAED,eAAe,kBAAkB,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 {localizedTranslation} from '@leav/utils';\nimport {Button, Modal} from 'antd';\nimport {useState} from 'react';\nimport AttributesSelectionList from '_ui/components/AttributesSelectionList';\nimport useSearchReducer from '_ui/components/LibraryItemsList/hooks/useSearchReducer';\nimport {SearchActionTypes} from '_ui/components/LibraryItemsList/hooks/useSearchReducer/searchReducer';\nimport useLang from '_ui/hooks/useLang';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type ISelectedAttribute} from '_ui/types/attributes';\nimport {type IAttribute, type IField} from '_ui/types/search';\nimport {AttributeFormat, AttributeType} from '_ui/_gqlTypes';\nimport {getFieldsKeyFromAttribute} from '../../helpers/getFieldsKeyFromAttribute';\n\ninterface IChooseTableColumnsProps {\n visible: boolean;\n onClose: () => void;\n}\n\nfunction ChooseTableColumns({visible, onClose}: IChooseTableColumnsProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n const {state: searchState, dispatch: searchDispatch} = useSearchReducer();\n const [selectedAttributes, setSelectedAttributes] = useState<ISelectedAttribute[]>(\n (searchState?.fields ?? []).map(col => {\n const currentAttribute = searchState.attributes.find(\n attribute => attribute.id === col.id && attribute.library === col.library,\n );\n\n return {\n ...col,\n path: col.key,\n label: currentAttribute?.label ?? null,\n multiple_values: !!col.multipleValues,\n };\n }),\n );\n\n const handleSubmit = () => {\n const noDuplicateNewAttribute: IAttribute[] = selectedAttributes\n .filter(\n selectedAttribute =>\n !searchState.attributes.some(\n attribute =>\n attribute.id === selectedAttribute.id && attribute.library === selectedAttribute.library,\n ),\n )\n .map(a => ({\n ...a,\n isLink: a.type === AttributeType.tree,\n isMultiple: a.multiple_values,\n format: a.format ?? undefined,\n }));\n\n const allAttributes = [...(searchState?.attributes ?? []), ...noDuplicateNewAttribute];\n\n searchDispatch({type: SearchActionTypes.SET_ATTRIBUTES, attributes: allAttributes});\n\n const newFields: IField[] = selectedAttributes.reduce((acc, selectedAttribute) => {\n const attribute = allAttributes.find(\n currentAttr =>\n currentAttr.id === selectedAttribute.id && currentAttr.library === selectedAttribute.library,\n );\n\n if (!attribute) {\n return acc;\n }\n\n const key = getFieldsKeyFromAttribute(selectedAttribute);\n\n const label =\n typeof attribute.label === 'string' ? attribute.label : localizedTranslation(attribute.label, lang);\n\n const embeddedData = selectedAttribute.embeddedFieldData && {\n format: selectedAttribute.embeddedFieldData?.format ?? AttributeFormat.text,\n path: selectedAttribute.path,\n };\n\n const field: IField = {\n id: selectedAttribute.id,\n library: selectedAttribute.library,\n label,\n key,\n type: selectedAttribute.type,\n format: attribute.format,\n parentAttributeData: selectedAttribute?.parentAttributeData,\n treeData: selectedAttribute.treeData,\n embeddedData,\n recordLibrary:\n selectedAttribute?.parentAttributeData?.type === AttributeType.tree\n ? selectedAttribute.path.split('.')[1]\n : null,\n };\n\n return [...acc, field];\n }, []);\n\n searchDispatch({\n type: SearchActionTypes.SET_FIELDS,\n fields: newFields,\n });\n\n onClose();\n };\n\n const _handleCancel = () => {\n onClose();\n };\n\n return (\n <Modal\n open={visible}\n onCancel={_handleCancel}\n title={t('table-columns-selection.header')}\n width=\"70rem\"\n centered\n footer={[\n <Button key=\"Cancel\" onClick={_handleCancel}>\n {t('table-columns-selection.cancel')}\n </Button>,\n <Button type=\"primary\" key=\"Submit\" onClick={handleSubmit}>\n {t('table-columns-selection.submit')}\n </Button>,\n ]}\n >\n <AttributesSelectionList\n library={searchState.library.id}\n selectedAttributes={selectedAttributes}\n onSelectionChange={setSelectedAttributes}\n />\n </Modal>\n );\n}\n\nexport default ChooseTableColumns;\n"]}
@@ -5,8 +5,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { AppstoreFilled, FilterOutlined, MenuOutlined, PlusOutlined, SaveFilled } from '@ant-design/icons';
6
6
  import { localizedTranslation, objectToNameValueArray } from '@leav/utils';
7
7
  import { Badge, Button, Dropdown, Space, Tooltip } from 'antd';
8
- import { GrUndo } from 'react-icons/gr';
9
- import { VscLayers } from 'react-icons/vsc';
10
8
  import styled from 'styled-components';
11
9
  import useSearchReducer from '../../../components/LibraryItemsList/hooks/useSearchReducer';
12
10
  import { SearchActionTypes } from '../../../components/LibraryItemsList/hooks/useSearchReducer/searchReducer';
@@ -23,6 +21,8 @@ import { defaultView } from '../constants';
23
21
  import FiltersDropdown from '../FiltersDropdown';
24
22
  import useUpdateViewsOrderMutation from '../hooks/useUpdateViewsOrderMutation';
25
23
  import IconViewType from '../IconViewType';
24
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
25
+ import { faUndo, faLayerGroup } from '@fortawesome/free-solid-svg-icons';
26
26
  const ViewButton = styled(Button) `
27
27
  && {
28
28
  display: flex;
@@ -154,9 +154,9 @@ function MenuView({ library }) {
154
154
  ],
155
155
  };
156
156
  return (_jsxs(Space, { size: "large", children: [_jsxs(Button.Group, { children: [_jsx(Tooltip, { title: localizedTranslation(searchState.view.current?.label, lang) || t('select-view.default-view'), children: _jsx(ViewButton, { icon: _jsx(IconViewType, { style: { marginRight: '8px' }, type: searchState.view.current.display.type }), "data-testid": "dropdown-view-options", onClick: _toggleShowView, children: _jsx(ViewLabel, { children: localizedTranslation(searchState.view.current?.label, lang) ||
157
- t('select-view.default-view') }) }) }), _jsx(Button, { disabled: searchState.view.sync, icon: _jsx(GrUndo, {}), onClick: _resetView, style: { paddingTop: '6px' } }), _jsx(Button, { icon: _jsx(SaveFilled, {}), onClick: _saveView, disabled: searchState.view.sync ||
157
+ t('select-view.default-view') }) }) }), _jsx(Button, { disabled: searchState.view.sync, icon: _jsx(FontAwesomeIcon, { icon: faUndo }), onClick: _resetView, style: { paddingTop: '6px' } }), _jsx(Button, { icon: _jsx(SaveFilled, {}), onClick: _saveView, disabled: searchState.view.sync ||
158
158
  searchState.view.current?.id === defaultView.id ||
159
- !searchState.view.current.owner }), _jsx(Dropdown, { menu: menu, trigger: ['click'], children: _jsx(Button, { icon: _jsx(PlusOutlined, {}) }) })] }), _jsx(Badge, { dot: !!searchState.filters.length, children: _jsxs(Button.Group, { children: [_jsx(Button, { onClick: _toggleShowFilters, icon: _jsx(FilterOutlined, {}), children: t('filters.filters') }), _jsx(FiltersDropdown, { libraryId: library.id, button: _jsx(Button, { icon: _jsx(PlusOutlined, {}), type: "default" }), attributes: library.attributes, trees: library.linkedTrees, libraries: [] })] }) }), _jsx(Button, { onClick: _toggleShowVersions, icon: _jsx(VscLayers, {}), style: { paddingTop: '5px' } })] }));
159
+ !searchState.view.current.owner }), _jsx(Dropdown, { menu: menu, trigger: ['click'], children: _jsx(Button, { icon: _jsx(PlusOutlined, {}) }) })] }), _jsx(Badge, { dot: !!searchState.filters.length, children: _jsxs(Button.Group, { children: [_jsx(Button, { onClick: _toggleShowFilters, icon: _jsx(FilterOutlined, {}), children: t('filters.filters') }), _jsx(FiltersDropdown, { libraryId: library.id, button: _jsx(Button, { icon: _jsx(PlusOutlined, {}), type: "default" }), attributes: library.attributes, trees: library.linkedTrees, libraries: [] })] }) }), _jsx(Button, { onClick: _toggleShowVersions, icon: _jsx(FontAwesomeIcon, { icon: faLayerGroup }), style: { paddingTop: '5px' } })] }));
160
160
  }
161
161
  export default MenuView;
162
162
  //# sourceMappingURL=MenuView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuView.js","sourceRoot":"","sources":["../../../../src/components/LibraryItemsList/MenuView/MenuView.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 {AppstoreFilled, FilterOutlined, MenuOutlined, PlusOutlined, SaveFilled} from '@ant-design/icons';\nimport {localizedTranslation, objectToNameValueArray} from '@leav/utils';\nimport {Badge, Button, Dropdown, type MenuProps, Space, Tooltip} from 'antd';\nimport {GrUndo} from 'react-icons/gr';\nimport {VscLayers} from 'react-icons/vsc';\nimport styled from 'styled-components';\nimport useSearchReducer from '_ui/components/LibraryItemsList/hooks/useSearchReducer';\nimport {SearchActionTypes} from '_ui/components/LibraryItemsList/hooks/useSearchReducer/searchReducer';\nimport useExecuteSaveViewMutation from '_ui/hooks/useExecuteSaveViewMutation/useExecuteSaveViewMutation';\nimport useLang from '_ui/hooks/useLang';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {SidebarContentType} from '_ui/types/search';\nimport {type ViewInput, ViewTypes} from '_ui/_gqlTypes';\nimport {type ILibraryDetailExtended} from '_ui/_queries/libraries/getLibraryDetailExtendQuery';\nimport {prepareView} from '_ui/_utils';\nimport {getRequestFromFilters} from '_ui/_utils/getRequestFromFilter';\nimport {PREFIX_USER_VIEWS_ORDER_KEY} from '../../../constants';\nimport {useUser} from '../../../hooks/useUser/useUser';\nimport {defaultView} from '../constants';\nimport FiltersDropdown from '../FiltersDropdown';\nimport useUpdateViewsOrderMutation from '../hooks/useUpdateViewsOrderMutation';\nimport IconViewType from '../IconViewType';\n\ninterface IMenuViewProps {\n library: ILibraryDetailExtended;\n}\n\nconst ViewButton = styled(Button)`\n && {\n display: flex;\n align-items: center;\n }\n`;\n\nconst ViewLabel = styled.span`\n width: 180px;\n overflow: hidden;\n text-overflow: ellipsis;\n whitespace: nowrap;\n`;\n\nfunction MenuView({library}: IMenuViewProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang, defaultLang} = useLang();\n\n const {state: searchState, dispatch: searchDispatch} = useSearchReducer();\n const {userData} = useUser();\n\n const {saveView: addView} = useExecuteSaveViewMutation();\n const {updateViewsOrder} = useUpdateViewsOrderMutation(library.id);\n\n const _toggleShowView = () => {\n const visible = !searchState.sideBar.visible || searchState.sideBar.type !== SidebarContentType.VIEW;\n searchDispatch({\n type: SearchActionTypes.SET_SIDEBAR,\n sidebarType: SidebarContentType.VIEW,\n visible,\n });\n };\n\n const _toggleShowFilters = () => {\n const visible = !searchState.sideBar.visible || searchState.sideBar.type !== SidebarContentType.FILTERS;\n searchDispatch({\n type: SearchActionTypes.SET_SIDEBAR,\n sidebarType: SidebarContentType.FILTERS,\n visible,\n });\n };\n\n const _toggleShowVersions = () => {\n const visible = !searchState.sideBar.visible || searchState.sideBar.type !== SidebarContentType.FILTERS;\n searchDispatch({\n type: SearchActionTypes.SET_SIDEBAR,\n sidebarType: SidebarContentType.VERSIONS,\n visible,\n });\n };\n\n const _resetView = () => {\n searchDispatch({\n type: SearchActionTypes.CHANGE_VIEW,\n view: searchState.view.current,\n });\n };\n\n const _getNewViewFromSearchState = (): ViewInput => ({\n library: library.id,\n label: {\n [defaultLang]: t('view.add-view.title', {lng: defaultLang}),\n },\n display: searchState.display,\n shared: false,\n sort: searchState.sort,\n filters: getRequestFromFilters(searchState.filters),\n valuesVersions: searchState.valuesVersions\n ? objectToNameValueArray(searchState.valuesVersions)\n .map(version => ({\n treeId: version?.name ?? null,\n treeNode: version?.value?.id ?? null,\n }))\n .filter(v => v.treeId !== null && v.treeNode !== null)\n : null,\n attributes: searchState.fields?.map(f => f.key) ?? [],\n });\n\n const _saveView = async () => {\n if (searchState.view.current.id !== defaultView.id) {\n // save view in backend\n await addView({\n view: {\n ..._getNewViewFromSearchState(),\n id: searchState.view.current.id,\n label: searchState.view.current.label,\n description: searchState.view.current.description,\n shared: searchState.view.current.shared,\n color: searchState.view.current.color,\n sort: searchState.sort ?? null,\n },\n });\n\n searchDispatch({\n type: SearchActionTypes.SET_VIEW_SYNC,\n sync: true,\n });\n }\n };\n\n const _handleAddView = async (viewType: ViewTypes) => {\n const newView: ViewInput = {\n ..._getNewViewFromSearchState(),\n display: {...searchState.display, type: viewType},\n };\n\n // save view in backend\n const newViewRes = await addView({\n view: newView,\n });\n\n await updateViewsOrder({\n key: PREFIX_USER_VIEWS_ORDER_KEY + newView.library,\n value: [...searchState.userViewsOrder, newViewRes.data.saveView.id],\n global: false,\n });\n\n searchDispatch({\n type: SearchActionTypes.CHANGE_VIEW,\n view: prepareView(\n newViewRes.data.saveView,\n searchState.attributes,\n searchState.library.id,\n userData?.userId,\n ),\n });\n };\n\n const menu: MenuProps = {\n items: [\n {\n key: 'add-group',\n type: 'group',\n label: t('view.add-view.title'),\n children: [\n {\n key: 'list',\n onClick: () => _handleAddView(ViewTypes.list),\n icon: <MenuOutlined />,\n label: t('view.type-list'),\n },\n {\n key: 'cards',\n onClick: () => _handleAddView(ViewTypes.cards),\n icon: <AppstoreFilled />,\n label: t('view.type-cards'),\n },\n ],\n },\n ],\n };\n\n return (\n <Space size=\"large\">\n <Button.Group>\n <Tooltip\n title={localizedTranslation(searchState.view.current?.label, lang) || t('select-view.default-view')}\n >\n <ViewButton\n icon={\n <IconViewType style={{marginRight: '8px'}} type={searchState.view.current.display.type} />\n }\n data-testid=\"dropdown-view-options\"\n onClick={_toggleShowView}\n >\n <ViewLabel>\n {localizedTranslation(searchState.view.current?.label, lang) ||\n t('select-view.default-view')}\n </ViewLabel>\n </ViewButton>\n </Tooltip>\n <Button\n disabled={searchState.view.sync}\n icon={<GrUndo />}\n onClick={_resetView}\n style={{paddingTop: '6px'}}\n />\n <Button\n icon={<SaveFilled />}\n onClick={_saveView}\n disabled={\n searchState.view.sync ||\n searchState.view.current?.id === defaultView.id ||\n !searchState.view.current.owner\n }\n />\n <Dropdown menu={menu} trigger={['click']}>\n <Button icon={<PlusOutlined />}></Button>\n </Dropdown>\n </Button.Group>\n <Badge dot={!!searchState.filters.length}>\n <Button.Group>\n <Button onClick={_toggleShowFilters} icon={<FilterOutlined />}>\n {t('filters.filters')}\n </Button>\n <FiltersDropdown\n libraryId={library.id}\n button={<Button icon={<PlusOutlined />} type=\"default\" />}\n attributes={library.attributes}\n trees={library.linkedTrees}\n libraries={[]}\n />\n </Button.Group>\n </Badge>\n <Button onClick={_toggleShowVersions} icon={<VscLayers />} style={{paddingTop: '5px'}} />\n </Space>\n );\n}\n\nexport default MenuView;\n"]}
1
+ {"version":3,"file":"MenuView.js","sourceRoot":"","sources":["../../../../src/components/LibraryItemsList/MenuView/MenuView.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 {AppstoreFilled, FilterOutlined, MenuOutlined, PlusOutlined, SaveFilled} from '@ant-design/icons';\nimport {localizedTranslation, objectToNameValueArray} from '@leav/utils';\nimport {Badge, Button, Dropdown, type MenuProps, Space, Tooltip} from 'antd';\nimport styled from 'styled-components';\nimport useSearchReducer from '_ui/components/LibraryItemsList/hooks/useSearchReducer';\nimport {SearchActionTypes} from '_ui/components/LibraryItemsList/hooks/useSearchReducer/searchReducer';\nimport useExecuteSaveViewMutation from '_ui/hooks/useExecuteSaveViewMutation/useExecuteSaveViewMutation';\nimport useLang from '_ui/hooks/useLang';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {SidebarContentType} from '_ui/types/search';\nimport {type ViewInput, ViewTypes} from '_ui/_gqlTypes';\nimport {type ILibraryDetailExtended} from '_ui/_queries/libraries/getLibraryDetailExtendQuery';\nimport {prepareView} from '_ui/_utils';\nimport {getRequestFromFilters} from '_ui/_utils/getRequestFromFilter';\nimport {PREFIX_USER_VIEWS_ORDER_KEY} from '../../../constants';\nimport {useUser} from '../../../hooks/useUser/useUser';\nimport {defaultView} from '../constants';\nimport FiltersDropdown from '../FiltersDropdown';\nimport useUpdateViewsOrderMutation from '../hooks/useUpdateViewsOrderMutation';\nimport IconViewType from '../IconViewType';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faUndo, faLayerGroup} from '@fortawesome/free-solid-svg-icons';\n\ninterface IMenuViewProps {\n library: ILibraryDetailExtended;\n}\n\nconst ViewButton = styled(Button)`\n && {\n display: flex;\n align-items: center;\n }\n`;\n\nconst ViewLabel = styled.span`\n width: 180px;\n overflow: hidden;\n text-overflow: ellipsis;\n whitespace: nowrap;\n`;\n\nfunction MenuView({library}: IMenuViewProps): JSX.Element {\n const {t} = useSharedTranslation();\n const {lang, defaultLang} = useLang();\n\n const {state: searchState, dispatch: searchDispatch} = useSearchReducer();\n const {userData} = useUser();\n\n const {saveView: addView} = useExecuteSaveViewMutation();\n const {updateViewsOrder} = useUpdateViewsOrderMutation(library.id);\n\n const _toggleShowView = () => {\n const visible = !searchState.sideBar.visible || searchState.sideBar.type !== SidebarContentType.VIEW;\n searchDispatch({\n type: SearchActionTypes.SET_SIDEBAR,\n sidebarType: SidebarContentType.VIEW,\n visible,\n });\n };\n\n const _toggleShowFilters = () => {\n const visible = !searchState.sideBar.visible || searchState.sideBar.type !== SidebarContentType.FILTERS;\n searchDispatch({\n type: SearchActionTypes.SET_SIDEBAR,\n sidebarType: SidebarContentType.FILTERS,\n visible,\n });\n };\n\n const _toggleShowVersions = () => {\n const visible = !searchState.sideBar.visible || searchState.sideBar.type !== SidebarContentType.FILTERS;\n searchDispatch({\n type: SearchActionTypes.SET_SIDEBAR,\n sidebarType: SidebarContentType.VERSIONS,\n visible,\n });\n };\n\n const _resetView = () => {\n searchDispatch({\n type: SearchActionTypes.CHANGE_VIEW,\n view: searchState.view.current,\n });\n };\n\n const _getNewViewFromSearchState = (): ViewInput => ({\n library: library.id,\n label: {\n [defaultLang]: t('view.add-view.title', {lng: defaultLang}),\n },\n display: searchState.display,\n shared: false,\n sort: searchState.sort,\n filters: getRequestFromFilters(searchState.filters),\n valuesVersions: searchState.valuesVersions\n ? objectToNameValueArray(searchState.valuesVersions)\n .map(version => ({\n treeId: version?.name ?? null,\n treeNode: version?.value?.id ?? null,\n }))\n .filter(v => v.treeId !== null && v.treeNode !== null)\n : null,\n attributes: searchState.fields?.map(f => f.key) ?? [],\n });\n\n const _saveView = async () => {\n if (searchState.view.current.id !== defaultView.id) {\n // save view in backend\n await addView({\n view: {\n ..._getNewViewFromSearchState(),\n id: searchState.view.current.id,\n label: searchState.view.current.label,\n description: searchState.view.current.description,\n shared: searchState.view.current.shared,\n color: searchState.view.current.color,\n sort: searchState.sort ?? null,\n },\n });\n\n searchDispatch({\n type: SearchActionTypes.SET_VIEW_SYNC,\n sync: true,\n });\n }\n };\n\n const _handleAddView = async (viewType: ViewTypes) => {\n const newView: ViewInput = {\n ..._getNewViewFromSearchState(),\n display: {...searchState.display, type: viewType},\n };\n\n // save view in backend\n const newViewRes = await addView({\n view: newView,\n });\n\n await updateViewsOrder({\n key: PREFIX_USER_VIEWS_ORDER_KEY + newView.library,\n value: [...searchState.userViewsOrder, newViewRes.data.saveView.id],\n global: false,\n });\n\n searchDispatch({\n type: SearchActionTypes.CHANGE_VIEW,\n view: prepareView(\n newViewRes.data.saveView,\n searchState.attributes,\n searchState.library.id,\n userData?.userId,\n ),\n });\n };\n\n const menu: MenuProps = {\n items: [\n {\n key: 'add-group',\n type: 'group',\n label: t('view.add-view.title'),\n children: [\n {\n key: 'list',\n onClick: () => _handleAddView(ViewTypes.list),\n icon: <MenuOutlined />,\n label: t('view.type-list'),\n },\n {\n key: 'cards',\n onClick: () => _handleAddView(ViewTypes.cards),\n icon: <AppstoreFilled />,\n label: t('view.type-cards'),\n },\n ],\n },\n ],\n };\n\n return (\n <Space size=\"large\">\n <Button.Group>\n <Tooltip\n title={localizedTranslation(searchState.view.current?.label, lang) || t('select-view.default-view')}\n >\n <ViewButton\n icon={\n <IconViewType style={{marginRight: '8px'}} type={searchState.view.current.display.type} />\n }\n data-testid=\"dropdown-view-options\"\n onClick={_toggleShowView}\n >\n <ViewLabel>\n {localizedTranslation(searchState.view.current?.label, lang) ||\n t('select-view.default-view')}\n </ViewLabel>\n </ViewButton>\n </Tooltip>\n <Button\n disabled={searchState.view.sync}\n icon={<FontAwesomeIcon icon={faUndo} />}\n onClick={_resetView}\n style={{paddingTop: '6px'}}\n />\n <Button\n icon={<SaveFilled />}\n onClick={_saveView}\n disabled={\n searchState.view.sync ||\n searchState.view.current?.id === defaultView.id ||\n !searchState.view.current.owner\n }\n />\n <Dropdown menu={menu} trigger={['click']}>\n <Button icon={<PlusOutlined />}></Button>\n </Dropdown>\n </Button.Group>\n <Badge dot={!!searchState.filters.length}>\n <Button.Group>\n <Button onClick={_toggleShowFilters} icon={<FilterOutlined />}>\n {t('filters.filters')}\n </Button>\n <FiltersDropdown\n libraryId={library.id}\n button={<Button icon={<PlusOutlined />} type=\"default\" />}\n attributes={library.attributes}\n trees={library.linkedTrees}\n libraries={[]}\n />\n </Button.Group>\n </Badge>\n <Button\n onClick={_toggleShowVersions}\n icon={<FontAwesomeIcon icon={faLayerGroup} />}\n style={{paddingTop: '5px'}}\n />\n </Space>\n );\n}\n\nexport default MenuView;\n"]}
@@ -1,9 +1,7 @@
1
- import { type DraggableProvidedDragHandleProps } from 'react-beautiful-dnd';
2
1
  import { type IView } from '../../../../types/views';
3
2
  interface IViewProps {
4
3
  view: IView;
5
4
  onEdit: (viewId: string) => void;
6
- handleProps?: DraggableProvidedDragHandleProps;
7
5
  }
8
- declare function View({ view, onEdit, handleProps }: IViewProps): JSX.Element;
6
+ declare function View({ view, onEdit }: IViewProps): JSX.Element;
9
7
  export default View;