@leav/ui 1.6.0-dfb71145 → 1.6.0-eb8e0390

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 (164) hide show
  1. package/dist/_gqlTypes/index.d.ts +640 -701
  2. package/dist/_gqlTypes/index.js +50 -167
  3. package/dist/_gqlTypes/index.js.map +1 -1
  4. package/dist/_queries/trees/treeNodeChildrenQuery.js +2 -0
  5. package/dist/_queries/trees/treeNodeChildrenQuery.js.map +1 -1
  6. package/dist/_queries/views/viewDetailsFragment.js +1 -0
  7. package/dist/_queries/views/viewDetailsFragment.js.map +1 -1
  8. package/dist/components/AttributesSelectionList/sharedComponents.d.ts +159 -153
  9. package/dist/components/Explorer/Explorer.js +5 -3
  10. package/dist/components/Explorer/Explorer.js.map +1 -1
  11. package/dist/components/Explorer/TableCell.js +6 -7
  12. package/dist/components/Explorer/TableCell.js.map +1 -1
  13. package/dist/components/Explorer/TableNameCell.js +3 -2
  14. package/dist/components/Explorer/TableNameCell.js.map +1 -1
  15. package/dist/components/Explorer/_queries/useExplorerData.d.ts +7 -7
  16. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js +3 -2
  17. package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -1
  18. package/dist/components/Explorer/actions-item/useReplaceItemAction.d.ts +2 -1
  19. package/dist/components/Explorer/actions-item/useReplaceItemAction.js +5 -4
  20. package/dist/components/Explorer/actions-item/useReplaceItemAction.js.map +1 -1
  21. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.d.ts +10 -0
  22. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.js +46 -0
  23. package/dist/components/Explorer/actions-mass/export/ExportProfileSelectionModal.js.map +1 -0
  24. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.d.ts +1 -0
  25. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.js +17 -0
  26. package/dist/components/Explorer/actions-mass/export/content/NoProfiles.js.map +1 -0
  27. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.d.ts +8 -0
  28. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.js +49 -0
  29. package/dist/components/Explorer/actions-mass/export/content/ProfilesSelection.js.map +1 -0
  30. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.d.ts +27 -0
  31. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.js +48 -0
  32. package/dist/components/Explorer/actions-mass/export/useGetLibraryExportProfiles.js.map +1 -0
  33. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js +3 -2
  34. package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js.map +1 -1
  35. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js +3 -2
  36. package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js.map +1 -1
  37. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js +3 -2
  38. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js.map +1 -1
  39. package/dist/components/Explorer/actions-mass/useExportMassAction.d.ts +7 -4
  40. package/dist/components/Explorer/actions-mass/useExportMassAction.js +80 -73
  41. package/dist/components/Explorer/actions-mass/useExportMassAction.js.map +1 -1
  42. package/dist/components/Explorer/actions-mass/useMassActions.js +3 -2
  43. package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -1
  44. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +3 -2
  45. package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
  46. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.d.ts +2 -1
  47. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js +5 -4
  48. package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js.map +1 -1
  49. package/dist/components/Explorer/link-item/LinkModal.d.ts +1 -0
  50. package/dist/components/Explorer/link-item/LinkModal.js +2 -2
  51. package/dist/components/Explorer/link-item/LinkModal.js.map +1 -1
  52. package/dist/components/Explorer/list-saved-views/SavedViews.js +4 -3
  53. package/dist/components/Explorer/list-saved-views/SavedViews.js.map +1 -1
  54. package/dist/components/Explorer/manage-view-settings/_shared/ColumnItem.js +5 -8
  55. package/dist/components/Explorer/manage-view-settings/_shared/ColumnItem.js.map +1 -1
  56. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js +3 -2
  57. package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js.map +1 -1
  58. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +7 -6
  59. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  60. package/dist/components/Explorer/manage-view-settings/filter-items/FilterListItem.js +3 -2
  61. package/dist/components/Explorer/manage-view-settings/filter-items/FilterListItem.js.map +1 -1
  62. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js +4 -3
  63. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js.map +1 -1
  64. package/dist/components/Explorer/manage-view-settings/router-menu/SettingItem.js +3 -2
  65. package/dist/components/Explorer/manage-view-settings/router-menu/SettingItem.js.map +1 -1
  66. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js +3 -2
  67. package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js.map +1 -1
  68. package/dist/components/Explorer/manage-view-settings/save-view/LabelViewFormModal.js +3 -2
  69. package/dist/components/Explorer/manage-view-settings/save-view/LabelViewFormModal.js.map +1 -1
  70. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js +3 -0
  71. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js.map +1 -1
  72. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js +3 -2
  73. package/dist/components/Explorer/manage-view-settings/save-view/useCreateNewView.js.map +1 -1
  74. package/dist/components/Explorer/manage-view-settings/save-view/useDeleteView.js +4 -3
  75. package/dist/components/Explorer/manage-view-settings/save-view/useDeleteView.js.map +1 -1
  76. package/dist/components/Explorer/manage-view-settings/save-view/useEditLabelView.js +3 -2
  77. package/dist/components/Explorer/manage-view-settings/save-view/useEditLabelView.js.map +1 -1
  78. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js +3 -2
  79. package/dist/components/Explorer/manage-view-settings/save-view/useResetView.js.map +1 -1
  80. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js +3 -2
  81. package/dist/components/Explorer/manage-view-settings/save-view/useShareView.js.map +1 -1
  82. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js +3 -2
  83. package/dist/components/Explorer/manage-view-settings/save-view/useUpdateView.js.map +1 -1
  84. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js +7 -6
  85. package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js.map +1 -1
  86. package/dist/components/Explorer/manage-view-settings/sort-items/SortListItem.js +3 -2
  87. package/dist/components/Explorer/manage-view-settings/sort-items/SortListItem.js.map +1 -1
  88. package/dist/components/Filters/_types.d.ts +2 -0
  89. package/dist/components/Filters/_types.js.map +1 -1
  90. package/dist/components/Filters/context/filtersReducer.js +1 -1
  91. package/dist/components/Filters/context/filtersReducer.js.map +1 -1
  92. package/dist/components/Filters/filter-items/CommonFilterItem.js +10 -3
  93. package/dist/components/Filters/filter-items/CommonFilterItem.js.map +1 -1
  94. package/dist/components/Filters/filter-items/EmptyValueCheckbox.d.ts +8 -0
  95. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js +16 -0
  96. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js.map +1 -0
  97. package/dist/components/Filters/filter-items/filter-type/BooleanAttributeDropdown.js +23 -9
  98. package/dist/components/Filters/filter-items/filter-type/BooleanAttributeDropdown.js.map +1 -1
  99. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js +9 -8
  100. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js.map +1 -1
  101. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js +3 -2
  102. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js.map +1 -1
  103. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js +1 -1
  104. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js.map +1 -1
  105. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.d.ts +0 -1
  106. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js +17 -23
  107. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js.map +1 -1
  108. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js +10 -12
  109. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js.map +1 -1
  110. package/dist/components/Filters/filter-items/filter-type/useConditionOptionsByType.js +3 -13
  111. package/dist/components/Filters/filter-items/filter-type/useConditionOptionsByType.js.map +1 -1
  112. package/dist/components/Filters/prepareFiltersForRequest.js +36 -3
  113. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
  114. package/dist/components/Filters/useFilters.d.ts +5 -0
  115. package/dist/components/Filters/useTransformFilters.js +4 -0
  116. package/dist/components/Filters/useTransformFilters.js.map +1 -1
  117. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js +1 -8
  118. package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js.map +1 -1
  119. package/dist/components/LibraryItemsList/MenuView/MenuView.js +4 -4
  120. package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +1 -1
  121. package/dist/components/LibraryItemsList/ViewPanel/View/View.js +3 -2
  122. package/dist/components/LibraryItemsList/ViewPanel/View/View.js.map +1 -1
  123. package/dist/components/Notifications/hooks/useNotificationSubscription.js +3 -2
  124. package/dist/components/Notifications/hooks/useNotificationSubscription.js.map +1 -1
  125. package/dist/components/RecordEdition/EditRecordContent/shared/ValuesVersionBtn/ValuesVersionBtn.js +5 -20
  126. package/dist/components/RecordEdition/EditRecordContent/shared/ValuesVersionBtn/ValuesVersionBtn.js.map +1 -1
  127. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js +4 -3
  128. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record/useLinkRecords.js.map +1 -1
  129. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.d.ts +53 -51
  130. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +4 -3
  131. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  132. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +9 -2
  133. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
  134. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.d.ts +53 -51
  135. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +3 -2
  136. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -1
  137. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +2 -1
  138. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +4 -7
  139. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
  140. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +3 -2
  141. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +2 -2
  142. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -1
  143. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js +3 -2
  144. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js.map +1 -1
  145. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordInformations/RecordInformations.js +3 -2
  146. package/dist/components/RecordEdition/EditRecordSidebar/RecordSummary/RecordInformations/RecordInformations.js.map +1 -1
  147. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js +4 -3
  148. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js.map +1 -1
  149. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js +3 -2
  150. package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js.map +1 -1
  151. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +1 -0
  152. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +7 -7
  153. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
  154. package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +2 -1
  155. package/dist/components/SelectTreeNode/SelectTreeNode.js +3 -3
  156. package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
  157. package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +2 -1
  158. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +6 -2
  159. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  160. package/dist/components/SelectTreeNode/TreeNodeTitle.js +3 -2
  161. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
  162. package/dist/locales/en/shared.json +15 -3
  163. package/dist/locales/fr/shared.json +15 -3
  164. package/package.json +8 -9
@@ -1 +1 @@
1
- {"version":3,"file":"SavedViews.js","sourceRoot":"","sources":["../../../../src/components/Explorer/list-saved-views/SavedViews.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 ComponentProps, type FunctionComponent, useEffect, useState} from 'react';\nimport styled from 'styled-components';\nimport {KitRadio, KitSpace, KitTypography, KitNotification} from 'aristid-ds';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useViewSettingsContext} from '../manage-view-settings/store-view-settings/useViewSettingsContext';\nimport {localizedTranslation} from '@leav/utils';\nimport {useLang} from '_ui/hooks';\nimport {ViewActionsButtons} from '../manage-view-settings/save-view/ViewActionsButtons';\nimport {useLoadView} from '../useLoadView';\nimport {type Radio} from 'antd';\nimport {useMeQuery} from '_ui/_gqlTypes';\nimport {useDeleteView} from '../manage-view-settings/save-view/useDeleteView';\nimport {useEditLabelView} from '../manage-view-settings/save-view/useEditLabelView';\nimport {IoCopy} from 'react-icons/io5';\nimport {type IUserView} from '../_types';\nimport classNames from 'classnames';\nimport {DefaultViewId} from '../manage-view-settings/store-view-settings/viewSettingsInitialState';\nimport {INFO_NOTIFICATION_DURATION} from '_ui/constants';\n\nconst ContentWrapperStyledDiv = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n`;\n\nconst StyledListViewsDiv = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst StyleKitRadioGroup = styled(KitRadio.Group)`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0 0 calc(var(--general-spacing-xs) * 1px) 0;\n color: var(--general-utilities-text-primary);\n gap: calc(var(--general-spacing-xs) * 1px);\n`;\n\nconst StyledViewDiv = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: calc(var(--general-spacing-xs) * 1px);\n border-radius: calc(var(--general-border-radius-xs) * 1px);\n\n &.selected,\n &:has(label:hover),\n &:has(svg:hover) {\n background: var(--general-utilities-main-light);\n }\n`;\n\nconst StyledIconsDiv = styled.div`\n .edit,\n .delete {\n font-size: calc(var(--general-typography-fontSize5) * 1px);\n flex: 0 0 auto;\n cursor: pointer;\n display: inline-block;\n }\n\n .edit {\n color: var(--general-utilities-main-default);\n }\n\n .delete {\n color: var(--general-utilities-error-default);\n }\n`;\n\nconst StyledCopySpan = styled.span`\n margin-left: calc(var(--general-spacing-xs) * 1px);\n color: var(--general-colors-neutral-grey-400);\n`;\n\nexport const SavedViews: FunctionComponent = () => {\n const {t} = useSharedTranslation();\n const {availableLangs} = useLang();\n const {view} = useViewSettingsContext();\n const {loadView} = useLoadView();\n const {iconDelete, deleteModal} = useDeleteView();\n const {iconEditLabel, editViewModal} = useEditLabelView();\n\n const [currentView, setCurrentView] = useState<IUserView | undefined>(\n view.savedViews.find(viewItem => view.viewId === viewItem.id) ?? undefined,\n );\n\n const {data: userData} = useMeQuery();\n\n const isOwnerView = (ownerId: string | null) => ownerId === userData?.me?.whoAmI?.id;\n\n const sharedViews = view.savedViews.filter(viewItem => viewItem.shared);\n const myViews = view.savedViews.filter(viewItem => !viewItem.shared);\n\n const _selectedViewClass = (viewId: string | null) =>\n classNames({\n selected: view.viewId === viewId,\n });\n\n useEffect(() => {\n setCurrentView(view.savedViews.find(viewItem => view.viewId === viewItem.id) ?? undefined);\n }, [view.viewId]);\n\n const _onClickLoadView: ComponentProps<typeof Radio>['onChange'] = e => {\n loadView(e.target.value);\n };\n\n return (\n <>\n {editViewModal}\n {deleteModal}\n <ContentWrapperStyledDiv>\n <StyledListViewsDiv>\n <StyleKitRadioGroup onChange={_onClickLoadView} value={currentView?.id}>\n <KitTypography.Title level=\"h4\">{t('explorer.viewList.my-views')}</KitTypography.Title>\n <StyledViewDiv className={_selectedViewClass(DefaultViewId)}>\n <KitRadio value={undefined}>{t('explorer.viewList.default-view')}</KitRadio>\n </StyledViewDiv>\n {myViews.map(viewItem => (\n <StyledViewDiv className={_selectedViewClass(viewItem.id)} key={viewItem.id}>\n <KitRadio value={viewItem.id}>\n {localizedTranslation(viewItem.label, availableLangs)}\n {viewItem?.id && (\n <StyledCopySpan\n title={`${t('explorer.viewList.copy-id')} : ${viewItem?.id}`}\n onClick={async e => {\n e.preventDefault();\n e.stopPropagation();\n await navigator.clipboard.writeText(viewItem.id || '');\n KitNotification.info({\n message: `Id : ${viewItem?.id}`,\n description: t('explorer.viewList.copied'),\n duration: INFO_NOTIFICATION_DURATION,\n closable: true,\n });\n }}\n >\n <IoCopy />\n </StyledCopySpan>\n )}\n </KitRadio>\n <StyledIconsDiv>\n <KitSpace>\n {iconEditLabel(viewItem)}\n {iconDelete(viewItem)}\n </KitSpace>\n </StyledIconsDiv>\n </StyledViewDiv>\n ))}\n </StyleKitRadioGroup>\n <StyleKitRadioGroup onChange={_onClickLoadView} value={currentView?.id}>\n <KitTypography.Title level=\"h4\">{t('explorer.viewList.shared-views')}</KitTypography.Title>\n {sharedViews.length === 0 ? (\n <KitTypography.Text size=\"fontSize5\">\n {t('explorer.viewList.no-shared-views')}\n </KitTypography.Text>\n ) : (\n sharedViews.map(viewItem => (\n <StyledViewDiv className={_selectedViewClass(viewItem.id)} key={viewItem.id}>\n <KitRadio value={viewItem.id}>\n {localizedTranslation(viewItem.label, availableLangs)}\n {viewItem?.id && (\n <StyledCopySpan\n title={`${t('explorer.viewList.copy-id')} : ${viewItem?.id}`}\n onClick={async e => {\n e.preventDefault();\n e.stopPropagation();\n await navigator.clipboard.writeText(viewItem.id || '');\n KitNotification.info({\n message: `Id : ${viewItem?.id}`,\n description: t('explorer.viewList.copied'),\n duration: INFO_NOTIFICATION_DURATION,\n closable: true,\n });\n }}\n >\n <IoCopy />\n </StyledCopySpan>\n )}\n </KitRadio>\n {isOwnerView(viewItem.ownerId) ? (\n <StyledIconsDiv>\n <KitSpace>\n {iconEditLabel(viewItem)}\n {iconDelete(viewItem)}\n </KitSpace>\n </StyledIconsDiv>\n ) : null}\n </StyledViewDiv>\n ))\n )}\n </StyleKitRadioGroup>\n </StyledListViewsDiv>\n <ViewActionsButtons />\n </ContentWrapperStyledDiv>\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"SavedViews.js","sourceRoot":"","sources":["../../../../src/components/Explorer/list-saved-views/SavedViews.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 ComponentProps, type FunctionComponent, useEffect, useState} from 'react';\nimport styled from 'styled-components';\nimport {KitRadio, KitSpace, KitTypography, KitNotification} from 'aristid-ds';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {useViewSettingsContext} from '../manage-view-settings/store-view-settings/useViewSettingsContext';\nimport {localizedTranslation} from '@leav/utils';\nimport {useLang} from '_ui/hooks';\nimport {ViewActionsButtons} from '../manage-view-settings/save-view/ViewActionsButtons';\nimport {useLoadView} from '../useLoadView';\nimport {type Radio} from 'antd';\nimport {useMeQuery} from '_ui/_gqlTypes';\nimport {useDeleteView} from '../manage-view-settings/save-view/useDeleteView';\nimport {useEditLabelView} from '../manage-view-settings/save-view/useEditLabelView';\nimport {type IUserView} from '../_types';\nimport classNames from 'classnames';\nimport {DefaultViewId} from '../manage-view-settings/store-view-settings/viewSettingsInitialState';\nimport {INFO_NOTIFICATION_DURATION} from '_ui/constants';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCopy} from '@fortawesome/free-solid-svg-icons';\n\nconst ContentWrapperStyledDiv = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n`;\n\nconst StyledListViewsDiv = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst StyleKitRadioGroup = styled(KitRadio.Group)`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0 0 calc(var(--general-spacing-xs) * 1px) 0;\n color: var(--general-utilities-text-primary);\n gap: calc(var(--general-spacing-xs) * 1px);\n`;\n\nconst StyledViewDiv = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: calc(var(--general-spacing-xs) * 1px);\n border-radius: calc(var(--general-border-radius-xs) * 1px);\n\n &.selected,\n &:has(label:hover),\n &:has(svg:hover) {\n background: var(--general-utilities-main-light);\n }\n`;\n\nconst StyledIconsDiv = styled.div`\n .edit,\n .delete {\n font-size: calc(var(--general-typography-fontSize5) * 1px);\n flex: 0 0 auto;\n cursor: pointer;\n display: inline-block;\n }\n\n .edit {\n color: var(--general-utilities-main-default);\n }\n\n .delete {\n color: var(--general-utilities-error-default);\n }\n`;\n\nconst StyledCopySpan = styled.span`\n margin-left: calc(var(--general-spacing-xs) * 1px);\n color: var(--general-colors-neutral-grey-400);\n`;\n\nexport const SavedViews: FunctionComponent = () => {\n const {t} = useSharedTranslation();\n const {availableLangs} = useLang();\n const {view} = useViewSettingsContext();\n const {loadView} = useLoadView();\n const {iconDelete, deleteModal} = useDeleteView();\n const {iconEditLabel, editViewModal} = useEditLabelView();\n\n const [currentView, setCurrentView] = useState<IUserView | undefined>(\n view.savedViews.find(viewItem => view.viewId === viewItem.id) ?? undefined,\n );\n\n const {data: userData} = useMeQuery();\n\n const isOwnerView = (ownerId: string | null) => ownerId === userData?.me?.whoAmI?.id;\n\n const sharedViews = view.savedViews.filter(viewItem => viewItem.shared);\n const myViews = view.savedViews.filter(viewItem => !viewItem.shared);\n\n const _selectedViewClass = (viewId: string | null) =>\n classNames({\n selected: view.viewId === viewId,\n });\n\n useEffect(() => {\n setCurrentView(view.savedViews.find(viewItem => view.viewId === viewItem.id) ?? undefined);\n }, [view.viewId]);\n\n const _onClickLoadView: ComponentProps<typeof Radio>['onChange'] = e => {\n loadView(e.target.value);\n };\n\n return (\n <>\n {editViewModal}\n {deleteModal}\n <ContentWrapperStyledDiv>\n <StyledListViewsDiv>\n <StyleKitRadioGroup onChange={_onClickLoadView} value={currentView?.id}>\n <KitTypography.Title level=\"h4\">{t('explorer.viewList.my-views')}</KitTypography.Title>\n <StyledViewDiv className={_selectedViewClass(DefaultViewId)}>\n <KitRadio value={undefined}>{t('explorer.viewList.default-view')}</KitRadio>\n </StyledViewDiv>\n {myViews.map(viewItem => (\n <StyledViewDiv className={_selectedViewClass(viewItem.id)} key={viewItem.id}>\n <KitRadio value={viewItem.id}>\n {localizedTranslation(viewItem.label, availableLangs)}\n {viewItem?.id && (\n <StyledCopySpan\n title={`${t('explorer.viewList.copy-id')} : ${viewItem?.id}`}\n onClick={async e => {\n e.preventDefault();\n e.stopPropagation();\n await navigator.clipboard.writeText(viewItem.id || '');\n KitNotification.info({\n message: `Id : ${viewItem?.id}`,\n description: t('explorer.viewList.copied'),\n duration: INFO_NOTIFICATION_DURATION,\n closable: true,\n });\n }}\n >\n <FontAwesomeIcon icon={faCopy} />\n </StyledCopySpan>\n )}\n </KitRadio>\n <StyledIconsDiv>\n <KitSpace>\n {iconEditLabel(viewItem)}\n {iconDelete(viewItem)}\n </KitSpace>\n </StyledIconsDiv>\n </StyledViewDiv>\n ))}\n </StyleKitRadioGroup>\n <StyleKitRadioGroup onChange={_onClickLoadView} value={currentView?.id}>\n <KitTypography.Title level=\"h4\">{t('explorer.viewList.shared-views')}</KitTypography.Title>\n {sharedViews.length === 0 ? (\n <KitTypography.Text size=\"fontSize5\">\n {t('explorer.viewList.no-shared-views')}\n </KitTypography.Text>\n ) : (\n sharedViews.map(viewItem => (\n <StyledViewDiv className={_selectedViewClass(viewItem.id)} key={viewItem.id}>\n <KitRadio value={viewItem.id}>\n {localizedTranslation(viewItem.label, availableLangs)}\n {viewItem?.id && (\n <StyledCopySpan\n title={`${t('explorer.viewList.copy-id')} : ${viewItem?.id}`}\n onClick={async e => {\n e.preventDefault();\n e.stopPropagation();\n await navigator.clipboard.writeText(viewItem.id || '');\n KitNotification.info({\n message: `Id : ${viewItem?.id}`,\n description: t('explorer.viewList.copied'),\n duration: INFO_NOTIFICATION_DURATION,\n closable: true,\n });\n }}\n >\n <FontAwesomeIcon icon={faCopy} />\n </StyledCopySpan>\n )}\n </KitRadio>\n {isOwnerView(viewItem.ownerId) ? (\n <StyledIconsDiv>\n <KitSpace>\n {iconEditLabel(viewItem)}\n {iconDelete(viewItem)}\n </KitSpace>\n </StyledIconsDiv>\n ) : null}\n </StyledViewDiv>\n ))\n )}\n </StyleKitRadioGroup>\n </StyledListViewsDiv>\n <ViewActionsButtons />\n </ContentWrapperStyledDiv>\n </>\n );\n};\n"]}
@@ -3,11 +3,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  // This file is released under LGPL V3
4
4
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
5
  import { KitTypography } from 'aristid-ds';
6
- import { FaEye, FaEyeSlash, FaLock } from 'react-icons/fa';
7
6
  import styled from 'styled-components';
8
7
  import { useSortable } from '@dnd-kit/sortable';
9
8
  import { CSS } from '@dnd-kit/utilities';
10
9
  import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
10
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
11
+ import { faEye, faEyeSlash, faLock } from '@fortawesome/free-solid-svg-icons';
11
12
  const StyledValue = styled(KitTypography.Text) `
12
13
  color: var(--general-utilities-disabled);
13
14
  `;
@@ -51,15 +52,11 @@ const StyledConfigurationItem = styled.li `
51
52
  }
52
53
  }
53
54
  `;
54
- const StyledFaEye = styled(FaEye) `
55
+ const DefaultIcon = styled(FontAwesomeIcon) `
55
56
  display: flex;
56
57
  color: currentColor;
57
58
  `;
58
- const StyledEyeSlash = styled(FaEyeSlash) `
59
- display: flex;
60
- color: var(--general-utilities-disabled);
61
- `;
62
- const StyledLocked = styled(FaLock) `
59
+ const DisabledIcon = styled(FontAwesomeIcon) `
63
60
  display: flex;
64
61
  color: var(--general-utilities-disabled);
65
62
  `;
@@ -79,7 +76,7 @@ export const ColumnItem = ({ itemId, dragHandler, title, visible, onVisibilityCl
79
76
  };
80
77
  const _handleClick = () => onVisibilityClick?.();
81
78
  const visibilityButtonLabel = visible ? t('explorer.hide') : t('explorer.show');
82
- const visibilityIcon = locked ? _jsx(StyledLocked, {}) : visible ? _jsx(StyledFaEye, {}) : _jsx(StyledEyeSlash, {});
79
+ const visibilityIcon = locked ? (_jsx(DisabledIcon, { icon: faLock })) : visible ? (_jsx(DefaultIcon, { icon: faEye })) : (_jsx(DisabledIcon, { icon: faEyeSlash }));
83
80
  return (_jsxs(StyledConfigurationItem, { ref: setNodeRef, style: style, children: [dragHandler ? (_jsx(StyledDragHandle, { ...attributes, ...listeners, "$isDragging": isDragging, children: dragHandler })) : (_jsx(StyledEmptyIcon, {})), _jsx(KitTypography.Text, { size: "fontSize5", ellipsis: true, className: "title", children: title }), _jsx("button", { disabled: locked, onClick: _handleClick, title: visibilityButtonLabel, "aria-label": visibilityButtonLabel, children: visibilityIcon })] }));
84
81
  };
85
82
  //# sourceMappingURL=ColumnItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnItem.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/_shared/ColumnItem.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACzD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,GAAG,EAAC,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;;CAE7C,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;UAkB/B,WAAW;;;;;;;;;;;;;;;;;;;;;CAqBpB,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;;CAGhC,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;;;CAGxC,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;;CAGlC,CAAC;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAwB;;cAE9C,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;CAC/D,CAAC;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;CAEjC,CAAC;AAYF,MAAM,CAAC,MAAM,UAAU,GAAwC,CAAC,EAC5D,MAAM,EACN,WAAW,EACX,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,MAAM,GAAG,KAAK,GACjB,EAAE,EAAE;IACD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAC,GAAG,WAAW,CAAC,EAAC,EAAE,EAAE,MAAM,EAAC,CAAC,CAAC;IACzG,MAAM,KAAK,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,UAAU;KACb,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAEjD,MAAM,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAEhF,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,KAAC,YAAY,KAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,WAAW,KAAG,CAAC,CAAC,CAAC,KAAC,cAAc,KAAG,CAAC;IAElG,OAAO,CACH,MAAC,uBAAuB,IAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,aACjD,WAAW,CAAC,CAAC,CAAC,CACX,KAAC,gBAAgB,OAAK,UAAU,KAAM,SAAS,iBAAe,UAAU,YACnE,WAAW,GACG,CACtB,CAAC,CAAC,CAAC,CACA,KAAC,eAAe,KAAG,CACtB,EACD,KAAC,aAAa,CAAC,IAAI,IAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,QAAC,SAAS,EAAC,OAAO,YAC1D,KAAK,GACW,EACrB,iBACI,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,qBAAqB,gBAChB,qBAAqB,YAEhC,cAAc,GACV,IACa,CAC7B,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitTypography} from 'aristid-ds';\nimport {type FunctionComponent, type ReactNode} from 'react';\nimport {FaEye, FaEyeSlash, FaLock} from 'react-icons/fa';\nimport styled from 'styled-components';\nimport {useSortable} from '@dnd-kit/sortable';\nimport {CSS} from '@dnd-kit/utilities';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\n\nconst StyledValue = styled(KitTypography.Text)`\n color: var(--general-utilities-disabled);\n`;\n\nconst StyledConfigurationItem = styled.li`\n color: var(--general-utilities-text-primary);\n display: flex;\n width: 100%;\n height: 40px;\n padding: 0 calc(var(--general-spacing-xs) * 1px);\n align-items: center;\n gap: calc(var(--general-spacing-xs) * 1px);\n border-radius: calc(var(--general-spacing-xs) * 1px);\n text-align: left;\n\n &:first-child {\n margin-top: calc(var(--general-spacing-xs) * 1px);\n }\n\n &:hover {\n background: var(--general-utilities-main-light);\n\n ${StyledValue} {\n color: var(--general-utilities-text-primary);\n }\n }\n\n .title {\n flex: 1 1 auto;\n }\n\n > svg {\n flex: 0 0 calc(var(--general-spacing-s) * 1px);\n }\n\n > button {\n border: none;\n background: transparent;\n padding: 0;\n &:not([disabled]) {\n cursor: pointer;\n }\n }\n`;\n\nconst StyledFaEye = styled(FaEye)`\n display: flex;\n color: currentColor;\n`;\n\nconst StyledEyeSlash = styled(FaEyeSlash)`\n display: flex;\n color: var(--general-utilities-disabled);\n`;\n\nconst StyledLocked = styled(FaLock)`\n display: flex;\n color: var(--general-utilities-disabled);\n`;\n\nconst StyledDragHandle = styled.span<{$isDragging: boolean}>`\n display: flex;\n cursor: ${props => (props.$isDragging ? 'grabbing' : 'grab')};\n`;\n\nconst StyledEmptyIcon = styled.div`\n width: calc(var(--general-spacing-s) * 1px);\n`;\n\ninterface IColumnItemProps {\n itemId: string;\n dragHandler?: ReactNode;\n visible: boolean;\n title: string;\n onVisibilityClick?: () => void;\n value?: string;\n locked?: boolean;\n}\n\nexport const ColumnItem: FunctionComponent<IColumnItemProps> = ({\n itemId,\n dragHandler,\n title,\n visible,\n onVisibilityClick,\n locked = false,\n}) => {\n const {t} = useSharedTranslation();\n const {attributes, listeners, setNodeRef, transform, transition, isDragging} = useSortable({id: itemId});\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n const _handleClick = () => onVisibilityClick?.();\n\n const visibilityButtonLabel = visible ? t('explorer.hide') : t('explorer.show');\n\n const visibilityIcon = locked ? <StyledLocked /> : visible ? <StyledFaEye /> : <StyledEyeSlash />;\n\n return (\n <StyledConfigurationItem ref={setNodeRef} style={style}>\n {dragHandler ? (\n <StyledDragHandle {...attributes} {...listeners} $isDragging={isDragging}>\n {dragHandler}\n </StyledDragHandle>\n ) : (\n <StyledEmptyIcon />\n )}\n <KitTypography.Text size=\"fontSize5\" ellipsis className=\"title\">\n {title}\n </KitTypography.Text>\n <button\n disabled={locked}\n onClick={_handleClick}\n title={visibilityButtonLabel}\n aria-label={visibilityButtonLabel}\n >\n {visibilityIcon}\n </button>\n </StyledConfigurationItem>\n );\n};\n"]}
1
+ {"version":3,"file":"ColumnItem.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/_shared/ColumnItem.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,GAAG,EAAC,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAE5E,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;;CAE7C,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;UAkB/B,WAAW;;;;;;;;;;;;;;;;;;;;;CAqBpB,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;;;CAG1C,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;;;CAG3C,CAAC;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAwB;;cAE9C,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;CAC/D,CAAC;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;CAEjC,CAAC;AAYF,MAAM,CAAC,MAAM,UAAU,GAAwC,CAAC,EAC5D,MAAM,EACN,WAAW,EACX,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,MAAM,GAAG,KAAK,GACjB,EAAE,EAAE;IACD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAC,GAAG,WAAW,CAAC,EAAC,EAAE,EAAE,MAAM,EAAC,CAAC,CAAC;IACzG,MAAM,KAAK,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,UAAU;KACb,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAEjD,MAAM,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAEhF,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAC5B,KAAC,YAAY,IAAC,IAAI,EAAE,MAAM,GAAI,CACjC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACV,KAAC,WAAW,IAAC,IAAI,EAAE,KAAK,GAAI,CAC/B,CAAC,CAAC,CAAC,CACA,KAAC,YAAY,IAAC,IAAI,EAAE,UAAU,GAAI,CACrC,CAAC;IAEF,OAAO,CACH,MAAC,uBAAuB,IAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,aACjD,WAAW,CAAC,CAAC,CAAC,CACX,KAAC,gBAAgB,OAAK,UAAU,KAAM,SAAS,iBAAe,UAAU,YACnE,WAAW,GACG,CACtB,CAAC,CAAC,CAAC,CACA,KAAC,eAAe,KAAG,CACtB,EACD,KAAC,aAAa,CAAC,IAAI,IAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,QAAC,SAAS,EAAC,OAAO,YAC1D,KAAK,GACW,EACrB,iBACI,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,qBAAqB,gBAChB,qBAAqB,YAEhC,cAAc,GACV,IACa,CAC7B,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitTypography} from 'aristid-ds';\nimport {type FunctionComponent, type ReactNode} from 'react';\nimport styled from 'styled-components';\nimport {useSortable} from '@dnd-kit/sortable';\nimport {CSS} from '@dnd-kit/utilities';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faLock} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledValue = styled(KitTypography.Text)`\n color: var(--general-utilities-disabled);\n`;\n\nconst StyledConfigurationItem = styled.li`\n color: var(--general-utilities-text-primary);\n display: flex;\n width: 100%;\n height: 40px;\n padding: 0 calc(var(--general-spacing-xs) * 1px);\n align-items: center;\n gap: calc(var(--general-spacing-xs) * 1px);\n border-radius: calc(var(--general-spacing-xs) * 1px);\n text-align: left;\n\n &:first-child {\n margin-top: calc(var(--general-spacing-xs) * 1px);\n }\n\n &:hover {\n background: var(--general-utilities-main-light);\n\n ${StyledValue} {\n color: var(--general-utilities-text-primary);\n }\n }\n\n .title {\n flex: 1 1 auto;\n }\n\n > svg {\n flex: 0 0 calc(var(--general-spacing-s) * 1px);\n }\n\n > button {\n border: none;\n background: transparent;\n padding: 0;\n &:not([disabled]) {\n cursor: pointer;\n }\n }\n`;\n\nconst DefaultIcon = styled(FontAwesomeIcon)`\n display: flex;\n color: currentColor;\n`;\n\nconst DisabledIcon = styled(FontAwesomeIcon)`\n display: flex;\n color: var(--general-utilities-disabled);\n`;\n\nconst StyledDragHandle = styled.span<{$isDragging: boolean}>`\n display: flex;\n cursor: ${props => (props.$isDragging ? 'grabbing' : 'grab')};\n`;\n\nconst StyledEmptyIcon = styled.div`\n width: calc(var(--general-spacing-s) * 1px);\n`;\n\ninterface IColumnItemProps {\n itemId: string;\n dragHandler?: ReactNode;\n visible: boolean;\n title: string;\n onVisibilityClick?: () => void;\n value?: string;\n locked?: boolean;\n}\n\nexport const ColumnItem: FunctionComponent<IColumnItemProps> = ({\n itemId,\n dragHandler,\n title,\n visible,\n onVisibilityClick,\n locked = false,\n}) => {\n const {t} = useSharedTranslation();\n const {attributes, listeners, setNodeRef, transform, transition, isDragging} = useSortable({id: itemId});\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n const _handleClick = () => onVisibilityClick?.();\n\n const visibilityButtonLabel = visible ? t('explorer.hide') : t('explorer.show');\n\n const visibilityIcon = locked ? (\n <DisabledIcon icon={faLock} />\n ) : visible ? (\n <DefaultIcon icon={faEye} />\n ) : (\n <DisabledIcon icon={faEyeSlash} />\n );\n\n return (\n <StyledConfigurationItem ref={setNodeRef} style={style}>\n {dragHandler ? (\n <StyledDragHandle {...attributes} {...listeners} $isDragging={isDragging}>\n {dragHandler}\n </StyledDragHandle>\n ) : (\n <StyledEmptyIcon />\n )}\n <KitTypography.Text size=\"fontSize5\" ellipsis className=\"title\">\n {title}\n </KitTypography.Text>\n <button\n disabled={locked}\n onClick={_handleClick}\n title={visibilityButtonLabel}\n aria-label={visibilityButtonLabel}\n >\n {visibilityIcon}\n </button>\n </StyledConfigurationItem>\n );\n};\n"]}
@@ -7,11 +7,12 @@ import { KitInput, KitTypography } from 'aristid-ds';
7
7
  import styled from 'styled-components';
8
8
  import { closestCenter, DndContext, KeyboardSensor, PointerSensor, useSensor, useSensors, } from '@dnd-kit/core';
9
9
  import { SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy } from '@dnd-kit/sortable';
10
- import { FaGripLines } from 'react-icons/fa';
11
10
  import { ColumnItem } from '../../_shared/ColumnItem';
12
11
  import { ViewSettingsActionTypes } from '../../store-view-settings/viewSettingsReducer';
13
12
  import { useViewSettingsContext } from '../../store-view-settings/useViewSettingsContext';
14
13
  import { useAttributeDetailsData } from '../../_shared/useAttributeDetailsData';
14
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
15
+ import { faGripLines } from '@fortawesome/free-solid-svg-icons';
15
16
  const StyledListTitle = styled.div `
16
17
  margin-top: calc(var(--general-spacing-s) * 1px);
17
18
  font-weight: var(--general-typography-boldFontWeight);
@@ -48,7 +49,7 @@ export const SelectVisibleAttributes = ({ libraryId }) => {
48
49
  };
49
50
  return (_jsxs("div", { children: [_jsx(KitTypography.Title, { level: "h4", children: t('explorer.columns') }), _jsx(KitInput, { placeholder: String(t('global.search')), onChange: onSearchChanged, allowClear: true }), _jsx(StyledListTitle, { id: visibleListTitle, children: t('explorer.visible-columns') }), _jsx(StyledList, { "aria-labelledby": visibleListTitle, children: _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: _handleDragEnd, children: _jsxs(SortableContext, { items: orderedVisibleColumns, strategy: verticalListSortingStrategy, children: [_jsx(ColumnItem, { itemId: "", title: t('record_edition.whoAmI'), visible: false, locked: true }), orderedVisibleColumns
50
51
  .filter(columnId => searchFilteredColumnsIds.includes(columnId))
51
- .map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, title: attributeDetailsById[columnId].label, visible: true, onVisibilityClick: _toggleColumnVisibility(columnId), dragHandler: _jsx(FaGripLines, {}) }, columnId)))] }) }) }), _jsx(StyledListTitle, { id: invisibleListTitle, children: t('explorer.invisible-columns') }), _jsx(StyledList, { "aria-labelledby": invisibleListTitle, children: searchFilteredColumnsIds
52
+ .map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, title: attributeDetailsById[columnId].label, visible: true, onVisibilityClick: _toggleColumnVisibility(columnId), dragHandler: _jsx(FontAwesomeIcon, { icon: faGripLines }) }, columnId)))] }) }) }), _jsx(StyledListTitle, { id: invisibleListTitle, children: t('explorer.invisible-columns') }), _jsx(StyledList, { "aria-labelledby": invisibleListTitle, children: searchFilteredColumnsIds
52
53
  .filter(columnId => !orderedVisibleColumns.includes(columnId))
53
54
  .map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, visible: false, title: attributeDetailsById[columnId].label, onVisibilityClick: _toggleColumnVisibility(columnId) }, attributeDetailsById[columnId].id))) })] }));
54
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SelectVisibleAttributes.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {KitInput, KitTypography} from 'aristid-ds';\nimport {type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {FaGripLines} from 'react-icons/fa';\nimport {ColumnItem} from '../../_shared/ColumnItem';\nimport {ViewSettingsActionTypes} from '../../store-view-settings/viewSettingsReducer';\nimport {useViewSettingsContext} from '../../store-view-settings/useViewSettingsContext';\nimport {useAttributeDetailsData} from '../../_shared/useAttributeDetailsData';\n\nconst StyledListTitle = styled.div`\n margin-top: calc(var(--general-spacing-s) * 1px);\n font-weight: var(--general-typography-boldFontWeight);\n`;\n\nconst StyledList = styled.ul`\n padding: 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst visibleListTitle = 'visibleListTitle';\nconst invisibleListTitle = 'invisibleListTitle';\n\ninterface ISelectVisibleAttributesProps {\n libraryId: string;\n}\n\nexport const SelectVisibleAttributes: FunctionComponent<ISelectVisibleAttributesProps> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n // TODO: make naming great again\n const {\n view: {attributesIds: orderedVisibleColumns},\n dispatch,\n } = useViewSettingsContext();\n\n const {attributeDetailsById, searchFilteredColumnsIds, onSearchChanged} = useAttributeDetailsData(libraryId);\n\n const _toggleColumnVisibility = (columnId: string) => () => {\n const actionType = orderedVisibleColumns.includes(columnId)\n ? ViewSettingsActionTypes.REMOVE_ATTRIBUTE\n : ViewSettingsActionTypes.ADD_ATTRIBUTE;\n\n dispatch({type: actionType, payload: {attributeId: columnId}});\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = orderedVisibleColumns.indexOf(String(draggedElement.id));\n const indexTo = orderedVisibleColumns.indexOf(String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_ATTRIBUTE, payload: {indexFrom, indexTo}});\n };\n\n return (\n <div>\n <KitTypography.Title level=\"h4\">{t('explorer.columns')}</KitTypography.Title>\n <KitInput placeholder={String(t('global.search'))} onChange={onSearchChanged} allowClear />\n <StyledListTitle id={visibleListTitle}>{t('explorer.visible-columns')}</StyledListTitle>\n <StyledList aria-labelledby={visibleListTitle}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext items={orderedVisibleColumns} strategy={verticalListSortingStrategy}>\n <ColumnItem itemId=\"\" title={t('record_edition.whoAmI')} visible={false} locked />\n {orderedVisibleColumns\n .filter(columnId => searchFilteredColumnsIds.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={columnId}\n itemId={attributeDetailsById[columnId].id}\n title={attributeDetailsById[columnId].label}\n visible\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n dragHandler={<FaGripLines />}\n />\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n <StyledListTitle id={invisibleListTitle}>{t('explorer.invisible-columns')}</StyledListTitle>\n <StyledList aria-labelledby={invisibleListTitle}>\n {searchFilteredColumnsIds\n .filter(columnId => !orderedVisibleColumns.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={attributeDetailsById[columnId].id}\n itemId={attributeDetailsById[columnId].id}\n visible={false}\n title={attributeDetailsById[columnId].label}\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n />\n ))}\n </StyledList>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SelectVisibleAttributes.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {KitInput, KitTypography} from 'aristid-ds';\nimport {type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {ColumnItem} from '../../_shared/ColumnItem';\nimport {ViewSettingsActionTypes} from '../../store-view-settings/viewSettingsReducer';\nimport {useViewSettingsContext} from '../../store-view-settings/useViewSettingsContext';\nimport {useAttributeDetailsData} from '../../_shared/useAttributeDetailsData';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faGripLines} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListTitle = styled.div`\n margin-top: calc(var(--general-spacing-s) * 1px);\n font-weight: var(--general-typography-boldFontWeight);\n`;\n\nconst StyledList = styled.ul`\n padding: 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst visibleListTitle = 'visibleListTitle';\nconst invisibleListTitle = 'invisibleListTitle';\n\ninterface ISelectVisibleAttributesProps {\n libraryId: string;\n}\n\nexport const SelectVisibleAttributes: FunctionComponent<ISelectVisibleAttributesProps> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n // TODO: make naming great again\n const {\n view: {attributesIds: orderedVisibleColumns},\n dispatch,\n } = useViewSettingsContext();\n\n const {attributeDetailsById, searchFilteredColumnsIds, onSearchChanged} = useAttributeDetailsData(libraryId);\n\n const _toggleColumnVisibility = (columnId: string) => () => {\n const actionType = orderedVisibleColumns.includes(columnId)\n ? ViewSettingsActionTypes.REMOVE_ATTRIBUTE\n : ViewSettingsActionTypes.ADD_ATTRIBUTE;\n\n dispatch({type: actionType, payload: {attributeId: columnId}});\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = orderedVisibleColumns.indexOf(String(draggedElement.id));\n const indexTo = orderedVisibleColumns.indexOf(String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_ATTRIBUTE, payload: {indexFrom, indexTo}});\n };\n\n return (\n <div>\n <KitTypography.Title level=\"h4\">{t('explorer.columns')}</KitTypography.Title>\n <KitInput placeholder={String(t('global.search'))} onChange={onSearchChanged} allowClear />\n <StyledListTitle id={visibleListTitle}>{t('explorer.visible-columns')}</StyledListTitle>\n <StyledList aria-labelledby={visibleListTitle}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext items={orderedVisibleColumns} strategy={verticalListSortingStrategy}>\n <ColumnItem itemId=\"\" title={t('record_edition.whoAmI')} visible={false} locked />\n {orderedVisibleColumns\n .filter(columnId => searchFilteredColumnsIds.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={columnId}\n itemId={attributeDetailsById[columnId].id}\n title={attributeDetailsById[columnId].label}\n visible\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n dragHandler={<FontAwesomeIcon icon={faGripLines} />}\n />\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n <StyledListTitle id={invisibleListTitle}>{t('explorer.invisible-columns')}</StyledListTitle>\n <StyledList aria-labelledby={invisibleListTitle}>\n {searchFilteredColumnsIds\n .filter(columnId => !orderedVisibleColumns.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={attributeDetailsById[columnId].id}\n itemId={attributeDetailsById[columnId].id}\n visible={false}\n title={attributeDetailsById[columnId].label}\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n />\n ))}\n </StyledList>\n </div>\n );\n};\n"]}
@@ -1,5 +1,4 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { FaEye, FaEyeSlash, FaSearch } from 'react-icons/fa';
3
2
  import { KitFilter, KitInput, KitTypography } from 'aristid-ds';
4
3
  import styled from 'styled-components';
5
4
  import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
@@ -11,6 +10,8 @@ import { ViewSettingsActionTypes } from '../store-view-settings/viewSettingsRedu
11
10
  import { FilterListItem } from './FilterListItem';
12
11
  import { CommonFilterItem } from '../../../../components/Filters/filter-items/CommonFilterItem';
13
12
  import { useFiltersContext } from '../../../../components/Filters/useFiltersContext';
13
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
14
+ import { faEye, faEyeSlash, faSearch } from '@fortawesome/free-solid-svg-icons';
14
15
  const StyledListContainer = styled.div `
15
16
  display: flex;
16
17
  flex-direction: column;
@@ -22,10 +23,10 @@ const StyledList = styled.ul `
22
23
  list-style: none;
23
24
  color: var(--general-utilities-text-primary);
24
25
  `;
25
- const StyledEyeSlash = styled(FaEyeSlash) `
26
+ const StyledEyeSlash = styled(FontAwesomeIcon) `
26
27
  color: var(--general-utilities-neutral-dark);
27
28
  `;
28
- const StyledFaEye = styled(FaEye) `
29
+ const StyledFaEye = styled(FontAwesomeIcon) `
29
30
  color: var(--general-utilities-neutral-deepDark);
30
31
  `;
31
32
  const _isLibraryLinkAttribute = (attribute) => [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;
@@ -81,7 +82,7 @@ export const FilterItems = ({ libraryId }) => {
81
82
  return _jsx(_Fragment, {});
82
83
  }
83
84
  return (_jsxs(StyledListContainer, { children: [activeFilters.length > 0 && (_jsx(StyledList, { "aria-label": t('explorer.filter-list.active'), children: _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: _handleDragEnd, children: _jsx(SortableContext, { items: activeFilters.map(({ attribute }) => attribute.id), strategy: verticalListSortingStrategy, children: activeFilters.map(activeFilter => (_jsx(FilterListItem, { attributeId: activeFilter.attribute.id, isDraggable: true, visibilityButtonProps: {
84
- icon: _jsx(StyledFaEye, {}),
85
+ icon: _jsx(StyledFaEye, { icon: faEye }),
85
86
  title: String(t('explorer.hide')),
86
87
  onClick: removeFilter(activeFilter.id),
87
88
  }, children: _jsx(CommonFilterItem, { filter: {
@@ -90,8 +91,8 @@ export const FilterItems = ({ libraryId }) => {
90
91
  ...activeFilter.attribute,
91
92
  ...attributeDetailsById[activeFilter?.attribute?.id],
92
93
  },
93
- } }) }, activeFilter.attribute.id))) }) }) })), _jsx(KitTypography.Title, { level: "h4", children: t('explorer.available-attributes') }), _jsx(KitInput, { placeholder: String(t('global.search')), onChange: onSearchChanged, allowClear: true, prefix: _jsx(FaSearch, {}) }), _jsx(StyledList, { "aria-label": t('explorer.filter-list.inactive'), children: inactiveFilters.map(attributeId => (_jsx(FilterListItem, { attributeId: attributeId, visibilityButtonProps: {
94
- icon: _jsx(StyledEyeSlash, {}),
94
+ } }) }, activeFilter.attribute.id))) }) }) })), _jsx(KitTypography.Title, { level: "h4", children: t('explorer.available-attributes') }), _jsx(KitInput, { placeholder: String(t('global.search')), onChange: onSearchChanged, allowClear: true, prefix: _jsx(FontAwesomeIcon, { icon: faSearch }) }), _jsx(StyledList, { "aria-label": t('explorer.filter-list.inactive'), children: inactiveFilters.map(attributeId => (_jsx(FilterListItem, { attributeId: attributeId, visibilityButtonProps: {
95
+ icon: _jsx(StyledEyeSlash, { icon: faEyeSlash }),
95
96
  title: String(t('explorer.show')),
96
97
  onClick: addFilter(attributeId),
97
98
  }, children: _jsx(KitFilter, { label: attributeDetailsById[attributeId].label }) }, attributeId))) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport {FaEye, FaEyeSlash, FaSearch} from 'react-icons/fa';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FaEyeSlash)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FaEye)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) => field === String(draggedElement.id));\n const indexTo = activeFilters.findIndex(({field}) => field === String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FaSearch />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
1
+ {"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faSearch} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) => field === String(draggedElement.id));\n const indexTo = activeFilters.findIndex(({field}) => field === String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye icon={faEye} />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FontAwesomeIcon icon={faSearch} />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash icon={faEyeSlash} />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import styled from 'styled-components';
3
- import { FaGripLines } from 'react-icons/fa';
4
3
  import { KitButton } from 'aristid-ds';
5
4
  import { useSortable } from '@dnd-kit/sortable';
6
5
  import { CSS } from '@dnd-kit/utilities';
6
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
7
+ import { faGripLines } from '@fortawesome/free-solid-svg-icons';
7
8
  const StyledFilterListItem = styled.li `
8
9
  display: flex;
9
10
  justify-content: space-between;
@@ -28,6 +29,6 @@ export const FilterListItem = ({ attributeId, isDraggable, visibilityButtonProps
28
29
  transform: CSS.Transform.toString(transform),
29
30
  transition,
30
31
  };
31
- return (_jsxs(StyledFilterListItem, { ref: setNodeRef, style: style, children: [_jsxs("div", { children: [isDraggable && (_jsx(StyledDragHandle, { ...attributes, ...listeners, "$isDragging": isDragging, children: _jsx(FaGripLines, {}) })), children] }), visibilityButtonProps && _jsx(KitButton, { size: "m", type: "tertiary", ...visibilityButtonProps })] }));
32
+ return (_jsxs(StyledFilterListItem, { ref: setNodeRef, style: style, children: [_jsxs("div", { children: [isDraggable && (_jsx(StyledDragHandle, { ...attributes, ...listeners, "$isDragging": isDragging, children: _jsx(FontAwesomeIcon, { icon: faGripLines }) })), children] }), visibilityButtonProps && _jsx(KitButton, { size: "m", type: "tertiary", ...visibilityButtonProps })] }));
32
33
  };
33
34
  //# sourceMappingURL=FilterListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterListItem.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterListItem.tsx"],"names":[],"mappings":";AAIA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,GAAG,EAAC,MAAM,oBAAoB,CAAC;AAEvC,MAAM,oBAAoB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;CAYrC,CAAC;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAwB;;;cAG9C,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;CAC/D,CAAC;AAQF,MAAM,CAAC,MAAM,cAAc,GAAkD,CAAC,EAC1E,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,QAAQ,GACX,EAAE,EAAE;IACD,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAC,GAAG,WAAW,CAAC,EAAC,EAAE,EAAE,WAAW,EAAC,CAAC,CAAC;IAC9G,MAAM,KAAK,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,UAAU;KACb,CAAC;IAEF,OAAO,CACH,MAAC,oBAAoB,IAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,aAC/C,0BACK,WAAW,IAAI,CACZ,KAAC,gBAAgB,OAAK,UAAU,KAAM,SAAS,iBAAe,UAAU,YACpE,KAAC,WAAW,KAAG,GACA,CACtB,EACA,QAAQ,IACP,EACL,qBAAqB,IAAI,KAAC,SAAS,IAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,UAAU,KAAK,qBAAqB,GAAI,IACxE,CAC1B,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type ComponentProps, type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {FaGripLines} from 'react-icons/fa';\nimport {KitButton} from 'aristid-ds';\nimport {useSortable} from '@dnd-kit/sortable';\nimport {CSS} from '@dnd-kit/utilities';\n\nconst StyledFilterListItem = styled.li`\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 32px;\n\n div {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: calc(var(--general-spacing-xs) * 1px);\n }\n`;\n\nconst StyledDragHandle = styled.span<{$isDragging: boolean}>`\n display: flex;\n align-items: center;\n cursor: ${props => (props.$isDragging ? 'grabbing' : 'grab')};\n`;\n\ninterface IActiveFilterListItemProps {\n attributeId: string;\n isDraggable?: true;\n visibilityButtonProps?: Pick<ComponentProps<typeof KitButton>, 'onClick' | 'icon' | 'title'>;\n}\n\nexport const FilterListItem: FunctionComponent<IActiveFilterListItemProps> = ({\n attributeId,\n isDraggable,\n visibilityButtonProps,\n children,\n}) => {\n const {attributes, listeners, setNodeRef, transform, transition, isDragging} = useSortable({id: attributeId});\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n return (\n <StyledFilterListItem ref={setNodeRef} style={style}>\n <div>\n {isDraggable && (\n <StyledDragHandle {...attributes} {...listeners} $isDragging={isDragging}>\n <FaGripLines />\n </StyledDragHandle>\n )}\n {children}\n </div>\n {visibilityButtonProps && <KitButton size=\"m\" type=\"tertiary\" {...visibilityButtonProps} />}\n </StyledFilterListItem>\n );\n};\n"]}
1
+ {"version":3,"file":"FilterListItem.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterListItem.tsx"],"names":[],"mappings":";AAIA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,GAAG,EAAC,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAE9D,MAAM,oBAAoB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;CAYrC,CAAC;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAwB;;;cAG9C,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;CAC/D,CAAC;AAQF,MAAM,CAAC,MAAM,cAAc,GAAkD,CAAC,EAC1E,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,QAAQ,GACX,EAAE,EAAE;IACD,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAC,GAAG,WAAW,CAAC,EAAC,EAAE,EAAE,WAAW,EAAC,CAAC,CAAC;IAC9G,MAAM,KAAK,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,UAAU;KACb,CAAC;IAEF,OAAO,CACH,MAAC,oBAAoB,IAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,aAC/C,0BACK,WAAW,IAAI,CACZ,KAAC,gBAAgB,OAAK,UAAU,KAAM,SAAS,iBAAe,UAAU,YACpE,KAAC,eAAe,IAAC,IAAI,EAAE,WAAW,GAAI,GACvB,CACtB,EACA,QAAQ,IACP,EACL,qBAAqB,IAAI,KAAC,SAAS,IAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,UAAU,KAAK,qBAAqB,GAAI,IACxE,CAC1B,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type ComponentProps, type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {KitButton} from 'aristid-ds';\nimport {useSortable} from '@dnd-kit/sortable';\nimport {CSS} from '@dnd-kit/utilities';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faGripLines} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledFilterListItem = styled.li`\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 32px;\n\n div {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: calc(var(--general-spacing-xs) * 1px);\n }\n`;\n\nconst StyledDragHandle = styled.span<{$isDragging: boolean}>`\n display: flex;\n align-items: center;\n cursor: ${props => (props.$isDragging ? 'grabbing' : 'grab')};\n`;\n\ninterface IActiveFilterListItemProps {\n attributeId: string;\n isDraggable?: true;\n visibilityButtonProps?: Pick<ComponentProps<typeof KitButton>, 'onClick' | 'icon' | 'title'>;\n}\n\nexport const FilterListItem: FunctionComponent<IActiveFilterListItemProps> = ({\n attributeId,\n isDraggable,\n visibilityButtonProps,\n children,\n}) => {\n const {attributes, listeners, setNodeRef, transform, transition, isDragging} = useSortable({id: attributeId});\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n return (\n <StyledFilterListItem ref={setNodeRef} style={style}>\n <div>\n {isDraggable && (\n <StyledDragHandle {...attributes} {...listeners} $isDragging={isDragging}>\n <FontAwesomeIcon icon={faGripLines} />\n </StyledDragHandle>\n )}\n {children}\n </div>\n {visibilityButtonProps && <KitButton size=\"m\" type=\"tertiary\" {...visibilityButtonProps} />}\n </StyledFilterListItem>\n );\n};\n"]}
@@ -3,7 +3,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  // This file is released under LGPL V3
4
4
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
5
  import { KitButton, KitTag } from 'aristid-ds';
6
- import { FaBars, FaSlidersH } from 'react-icons/fa';
7
6
  import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
8
7
  import { SettingsPanel } from '../router-menu/SettingsPanel';
9
8
  import { useEditSettings } from './useEditSettings';
@@ -12,6 +11,8 @@ import { useLang } from '../../../../hooks';
12
11
  import { useEffect, useState } from 'react';
13
12
  import styled from 'styled-components';
14
13
  import { MASS_SELECTION_ALL } from '../../_constants';
14
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
15
+ import { faBars, faSlidersH } from '@fortawesome/free-solid-svg-icons';
15
16
  const ModifiedStyledKitTag = styled(KitTag) `
16
17
  margin: 0;
17
18
  `;
@@ -53,8 +54,8 @@ export const useOpenViewSettings = ({ view, isEnabled = true }) => {
53
54
  const viewName = localizedTranslation(view?.viewLabels ?? {}, lang);
54
55
  const isMassSelectionAll = view.massSelection === MASS_SELECTION_ALL;
55
56
  useEffect(() => {
56
- setButton(_jsx(KitButton, { type: "secondary", size: "m", icon: _jsx(FaSlidersH, {}), onClick: () => _openSettingsPanel(), disabled: isMassSelectionAll, title: String(t('explorer.settings')) /* TODO: avoid transform null to 'null' */ }));
57
- setViewListButton(_jsxs(KitButton, { type: "secondary", size: "m", icon: _jsx(FaBars, {}), onClick: () => _openSettingsPanel('viewList.my-views'), disabled: isMassSelectionAll, title: String(t('explorer.viewList.manage-views')) /* TODO: avoid transform null to 'null' */, children: [viewName === '' ? t('explorer.viewList.manage-views') : viewName, view.viewModified && (_jsx(ModifiedStyledKitTag, { type: "error", idCardProps: { description: String(t('explorer.modified')) } }))] }));
57
+ setButton(_jsx(KitButton, { type: "secondary", size: "m", icon: _jsx(FontAwesomeIcon, { icon: faSlidersH }), onClick: () => _openSettingsPanel(), disabled: isMassSelectionAll, title: String(t('explorer.settings')) /* TODO: avoid transform null to 'null' */ }));
58
+ setViewListButton(_jsxs(KitButton, { type: "secondary", size: "m", icon: _jsx(FontAwesomeIcon, { icon: faBars }), onClick: () => _openSettingsPanel('viewList.my-views'), disabled: isMassSelectionAll, title: String(t('explorer.viewList.manage-views')) /* TODO: avoid transform null to 'null' */, children: [viewName === '' ? t('explorer.viewList.manage-views') : viewName, view.viewModified && (_jsx(ModifiedStyledKitTag, { type: "error", idCardProps: { description: String(t('explorer.modified')) } }))] }));
58
59
  }, [view.viewModified, viewName, isMassSelectionAll]);
59
60
  return {
60
61
  openSettingsPanel: _openSettingsPanel,
@@ -1 +1 @@
1
- {"version":3,"file":"useOpenViewSettings.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.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 {KitButton, KitTag} from 'aristid-ds';\nimport {FaBars, FaSlidersH} from 'react-icons/fa';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {SettingsPanel} from '../router-menu/SettingsPanel';\nimport {useEditSettings} from './useEditSettings';\nimport {type SettingsPanelPages} from './EditSettingsContext';\nimport {localizedTranslation} from '@leav/utils';\nimport {useLang} from '_ui/hooks';\nimport {type ReactElement, useEffect, useState} from 'react';\nimport {type IViewSettingsState} from '../store-view-settings/viewSettingsReducer';\nimport styled from 'styled-components';\nimport {type FeatureHook} from '../../_types';\nimport {MASS_SELECTION_ALL} from '../../_constants';\n\nconst ModifiedStyledKitTag = styled(KitTag)`\n margin: 0;\n`;\n\ninterface IChangePanelPage {\n pageName: SettingsPanelPages;\n title: string;\n onClickLeftButton?: () => void;\n}\n\nexport const useOpenViewSettings = ({view, isEnabled = true}: FeatureHook<{view: IViewSettingsState}>) => {\n const {activeSettings, setActiveSettings, closeSettingsPanel} = useEditSettings();\n const [button, setButton] = useState<ReactElement | null>(null);\n const [viewListButton, setViewListButton] = useState<ReactElement | null>(null);\n\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n useEffect(() => {\n if (!isEnabled) {\n closeSettingsPanel();\n }\n return () => {\n closeSettingsPanel();\n };\n }, [isEnabled]);\n\n const rootPanel = {pageName: 'router-menu', title: t('explorer.settings')} as const;\n\n const _changePanelPage = ({pageName, title, onClickLeftButton}: IChangePanelPage) => {\n setActiveSettings({\n ...activeSettings!,\n content: <SettingsPanel library={view.libraryId} page={pageName} />,\n title,\n onClickLeftButton,\n });\n };\n\n const _openSettingsPanel = (pageName: SettingsPanelPages = 'router-menu') => {\n const chanelPageParams: IChangePanelPage = {\n pageName,\n title: t(`explorer.${pageName}`),\n };\n if (pageName !== rootPanel.pageName) {\n chanelPageParams.onClickLeftButton = () => {\n _changePanelPage(rootPanel);\n };\n }\n\n _changePanelPage(chanelPageParams);\n };\n\n const viewName = localizedTranslation(view?.viewLabels ?? {}, lang);\n const isMassSelectionAll = view.massSelection === MASS_SELECTION_ALL;\n\n useEffect(() => {\n setButton(\n <KitButton\n type=\"secondary\"\n size=\"m\"\n icon={<FaSlidersH />}\n onClick={() => _openSettingsPanel()}\n disabled={isMassSelectionAll}\n title={String(t('explorer.settings')) /* TODO: avoid transform null to 'null' */}\n />,\n );\n setViewListButton(\n <KitButton\n type=\"secondary\"\n size=\"m\"\n icon={<FaBars />}\n onClick={() => _openSettingsPanel('viewList.my-views')}\n disabled={isMassSelectionAll}\n title={String(t('explorer.viewList.manage-views')) /* TODO: avoid transform null to 'null' */}\n >\n {viewName === '' ? t('explorer.viewList.manage-views') : viewName}\n {view.viewModified && (\n <ModifiedStyledKitTag type=\"error\" idCardProps={{description: String(t('explorer.modified'))}} />\n )}\n </KitButton>,\n );\n }, [view.viewModified, viewName, isMassSelectionAll]);\n\n return {\n openSettingsPanel: _openSettingsPanel,\n viewSettingsButton: button,\n viewListButton,\n viewName: viewName === '' ? t('explorer.viewList.default-view') : viewName,\n };\n};\n"]}
1
+ {"version":3,"file":"useOpenViewSettings.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAoB,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE7D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,mCAAmC,CAAC;AAErE,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;CAE1C,CAAC;AAQF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAC,IAAI,EAAE,SAAS,GAAG,IAAI,EAA0C,EAAE,EAAE;IACrG,MAAM,EAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAC,GAAG,eAAe,EAAE,CAAC;IAClF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAEhF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,EAAE,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,kBAAkB,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,GAAG,EAAE;YACR,kBAAkB,EAAE,CAAC;QACzB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,SAAS,GAAG,EAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAU,CAAC;IAEpF,MAAM,gBAAgB,GAAG,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAmB,EAAE,EAAE;QAChF,iBAAiB,CAAC;YACd,GAAG,cAAe;YAClB,OAAO,EAAE,KAAC,aAAa,IAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAI;YACnE,KAAK;YACL,iBAAiB;SACpB,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,WAA+B,aAAa,EAAE,EAAE;QACxE,MAAM,gBAAgB,GAAqB;YACvC,QAAQ;YACR,KAAK,EAAE,CAAC,CAAC,YAAY,QAAQ,EAAE,CAAC;SACnC,CAAC;QACF,IAAI,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClC,gBAAgB,CAAC,iBAAiB,GAAG,GAAG,EAAE;gBACtC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC;QACN,CAAC;QAED,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,KAAK,kBAAkB,CAAC;IAErE,SAAS,CAAC,GAAG,EAAE;QACX,SAAS,CACL,KAAC,SAAS,IACN,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,GAAG,EACR,IAAI,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,UAAU,GAAI,EAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE,EACnC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,0CAA0C,GAClF,CACL,CAAC;QACF,iBAAiB,CACb,MAAC,SAAS,IACN,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,GAAG,EACR,IAAI,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,MAAM,GAAI,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EACtD,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,0CAA0C,aAE5F,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAChE,IAAI,CAAC,YAAY,IAAI,CAClB,KAAC,oBAAoB,IAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAE,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAC,GAAI,CACpG,IACO,CACf,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEtD,OAAO;QACH,iBAAiB,EAAE,kBAAkB;QACrC,kBAAkB,EAAE,MAAM;QAC1B,cAAc;QACd,QAAQ,EAAE,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,QAAQ;KAC7E,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitButton, KitTag} from 'aristid-ds';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {SettingsPanel} from '../router-menu/SettingsPanel';\nimport {useEditSettings} from './useEditSettings';\nimport {type SettingsPanelPages} from './EditSettingsContext';\nimport {localizedTranslation} from '@leav/utils';\nimport {useLang} from '_ui/hooks';\nimport {type ReactElement, useEffect, useState} from 'react';\nimport {type IViewSettingsState} from '../store-view-settings/viewSettingsReducer';\nimport styled from 'styled-components';\nimport {type FeatureHook} from '../../_types';\nimport {MASS_SELECTION_ALL} from '../../_constants';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faBars, faSlidersH} from '@fortawesome/free-solid-svg-icons';\n\nconst ModifiedStyledKitTag = styled(KitTag)`\n margin: 0;\n`;\n\ninterface IChangePanelPage {\n pageName: SettingsPanelPages;\n title: string;\n onClickLeftButton?: () => void;\n}\n\nexport const useOpenViewSettings = ({view, isEnabled = true}: FeatureHook<{view: IViewSettingsState}>) => {\n const {activeSettings, setActiveSettings, closeSettingsPanel} = useEditSettings();\n const [button, setButton] = useState<ReactElement | null>(null);\n const [viewListButton, setViewListButton] = useState<ReactElement | null>(null);\n\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n useEffect(() => {\n if (!isEnabled) {\n closeSettingsPanel();\n }\n return () => {\n closeSettingsPanel();\n };\n }, [isEnabled]);\n\n const rootPanel = {pageName: 'router-menu', title: t('explorer.settings')} as const;\n\n const _changePanelPage = ({pageName, title, onClickLeftButton}: IChangePanelPage) => {\n setActiveSettings({\n ...activeSettings!,\n content: <SettingsPanel library={view.libraryId} page={pageName} />,\n title,\n onClickLeftButton,\n });\n };\n\n const _openSettingsPanel = (pageName: SettingsPanelPages = 'router-menu') => {\n const chanelPageParams: IChangePanelPage = {\n pageName,\n title: t(`explorer.${pageName}`),\n };\n if (pageName !== rootPanel.pageName) {\n chanelPageParams.onClickLeftButton = () => {\n _changePanelPage(rootPanel);\n };\n }\n\n _changePanelPage(chanelPageParams);\n };\n\n const viewName = localizedTranslation(view?.viewLabels ?? {}, lang);\n const isMassSelectionAll = view.massSelection === MASS_SELECTION_ALL;\n\n useEffect(() => {\n setButton(\n <KitButton\n type=\"secondary\"\n size=\"m\"\n icon={<FontAwesomeIcon icon={faSlidersH} />}\n onClick={() => _openSettingsPanel()}\n disabled={isMassSelectionAll}\n title={String(t('explorer.settings')) /* TODO: avoid transform null to 'null' */}\n />,\n );\n setViewListButton(\n <KitButton\n type=\"secondary\"\n size=\"m\"\n icon={<FontAwesomeIcon icon={faBars} />}\n onClick={() => _openSettingsPanel('viewList.my-views')}\n disabled={isMassSelectionAll}\n title={String(t('explorer.viewList.manage-views')) /* TODO: avoid transform null to 'null' */}\n >\n {viewName === '' ? t('explorer.viewList.manage-views') : viewName}\n {view.viewModified && (\n <ModifiedStyledKitTag type=\"error\" idCardProps={{description: String(t('explorer.modified'))}} />\n )}\n </KitButton>,\n );\n }, [view.viewModified, viewName, isMassSelectionAll]);\n\n return {\n openSettingsPanel: _openSettingsPanel,\n viewSettingsButton: button,\n viewListButton,\n viewName: viewName === '' ? t('explorer.viewList.default-view') : viewName,\n };\n};\n"]}
@@ -3,8 +3,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  // This file is released under LGPL V3
4
4
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
5
  import { KitTypography } from 'aristid-ds';
6
- import { FaChevronRight } from 'react-icons/fa';
7
6
  import styled from 'styled-components';
7
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
8
+ import { faChevronRight } from '@fortawesome/free-solid-svg-icons';
8
9
  const StyledValue = styled(KitTypography.Text) `
9
10
  color: var(--general-utilities-disabled);
10
11
  `;
@@ -51,5 +52,5 @@ const StyledConfigurationItem = styled.li `
51
52
  }
52
53
  }
53
54
  `;
54
- export const SettingItem = ({ icon, title, value = '', onClick }) => (_jsx(StyledConfigurationItem, { children: _jsxs("button", { onClick: onClick, children: [icon, _jsx(KitTypography.Text, { size: "fontSize5", ellipsis: true, className: "title", children: title }), _jsx(StyledValue, { size: "fontSize5", ellipsis: true, className: "value", children: value }), _jsx(FaChevronRight, {})] }) }));
55
+ export const SettingItem = ({ icon, title, value = '', onClick }) => (_jsx(StyledConfigurationItem, { children: _jsxs("button", { onClick: onClick, children: [icon, _jsx(KitTypography.Text, { size: "fontSize5", ellipsis: true, className: "title", children: title }), _jsx(StyledValue, { size: "fontSize5", ellipsis: true, className: "value", children: value }), _jsx(FontAwesomeIcon, { icon: faChevronRight })] }) }));
55
56
  //# sourceMappingURL=SettingItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingItem.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/router-menu/SettingItem.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;;CAE7C,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;cAwB3B,WAAW;;;;;;;;;;;;;;;;;;CAkBxB,CAAC;AASF,MAAM,CAAC,MAAM,WAAW,GAAyC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,CACrG,KAAC,uBAAuB,cACpB,kBAAQ,OAAO,EAAE,OAAO,aACnB,IAAI,EACL,KAAC,aAAa,CAAC,IAAI,IAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,QAAC,SAAS,EAAC,OAAO,YAC1D,KAAK,GACW,EACrB,KAAC,WAAW,IAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,QAAC,SAAS,EAAC,OAAO,YACnD,KAAK,GACI,EACd,KAAC,cAAc,KAAG,IACb,GACa,CAC7B,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 {KitTypography} from 'aristid-ds';\nimport {type FunctionComponent, type ReactNode} from 'react';\nimport {FaChevronRight} from 'react-icons/fa';\nimport styled from 'styled-components';\n\nconst StyledValue = styled(KitTypography.Text)`\n color: var(--general-utilities-disabled);\n`;\n\nconst StyledConfigurationItem = styled.li`\n list-style: none;\n\n &:first-child {\n margin-top: calc(var(--general-spacing-xs) * 1px);\n }\n\n > button {\n color: var(--general-utilities-text-primary);\n border: none;\n background: transparent;\n display: flex;\n width: 100%;\n height: 40px;\n align-items: center;\n padding: 0 calc(var(--general-spacing-xs) * 1px);\n gap: calc(var(--general-spacing-xs) * 1px);\n border-radius: calc(var(--general-spacing-xs) * 1px);\n text-align: left;\n cursor: pointer;\n\n &:hover {\n background: var(--general-utilities-main-light);\n\n ${StyledValue} {\n color: var(--general-utilities-text-primary);\n }\n }\n\n .title {\n flex: 1 1 auto;\n }\n\n .value {\n flex: 0 1 auto;\n text-align: right;\n }\n\n > svg {\n flex: 0 0 calc(var(--general-spacing-s) * 1px);\n }\n }\n`;\n\ninterface ISettingItemProps {\n icon: ReactNode;\n title: string;\n onClick: () => void;\n value?: string;\n}\n\nexport const SettingItem: FunctionComponent<ISettingItemProps> = ({icon, title, value = '', onClick}) => (\n <StyledConfigurationItem>\n <button onClick={onClick}>\n {icon}\n <KitTypography.Text size=\"fontSize5\" ellipsis className=\"title\">\n {title}\n </KitTypography.Text>\n <StyledValue size=\"fontSize5\" ellipsis className=\"value\">\n {value}\n </StyledValue>\n <FaChevronRight />\n </button>\n </StyledConfigurationItem>\n);\n"]}
1
+ {"version":3,"file":"SettingItem.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/router-menu/SettingItem.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,mCAAmC,CAAC;AAEjE,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;;CAE7C,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;cAwB3B,WAAW;;;;;;;;;;;;;;;;;;CAkBxB,CAAC;AASF,MAAM,CAAC,MAAM,WAAW,GAAyC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,CACrG,KAAC,uBAAuB,cACpB,kBAAQ,OAAO,EAAE,OAAO,aACnB,IAAI,EACL,KAAC,aAAa,CAAC,IAAI,IAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,QAAC,SAAS,EAAC,OAAO,YAC1D,KAAK,GACW,EACrB,KAAC,WAAW,IAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,QAAC,SAAS,EAAC,OAAO,YACnD,KAAK,GACI,EACd,KAAC,eAAe,IAAC,IAAI,EAAE,cAAc,GAAI,IACpC,GACa,CAC7B,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 {KitTypography} from 'aristid-ds';\nimport {type FunctionComponent, type ReactNode} from 'react';\nimport styled from 'styled-components';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faChevronRight} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledValue = styled(KitTypography.Text)`\n color: var(--general-utilities-disabled);\n`;\n\nconst StyledConfigurationItem = styled.li`\n list-style: none;\n\n &:first-child {\n margin-top: calc(var(--general-spacing-xs) * 1px);\n }\n\n > button {\n color: var(--general-utilities-text-primary);\n border: none;\n background: transparent;\n display: flex;\n width: 100%;\n height: 40px;\n align-items: center;\n padding: 0 calc(var(--general-spacing-xs) * 1px);\n gap: calc(var(--general-spacing-xs) * 1px);\n border-radius: calc(var(--general-spacing-xs) * 1px);\n text-align: left;\n cursor: pointer;\n\n &:hover {\n background: var(--general-utilities-main-light);\n\n ${StyledValue} {\n color: var(--general-utilities-text-primary);\n }\n }\n\n .title {\n flex: 1 1 auto;\n }\n\n .value {\n flex: 0 1 auto;\n text-align: right;\n }\n\n > svg {\n flex: 0 0 calc(var(--general-spacing-s) * 1px);\n }\n }\n`;\n\ninterface ISettingItemProps {\n icon: ReactNode;\n title: string;\n onClick: () => void;\n value?: string;\n}\n\nexport const SettingItem: FunctionComponent<ISettingItemProps> = ({icon, title, value = '', onClick}) => (\n <StyledConfigurationItem>\n <button onClick={onClick}>\n {icon}\n <KitTypography.Text size=\"fontSize5\" ellipsis className=\"title\">\n {title}\n </KitTypography.Text>\n <StyledValue size=\"fontSize5\" ellipsis className=\"value\">\n {value}\n </StyledValue>\n <FontAwesomeIcon icon={faChevronRight} />\n </button>\n </StyledConfigurationItem>\n);\n"]}
@@ -4,7 +4,6 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
4
4
  // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
5
5
  import styled from 'styled-components';
6
6
  import { KitInput, KitTypography } from 'aristid-ds';
7
- import { FaFilter, FaList, FaSortAlphaDown } from 'react-icons/fa';
8
7
  import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
9
8
  import { ConfigureDisplay } from '../configure-display/ConfigureDisplay';
10
9
  import { SortItems } from '../sort-items/SortItems';
@@ -15,6 +14,8 @@ import { useOpenViewSettings } from '../open-view-settings/useOpenViewSettings';
15
14
  import { SavedViews } from '../../list-saved-views/SavedViews';
16
15
  import { ViewActionsButtons } from '../save-view/ViewActionsButtons';
17
16
  import { useFiltersContext } from '../../../../components/Filters';
17
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
18
+ import { faFilter, faList, faSortAlphaDown } from '@fortawesome/free-solid-svg-icons';
18
19
  const ContentWrapperStyledDiv = styled.div `
19
20
  display: flex;
20
21
  flex-direction: column;
@@ -33,6 +34,6 @@ export const SettingsPanel = ({ library, page = 'router-menu' }) => {
33
34
  const { filtersData } = useFiltersContext();
34
35
  const { openSettingsPanel, viewName } = useOpenViewSettings({ view, isEnabled: true });
35
36
  // TODO: look for MemoryRouter
36
- return (_jsxs(ContentWrapperStyledDiv, { children: [page === 'router-menu' && (_jsxs(_Fragment, { children: [_jsxs("nav", { children: [_jsx(ViewNameStyledKitInput, { disabled: true, value: viewName }), _jsx(KitTypography.Title, { level: "h4", children: t('explorer.router-menu') }), _jsxs(ConfigurationStyledMenu, { children: [_jsx(SettingItem, { icon: _jsx(FaList, {}), title: t('explorer.configure-display'), onClick: () => openSettingsPanel('configure-display') }), view.entrypoint.type === 'library' && (_jsxs(_Fragment, { children: [_jsx(SettingItem, { icon: _jsx(FaFilter, {}), title: t('explorer.filters'), value: String(t('explorer.active-items-number', { count: filtersData.filters.length })), onClick: () => openSettingsPanel('filter-items') }), _jsx(SettingItem, { icon: _jsx(FaSortAlphaDown, {}), title: t('explorer.sort-items'), onClick: () => openSettingsPanel('sort-items') })] }))] })] }), _jsx(ViewActionsButtons, {})] })), page === 'configure-display' && _jsx(ConfigureDisplay, { libraryId: library }), page === 'sort-items' && _jsx(SortItems, { libraryId: library }), page === 'filter-items' && _jsx(FilterItems, { libraryId: library }), page === 'viewList.my-views' && _jsx(SavedViews, {})] }));
37
+ return (_jsxs(ContentWrapperStyledDiv, { children: [page === 'router-menu' && (_jsxs(_Fragment, { children: [_jsxs("nav", { children: [_jsx(ViewNameStyledKitInput, { disabled: true, value: viewName }), _jsx(KitTypography.Title, { level: "h4", children: t('explorer.router-menu') }), _jsxs(ConfigurationStyledMenu, { children: [_jsx(SettingItem, { icon: _jsx(FontAwesomeIcon, { icon: faList }), title: t('explorer.configure-display'), onClick: () => openSettingsPanel('configure-display') }), view.entrypoint.type === 'library' && (_jsxs(_Fragment, { children: [_jsx(SettingItem, { icon: _jsx(FontAwesomeIcon, { icon: faFilter }), title: t('explorer.filters'), value: String(t('explorer.active-items-number', { count: filtersData.filters.length })), onClick: () => openSettingsPanel('filter-items') }), _jsx(SettingItem, { icon: _jsx(FontAwesomeIcon, { icon: faSortAlphaDown }), title: t('explorer.sort-items'), onClick: () => openSettingsPanel('sort-items') })] }))] })] }), _jsx(ViewActionsButtons, {})] })), page === 'configure-display' && _jsx(ConfigureDisplay, { libraryId: library }), page === 'sort-items' && _jsx(SortItems, { libraryId: library }), page === 'filter-items' && _jsx(FilterItems, { libraryId: library }), page === 'viewList.my-views' && _jsx(SavedViews, {})] }));
37
38
  };
38
39
  //# sourceMappingURL=SettingsPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsPanel.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/router-menu/SettingsPanel.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 styled from 'styled-components';\nimport {type FunctionComponent} from 'react';\nimport {KitInput, KitTypography} from 'aristid-ds';\nimport {FaFilter, FaList, FaSortAlphaDown} from 'react-icons/fa';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {ConfigureDisplay} from '../configure-display/ConfigureDisplay';\nimport {SortItems} from '../sort-items/SortItems';\nimport {SettingItem} from './SettingItem';\nimport {FilterItems} from '../filter-items/FilterItems';\nimport {useViewSettingsContext} from '../store-view-settings/useViewSettingsContext';\nimport {type SettingsPanelPages} from '../open-view-settings/EditSettingsContext';\nimport {useOpenViewSettings} from '../open-view-settings/useOpenViewSettings';\nimport {SavedViews} from '../../list-saved-views/SavedViews';\nimport {ViewActionsButtons} from '../save-view/ViewActionsButtons';\nimport {useFiltersContext} from '_ui/components/Filters';\n\nconst ContentWrapperStyledDiv = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n`;\n\nconst ViewNameStyledKitInput = styled(KitInput)`\n margin-bottom: calc(var(--general-spacing-s) * 1px);\n`;\n\nconst ConfigurationStyledMenu = styled.menu`\n padding: 0;\n`;\n\ninterface ISettingsPanelProps {\n library: string;\n page?: SettingsPanelPages;\n}\n\nexport const SettingsPanel: FunctionComponent<ISettingsPanelProps> = ({library, page = 'router-menu'}) => {\n const {t} = useSharedTranslation();\n\n const {view} = useViewSettingsContext();\n const {filtersData} = useFiltersContext();\n const {openSettingsPanel, viewName} = useOpenViewSettings({view, isEnabled: true});\n\n // TODO: look for MemoryRouter\n return (\n <ContentWrapperStyledDiv>\n {page === 'router-menu' && (\n <>\n <nav>\n <ViewNameStyledKitInput disabled value={viewName} />\n <KitTypography.Title level=\"h4\">{t('explorer.router-menu')}</KitTypography.Title>\n <ConfigurationStyledMenu>\n <SettingItem\n icon={<FaList />}\n title={t('explorer.configure-display')}\n onClick={() => openSettingsPanel('configure-display')}\n />\n {view.entrypoint.type === 'library' && (\n <>\n <SettingItem\n icon={<FaFilter />}\n title={t('explorer.filters')}\n value={String(\n t('explorer.active-items-number', {count: filtersData.filters.length}),\n )}\n onClick={() => openSettingsPanel('filter-items')}\n />\n <SettingItem\n icon={<FaSortAlphaDown />}\n title={t('explorer.sort-items')}\n onClick={() => openSettingsPanel('sort-items')}\n />\n </>\n )}\n </ConfigurationStyledMenu>\n </nav>\n <ViewActionsButtons />\n </>\n )}\n {page === 'configure-display' && <ConfigureDisplay libraryId={library} />}\n {page === 'sort-items' && <SortItems libraryId={library} />}\n {page === 'filter-items' && <FilterItems libraryId={library} />}\n {page === 'viewList.my-views' && <SavedViews />}\n </ContentWrapperStyledDiv>\n );\n};\n"]}
1
+ {"version":3,"file":"SettingsPanel.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/router-menu/SettingsPanel.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 styled from 'styled-components';\nimport {type FunctionComponent} from 'react';\nimport {KitInput, KitTypography} from 'aristid-ds';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {ConfigureDisplay} from '../configure-display/ConfigureDisplay';\nimport {SortItems} from '../sort-items/SortItems';\nimport {SettingItem} from './SettingItem';\nimport {FilterItems} from '../filter-items/FilterItems';\nimport {useViewSettingsContext} from '../store-view-settings/useViewSettingsContext';\nimport {type SettingsPanelPages} from '../open-view-settings/EditSettingsContext';\nimport {useOpenViewSettings} from '../open-view-settings/useOpenViewSettings';\nimport {SavedViews} from '../../list-saved-views/SavedViews';\nimport {ViewActionsButtons} from '../save-view/ViewActionsButtons';\nimport {useFiltersContext} from '_ui/components/Filters';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faFilter, faList, faSortAlphaDown} from '@fortawesome/free-solid-svg-icons';\n\nconst ContentWrapperStyledDiv = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n`;\n\nconst ViewNameStyledKitInput = styled(KitInput)`\n margin-bottom: calc(var(--general-spacing-s) * 1px);\n`;\n\nconst ConfigurationStyledMenu = styled.menu`\n padding: 0;\n`;\n\ninterface ISettingsPanelProps {\n library: string;\n page?: SettingsPanelPages;\n}\n\nexport const SettingsPanel: FunctionComponent<ISettingsPanelProps> = ({library, page = 'router-menu'}) => {\n const {t} = useSharedTranslation();\n\n const {view} = useViewSettingsContext();\n const {filtersData} = useFiltersContext();\n const {openSettingsPanel, viewName} = useOpenViewSettings({view, isEnabled: true});\n\n // TODO: look for MemoryRouter\n return (\n <ContentWrapperStyledDiv>\n {page === 'router-menu' && (\n <>\n <nav>\n <ViewNameStyledKitInput disabled value={viewName} />\n <KitTypography.Title level=\"h4\">{t('explorer.router-menu')}</KitTypography.Title>\n <ConfigurationStyledMenu>\n <SettingItem\n icon={<FontAwesomeIcon icon={faList} />}\n title={t('explorer.configure-display')}\n onClick={() => openSettingsPanel('configure-display')}\n />\n {view.entrypoint.type === 'library' && (\n <>\n <SettingItem\n icon={<FontAwesomeIcon icon={faFilter} />}\n title={t('explorer.filters')}\n value={String(\n t('explorer.active-items-number', {count: filtersData.filters.length}),\n )}\n onClick={() => openSettingsPanel('filter-items')}\n />\n <SettingItem\n icon={<FontAwesomeIcon icon={faSortAlphaDown} />}\n title={t('explorer.sort-items')}\n onClick={() => openSettingsPanel('sort-items')}\n />\n </>\n )}\n </ConfigurationStyledMenu>\n </nav>\n <ViewActionsButtons />\n </>\n )}\n {page === 'configure-display' && <ConfigureDisplay libraryId={library} />}\n {page === 'sort-items' && <SortItems libraryId={library} />}\n {page === 'filter-items' && <FilterItems libraryId={library} />}\n {page === 'viewList.my-views' && <SavedViews />}\n </ContentWrapperStyledDiv>\n );\n};\n"]}