@leav/ui 1.9.0-8d914a00 → 1.9.0-8f7bfcc5
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.
- package/dist/_gqlTypes/index.d.ts +199 -111
- package/dist/_gqlTypes/index.js +159 -77
- package/dist/_gqlTypes/index.js.map +1 -1
- package/dist/_utils/getFiltersFromRequest.js +5 -6
- package/dist/_utils/getFiltersFromRequest.js.map +1 -1
- package/dist/_utils/index.js +3 -4
- package/dist/_utils/index.js.map +1 -1
- package/dist/_utils/typeguards.d.ts +5 -0
- package/dist/_utils/typeguards.js +6 -0
- package/dist/_utils/typeguards.js.map +1 -1
- package/dist/components/Explorer/Explorer.d.ts +2 -1
- package/dist/components/Explorer/Explorer.js +12 -3
- package/dist/components/Explorer/Explorer.js.map +1 -1
- package/dist/components/Explorer/_queries/useExplorerCountData.d.ts +8 -1
- package/dist/components/Explorer/_queries/useExplorerCountData.js +5 -2
- package/dist/components/Explorer/_queries/useExplorerCountData.js.map +1 -1
- package/dist/components/Explorer/_queries/useExplorerData.js +18 -20
- package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
- package/dist/components/Explorer/actions-mass/ResultsCount.js +2 -2
- package/dist/components/Explorer/actions-mass/ResultsCount.js.map +1 -1
- package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js +1 -1
- package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js.map +1 -1
- package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.d.ts +10 -0
- package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.js +69 -0
- package/dist/components/Explorer/actions-mass/generate-previews/GeneratePreviewsModal.js.map +1 -0
- package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.d.ts +18 -0
- package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.js +57 -0
- package/dist/components/Explorer/actions-mass/generate-previews/useGetPreviewSizesData.js.map +1 -0
- package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.d.ts +19 -0
- package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.js +94 -0
- package/dist/components/Explorer/actions-mass/useGeneratePreviewsMassAction.js.map +1 -0
- package/dist/components/Explorer/actions-mass/useMassActions.js +2 -2
- package/dist/components/Explorer/actions-mass/useMassActions.js.map +1 -1
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +3 -1
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +5 -1
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js +1 -1
- package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +2 -2
- package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
- package/dist/components/Explorer/useViewSettingsReducer.js +11 -8
- package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
- package/dist/components/Filters/_queries/treeFiltersDataQuery.d.ts +6 -0
- package/dist/components/Filters/_queries/treeFiltersDataQuery.js +54 -0
- package/dist/components/Filters/_queries/treeFiltersDataQuery.js.map +1 -0
- package/dist/components/Filters/context/useGetTreeFilters.js +24 -40
- package/dist/components/Filters/context/useGetTreeFilters.js.map +1 -1
- package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.d.ts +6 -0
- package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js +54 -0
- package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js.map +1 -0
- package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js +22 -41
- package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js.map +1 -1
- package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -0
- package/dist/components/RecordEdition/EditRecord/EditRecord.js +3 -3
- package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +1 -3
- package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +2 -2
- package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +1 -0
- package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +4 -4
- package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
- package/dist/components/RecordEdition/_types.d.ts +1 -1
- package/dist/components/RecordEdition/_types.js.map +1 -1
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +7 -6
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
- package/dist/components/RecordEdition/hooks/useGetSubmitButtons.d.ts +1 -1
- package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js +6 -2
- package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js.map +1 -1
- package/dist/components/SearchModal/SearchModal.js +28 -18
- package/dist/components/SearchModal/SearchModal.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +0 -2
- package/dist/components/SelectTreeNode/SelectTreeNode.js +2 -2
- package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +0 -2
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +60 -114
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
- package/dist/components/SelectTreeNode/TreeNodeTitle.d.ts +0 -1
- package/dist/components/SelectTreeNode/TreeNodeTitle.js +3 -7
- package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
- package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.d.ts +6 -0
- package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js +56 -0
- package/dist/components/SelectTreeNode/_queries/treeContentDataQuery.js.map +1 -0
- package/dist/components/SelectTreeNode/_types.d.ts +0 -1
- package/dist/components/SelectTreeNode/_types.js.map +1 -1
- package/dist/components/index.d.ts +0 -3
- package/dist/components/index.js +0 -3
- package/dist/components/index.js.map +1 -1
- package/dist/hooks/useGetRecordForm/useGetRecordForm.js +24 -22
- package/dist/hooks/useGetRecordForm/useGetRecordForm.js.map +1 -1
- package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js +9 -6
- package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/schema.d.ts +2 -2
- package/dist/hooks/useIFrameMessenger/schema.js +1 -1
- package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
- package/dist/hooks/useRecordsConsultationHistory/useRecordsConsultationHistory.d.ts +1 -1
- package/dist/hooks/useRecordsConsultationHistory/useRecordsConsultationHistory.js +14 -6
- package/dist/hooks/useRecordsConsultationHistory/useRecordsConsultationHistory.js.map +1 -1
- package/dist/locales/en/shared.json +9 -2
- package/dist/locales/fr/shared.json +9 -2
- package/package.json +9 -18
- package/dist/__mocks__/common/mockSearchContextProvider.d.ts +0 -6
- package/dist/__mocks__/common/mockSearchContextProvider.js +0 -10
- package/dist/__mocks__/common/mockSearchContextProvider.js.map +0 -1
- package/dist/components/AttributesSelectionList/Attribute/Attribute.d.ts +0 -3
- package/dist/components/AttributesSelectionList/Attribute/Attribute.js +0 -50
- package/dist/components/AttributesSelectionList/Attribute/Attribute.js.map +0 -1
- package/dist/components/AttributesSelectionList/Attribute/index.d.ts +0 -2
- package/dist/components/AttributesSelectionList/Attribute/index.js +0 -6
- package/dist/components/AttributesSelectionList/Attribute/index.js.map +0 -1
- package/dist/components/AttributesSelectionList/AttributesSelectionList.d.ts +0 -10
- package/dist/components/AttributesSelectionList/AttributesSelectionList.js +0 -72
- package/dist/components/AttributesSelectionList/AttributesSelectionList.js.map +0 -1
- package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.d.ts +0 -7
- package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js +0 -39
- package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/SelectedAttribute.js.map +0 -1
- package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.d.ts +0 -2
- package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js +0 -6
- package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttribute/index.js.map +0 -1
- package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.d.ts +0 -2
- package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js +0 -63
- package/dist/components/AttributesSelectionList/SelectedAttributesList/SelectedAttributesList.js.map +0 -1
- package/dist/components/AttributesSelectionList/SelectedAttributesList/index.d.ts +0 -2
- package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js +0 -6
- package/dist/components/AttributesSelectionList/SelectedAttributesList/index.js.map +0 -1
- package/dist/components/AttributesSelectionList/_types.d.ts +0 -8
- package/dist/components/AttributesSelectionList/_types.js +0 -2
- package/dist/components/AttributesSelectionList/_types.js.map +0 -1
- package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.d.ts +0 -3
- package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js +0 -9
- package/dist/components/AttributesSelectionList/helpers/attributeToSelectedAttribute.js.map +0 -1
- package/dist/components/AttributesSelectionList/index.d.ts +0 -2
- package/dist/components/AttributesSelectionList/index.js +0 -6
- package/dist/components/AttributesSelectionList/index.js.map +0 -1
- package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.d.ts +0 -11
- package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js +0 -10
- package/dist/components/AttributesSelectionList/reducer/__mocks__/attributesSelectionListStateContext.js.map +0 -1
- package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.d.ts +0 -33
- package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js +0 -77
- package/dist/components/AttributesSelectionList/reducer/attributesSelectionListReducer.js.map +0 -1
- package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.d.ts +0 -10
- package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js +0 -8
- package/dist/components/AttributesSelectionList/reducer/attributesSelectionListStateContext.js.map +0 -1
- package/dist/components/AttributesSelectionList/sharedComponents.d.ts +0 -809
- package/dist/components/AttributesSelectionList/sharedComponents.js +0 -16
- package/dist/components/AttributesSelectionList/sharedComponents.js.map +0 -1
- package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.d.ts +0 -10
- package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js +0 -39
- package/dist/components/DeactivateRecordsModal/DeactivateRecordsModal.js.map +0 -1
- package/dist/components/DeactivateRecordsModal/index.d.ts +0 -1
- package/dist/components/DeactivateRecordsModal/index.js +0 -5
- package/dist/components/DeactivateRecordsModal/index.js.map +0 -1
- package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.d.ts +0 -13
- package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js +0 -50
- package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js.map +0 -1
- package/dist/components/LibraryItemsList/CreateNewRecordButton/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js +0 -6
- package/dist/components/LibraryItemsList/CreateNewRecordButton/index.js.map +0 -1
- package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.d.ts +0 -2
- package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js +0 -80
- package/dist/components/LibraryItemsList/DisplayOptions/DisplayOptions.js.map +0 -1
- package/dist/components/LibraryItemsList/DisplayOptions/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/DisplayOptions/index.js +0 -6
- package/dist/components/LibraryItemsList/DisplayOptions/index.js.map +0 -1
- package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.d.ts +0 -2
- package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js +0 -22
- package/dist/components/LibraryItemsList/DisplayTypeSelector/DisplayTypeSelector.js.map +0 -1
- package/dist/components/LibraryItemsList/DisplayTypeSelector/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js +0 -6
- package/dist/components/LibraryItemsList/DisplayTypeSelector/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.d.ts +0 -13
- package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js +0 -229
- package/dist/components/LibraryItemsList/FiltersDropdown/FiltersDropdown.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersDropdown/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersDropdown/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersDropdown/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.d.ts +0 -11
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +0 -328
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.d.ts +0 -7
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js +0 -90
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/FilterAttributeCondition.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterAttributeCondition/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.d.ts +0 -3
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js +0 -13
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/BooleanFilter.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/BooleanFilter/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.d.ts +0 -3
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js +0 -26
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/DateBetweenFilter.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateBetweenFilter/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.d.ts +0 -3
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js +0 -22
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/DateFilter.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/DateFilter/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.d.ts +0 -3
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js +0 -35
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/NumericFilter.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/NumericFilter/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.d.ts +0 -3
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js +0 -34
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/TextFilter.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/FilterInput/TextFilter/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js +0 -16
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/filterUtils.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.d.ts +0 -8
- package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js +0 -11
- package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/FilterDropdownButton.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/FilterDropdownButton/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.d.ts +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js +0 -38
- package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/FilterTreeCondition.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/FilterTreeCondition/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.d.ts +0 -14
- package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js +0 -147
- package/dist/components/LibraryItemsList/FiltersPanel/FiltersOptions.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js +0 -121
- package/dist/components/LibraryItemsList/FiltersPanel/FiltersPanel.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/FiltersPanel/index.js +0 -6
- package/dist/components/LibraryItemsList/FiltersPanel/index.js.map +0 -1
- package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.d.ts +0 -3
- package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js +0 -17
- package/dist/components/LibraryItemsList/FiltersPanel/mustHideValue.js.map +0 -1
- package/dist/components/LibraryItemsList/IconViewType/IconViewType.d.ts +0 -8
- package/dist/components/LibraryItemsList/IconViewType/IconViewType.js +0 -18
- package/dist/components/LibraryItemsList/IconViewType/IconViewType.js.map +0 -1
- package/dist/components/LibraryItemsList/IconViewType/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/IconViewType/index.js +0 -6
- package/dist/components/LibraryItemsList/IconViewType/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsList.d.ts +0 -14
- package/dist/components/LibraryItemsList/LibraryItemsList.js +0 -18
- package/dist/components/LibraryItemsList/LibraryItemsList.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.d.ts +0 -16
- package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js +0 -202
- package/dist/components/LibraryItemsList/LibraryItemsListContent/LibraryItemsListContent.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListContent/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListContent/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.d.ts +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js +0 -32
- package/dist/components/LibraryItemsList/LibraryItemsListEmpty/LibraryItemsListEmpty.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListEmpty/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js +0 -21
- package/dist/components/LibraryItemsList/LibraryItemsListPagination/LibraryItemsListPagination.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListPagination/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.d.ts +0 -8
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js +0 -56
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/BodyCell.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyCell/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.d.ts +0 -7
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js +0 -54
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/BodyRow.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/BodyRow/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.d.ts +0 -8
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js +0 -66
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/AllValuesCount.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/AllValuesCount/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.d.ts +0 -8
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js +0 -59
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/Cell.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.d.ts +0 -9
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js +0 -56
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/CellInfos.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellInfos/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.d.ts +0 -5
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js +0 -34
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/CellSelection.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/CellSelection/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.d.ts +0 -5
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js +0 -23
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/ElementsToDisplay/RichTextDisplay.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.d.ts +0 -3
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js +0 -80
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.d.ts +0 -12
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js +0 -11
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.d.ts +0 -12
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/types.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js +0 -40
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/utils.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.d.ts +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js +0 -81
- package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/ChooseTableColumns.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/ChooseTableColumns/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.d.ts +0 -9
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js +0 -142
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/Header.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Header/index.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js +0 -232
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Table.js.map +0 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js +0 -6
- package/dist/components/LibraryItemsList/LibraryItemsListTable/index.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.d.ts +0 -9
- package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js +0 -27
- package/dist/components/LibraryItemsList/MenuItemList/MenuItemList.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuItemList/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/MenuItemList/index.js +0 -6
- package/dist/components/LibraryItemsList/MenuItemList/index.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.d.ts +0 -2
- package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js +0 -62
- package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/ActionsMenu.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js +0 -6
- package/dist/components/LibraryItemsList/MenuItemListSelected/ActionsMenu/index.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.d.ts +0 -5
- package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js +0 -139
- package/dist/components/LibraryItemsList/MenuItemListSelected/MenuItemListSelected.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuItemListSelected/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/MenuItemListSelected/index.js +0 -6
- package/dist/components/LibraryItemsList/MenuItemListSelected/index.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.d.ts +0 -2
- package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js +0 -58
- package/dist/components/LibraryItemsList/MenuSelection/MenuSelection.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuSelection/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/MenuSelection/index.js +0 -6
- package/dist/components/LibraryItemsList/MenuSelection/index.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuView/MenuView.d.ts +0 -6
- package/dist/components/LibraryItemsList/MenuView/MenuView.js +0 -162
- package/dist/components/LibraryItemsList/MenuView/MenuView.js.map +0 -1
- package/dist/components/LibraryItemsList/MenuView/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/MenuView/index.js +0 -6
- package/dist/components/LibraryItemsList/MenuView/index.js.map +0 -1
- package/dist/components/LibraryItemsList/SearchItems/SearchItems.d.ts +0 -2
- package/dist/components/LibraryItemsList/SearchItems/SearchItems.js +0 -21
- package/dist/components/LibraryItemsList/SearchItems/SearchItems.js.map +0 -1
- package/dist/components/LibraryItemsList/SearchItems/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/SearchItems/index.js +0 -6
- package/dist/components/LibraryItemsList/SearchItems/index.js.map +0 -1
- package/dist/components/LibraryItemsList/Sidebar/Sidebar.d.ts +0 -2
- package/dist/components/LibraryItemsList/Sidebar/Sidebar.js +0 -58
- package/dist/components/LibraryItemsList/Sidebar/Sidebar.js.map +0 -1
- package/dist/components/LibraryItemsList/Sidebar/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/Sidebar/index.js +0 -6
- package/dist/components/LibraryItemsList/Sidebar/index.js.map +0 -1
- package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.d.ts +0 -6
- package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js +0 -199
- package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/ItemTileDisplay.js.map +0 -1
- package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js +0 -6
- package/dist/components/LibraryItemsList/TileDisplay/ItemTileDisplay/index.js.map +0 -1
- package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.d.ts +0 -2
- package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js +0 -50
- package/dist/components/LibraryItemsList/TileDisplay/TileDisplay.js.map +0 -1
- package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.d.ts +0 -3
- package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js +0 -11
- package/dist/components/LibraryItemsList/TileDisplay/helpers/getItemPreviewSize.js.map +0 -1
- package/dist/components/LibraryItemsList/TileDisplay/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/TileDisplay/index.js +0 -6
- package/dist/components/LibraryItemsList/TileDisplay/index.js.map +0 -1
- package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.d.ts +0 -2
- package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js +0 -66
- package/dist/components/LibraryItemsList/VersionsPanel/VersionsPanel.js.map +0 -1
- package/dist/components/LibraryItemsList/VersionsPanel/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/VersionsPanel/index.js +0 -6
- package/dist/components/LibraryItemsList/VersionsPanel/index.js.map +0 -1
- package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.d.ts +0 -9
- package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js +0 -85
- package/dist/components/LibraryItemsList/ViewPanel/EditView/EditView.js.map +0 -1
- package/dist/components/LibraryItemsList/ViewPanel/EditView/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js +0 -6
- package/dist/components/LibraryItemsList/ViewPanel/EditView/index.js.map +0 -1
- package/dist/components/LibraryItemsList/ViewPanel/View/View.d.ts +0 -7
- package/dist/components/LibraryItemsList/ViewPanel/View/View.js +0 -152
- package/dist/components/LibraryItemsList/ViewPanel/View/View.js.map +0 -1
- package/dist/components/LibraryItemsList/ViewPanel/View/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/ViewPanel/View/index.js +0 -6
- package/dist/components/LibraryItemsList/ViewPanel/View/index.js.map +0 -1
- package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.d.ts +0 -2
- package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js +0 -209
- package/dist/components/LibraryItemsList/ViewPanel/ViewPanel.js.map +0 -1
- package/dist/components/LibraryItemsList/ViewPanel/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/ViewPanel/index.js +0 -6
- package/dist/components/LibraryItemsList/ViewPanel/index.js.map +0 -1
- package/dist/components/LibraryItemsList/constants.d.ts +0 -12
- package/dist/components/LibraryItemsList/constants.js +0 -19
- package/dist/components/LibraryItemsList/constants.js.map +0 -1
- package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.d.ts +0 -3
- package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js +0 -21
- package/dist/components/LibraryItemsList/helpers/defaultFilterConditionByAttributeFormat.js.map +0 -1
- package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.d.ts +0 -3
- package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js +0 -18
- package/dist/components/LibraryItemsList/helpers/displayTypeToPreviewSize.js.map +0 -1
- package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.d.ts +0 -4
- package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js +0 -64
- package/dist/components/LibraryItemsList/helpers/extractAttributesFromLibrary.js.map +0 -1
- package/dist/components/LibraryItemsList/helpers/getFieldFromKey.d.ts +0 -5
- package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js +0 -40
- package/dist/components/LibraryItemsList/helpers/getFieldFromKey.js.map +0 -1
- package/dist/components/LibraryItemsList/helpers/getFieldsFromView.d.ts +0 -6
- package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js +0 -10
- package/dist/components/LibraryItemsList/helpers/getFieldsFromView.js.map +0 -1
- package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.d.ts +0 -2
- package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js +0 -13
- package/dist/components/LibraryItemsList/helpers/getFieldsKeyFromAttribute.js.map +0 -1
- package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.d.ts +0 -2
- package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js +0 -18
- package/dist/components/LibraryItemsList/helpers/getSortFieldByAttributeType.js.map +0 -1
- package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.d.ts +0 -8
- package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js +0 -99
- package/dist/components/LibraryItemsList/hooks/useLibraryView/useLibraryView.js.map +0 -1
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.d.ts +0 -82
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js +0 -2
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js.map +0 -1
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js +0 -6
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/index.js.map +0 -1
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.d.ts +0 -7
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js +0 -7
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchContext.js.map +0 -1
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.d.ts +0 -121
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js +0 -228
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js.map +0 -1
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.d.ts +0 -5
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js +0 -8
- package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.js.map +0 -1
- package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.d.ts +0 -7
- package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js +0 -40
- package/dist/components/LibraryItemsList/hooks/useUpdateViewsOrderMutation.js.map +0 -1
- package/dist/components/LibraryItemsList/index.d.ts +0 -1
- package/dist/components/LibraryItemsList/index.js +0 -5
- package/dist/components/LibraryItemsList/index.js.map +0 -1
- package/dist/components/LibraryItemsList/manageItems.d.ts +0 -11
- package/dist/components/LibraryItemsList/manageItems.js +0 -98
- package/dist/components/LibraryItemsList/manageItems.js.map +0 -1
- package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.d.ts +0 -7
- package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js +0 -38
- package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js.map +0 -1
- package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.d.ts +0 -2
- package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js +0 -6
- package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/index.js.map +0 -1
- package/dist/components/LibraryItemsList/shared/SelectCellsBtn.d.ts +0 -12
- package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js +0 -29
- package/dist/components/LibraryItemsList/shared/SelectCellsBtn.js.map +0 -1
- package/dist/components/LibraryItemsList/shared/sharedUtils.d.ts +0 -4
- package/dist/components/LibraryItemsList/shared/sharedUtils.js +0 -9
- package/dist/components/LibraryItemsList/shared/sharedUtils.js.map +0 -1
|
@@ -28,8 +28,9 @@ import { faPlus } from '@fortawesome/free-solid-svg-icons';
|
|
|
28
28
|
* @param totalCount - used for display purpose only
|
|
29
29
|
* @param onCreate - callback to let outside world known about creating item (and linking)
|
|
30
30
|
* @param refetch - method to call to refresh the list. A new item will be visible if it matches filters and sorts
|
|
31
|
+
* @param refetchCount - method to call to refresh the count of the library. A new item will be visible if it matches filters and sorts
|
|
31
32
|
*/
|
|
32
|
-
export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entrypoint, totalCount, canCreateAndLinkValue, isMultivalue, onCreate, formId, joinLibraryContext, refetch, }) => {
|
|
33
|
+
export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entrypoint, totalCount, canCreateAndLinkValue, isMultivalue, onCreate, formId, joinLibraryContext, refetch, refetchCount, }) => {
|
|
33
34
|
const { t } = useSharedTranslation();
|
|
34
35
|
const { lang } = useLang();
|
|
35
36
|
const [isModalCreationVisible, setIsModalCreationVisible] = useState(false);
|
|
@@ -85,6 +86,7 @@ export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entryp
|
|
|
85
86
|
case LibraryBehavior.files:
|
|
86
87
|
_createModal = (_jsx(UploadFiles, { libraryId: _getLibraryId(), multiple: true, onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
|
|
87
88
|
refetch();
|
|
89
|
+
refetchCount();
|
|
88
90
|
_notifyNewCreation(t('upload.file'));
|
|
89
91
|
setIsModalCreationVisible(false);
|
|
90
92
|
} }));
|
|
@@ -92,6 +94,7 @@ export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entryp
|
|
|
92
94
|
case LibraryBehavior.directories:
|
|
93
95
|
_createModal = (_jsx(CreateDirectory, { libraryId: _getLibraryId(), onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
|
|
94
96
|
refetch();
|
|
97
|
+
refetchCount();
|
|
95
98
|
_notifyNewCreation(t('upload.folder'));
|
|
96
99
|
setIsModalCreationVisible(false);
|
|
97
100
|
} }));
|
|
@@ -124,6 +127,7 @@ export const useCreatePrimaryAction = ({ isEnabled, isVisible, libraryId, entryp
|
|
|
124
127
|
await Promise.resolve(onCreate?.({ recordIdCreated: newRecord.id }));
|
|
125
128
|
}
|
|
126
129
|
refetch();
|
|
130
|
+
refetchCount();
|
|
127
131
|
}, submitButtons: ['create'] }));
|
|
128
132
|
break;
|
|
129
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreatePrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useCreatePrimaryAction.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 ReactElement, useState} from 'react';\nimport {KitAlert} from 'aristid-ds';\nimport {CreateDirectory, EditRecordModal, UploadFiles} from '_ui/components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport useSaveValueBatchMutation from '_ui/components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';\nimport {type ISubmitMultipleResult} from '_ui/components/RecordEdition/EditRecordContent/_types';\nimport {\n AttributeType,\n type JoinLibraryContextFragment,\n LibraryBehavior,\n useExplorerLibraryDetailsQuery,\n} from '_ui/_gqlTypes';\nimport {type FeatureHook, type Entrypoint, type IPrimaryAction} from '../_types';\nimport {CREATE_RECORD_MODAL_CLASSNAME} from '../_constants';\nimport {SUCCESS_ALERT_DURATION} from '_ui/constants';\nimport {localizedTranslation} from '@leav/utils';\nimport {useLang} from '_ui/hooks';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faPlus} from '@fortawesome/free-solid-svg-icons';\n\n/**\n * Hook used to get the action for the `<DataView />` component.\n *\n * When the creation is done, we refresh all data even if the new record is not visible due to some filters.\n *\n * It returns also two parts: one for the call action button - one for displaying the modal required by the action.\n *\n * @param isEnabled - whether the action is present\n * @param isVisible - whether the button should be visible or not\n * @param libraryId - the library's id to add new item\n * @param entrypoint - represent the current entrypoint\n * @param totalCount - used for display purpose only\n * @param onCreate - callback to let outside world known about creating item (and linking)\n * @param refetch - method to call to refresh the list. A new item will be visible if it matches filters and sorts\n */\nexport const useCreatePrimaryAction = ({\n isEnabled,\n isVisible,\n libraryId,\n entrypoint,\n totalCount,\n canCreateAndLinkValue,\n isMultivalue,\n onCreate,\n formId,\n joinLibraryContext,\n refetch,\n}: FeatureHook<{\n libraryId: string;\n entrypoint: Entrypoint;\n totalCount: number;\n canCreateAndLinkValue: boolean;\n isMultivalue: boolean;\n onCreate?: ({\n recordIdCreated,\n saveValuesResultOnLink,\n }: {\n recordIdCreated: string;\n saveValuesResultOnLink?: ISubmitMultipleResult;\n }) => void;\n joinLibraryContext?: JoinLibraryContextFragment;\n formId?: string;\n refetch: () => void;\n}>) => {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n const [isModalCreationVisible, setIsModalCreationVisible] = useState(false);\n const {saveValues} = useSaveValueBatchMutation();\n\n const _getLibraryId = () =>\n (joinLibraryContext?.mandatoryAttribute &&\n 'linked_library' in joinLibraryContext.mandatoryAttribute &&\n joinLibraryContext.mandatoryAttribute.linked_library?.id) ||\n libraryId;\n\n const {data, loading, error} = useExplorerLibraryDetailsQuery({\n variables: {libraryId: _getLibraryId()},\n skip: !isEnabled,\n });\n\n const hasCreateRecordPermission = data?.libraries?.list[0]?.permissions?.create_record ?? false;\n\n if (error || loading || !isVisible || !hasCreateRecordPermission) {\n return {createPrimaryAction: null, createModal: null};\n }\n\n let canCreateRecord;\n if (joinLibraryContext?.mandatoryAttribute?.type === AttributeType.tree) {\n canCreateRecord = false;\n } else if (entrypoint.type === 'library') {\n canCreateRecord = true;\n } else {\n canCreateRecord = canCreateAndLinkValue && (isMultivalue || totalCount === 0);\n }\n\n const _createPrimaryAction: IPrimaryAction = {\n callback: () => {\n setIsModalCreationVisible(true);\n },\n icon: <FontAwesomeIcon icon={faPlus} />,\n disabled: !canCreateRecord,\n label: t('explorer.create-one'),\n };\n\n const _notifyNewCreation = (label?: string | null) => {\n KitAlert.success({\n showIcon: true,\n duration: SUCCESS_ALERT_DURATION,\n message: t('items_list.created_in_success.message', {\n libName:\n localizedTranslation(data?.libraries?.list[0]?.label, lang) ||\n t('items_list.created_in_success.item'),\n }),\n description: t('items_list.created_in_success.description', {\n libName:\n localizedTranslation(data?.libraries?.list[0]?.label, lang) ||\n t('items_list.created_in_success.item'),\n itemName: label || t('items_list.created_in_success.item'),\n }),\n closable: true,\n });\n };\n\n let _createModal: ReactElement | null = null;\n switch (data?.libraries?.list[0]?.behavior) {\n case LibraryBehavior.files:\n _createModal = (\n <UploadFiles\n libraryId={_getLibraryId()}\n multiple\n onClose={() => setIsModalCreationVisible(false)}\n onCompleted={() => {\n refetch();\n _notifyNewCreation(t('upload.file'));\n setIsModalCreationVisible(false);\n }}\n />\n );\n break;\n case LibraryBehavior.directories:\n _createModal = (\n <CreateDirectory\n libraryId={_getLibraryId()}\n onClose={() => setIsModalCreationVisible(false)}\n onCompleted={() => {\n refetch();\n _notifyNewCreation(t('upload.folder'));\n setIsModalCreationVisible(false);\n }}\n />\n );\n break;\n case LibraryBehavior.standard:\n case LibraryBehavior.join:\n _createModal = (\n <EditRecordModal\n className={CREATE_RECORD_MODAL_CLASSNAME}\n open\n record={null}\n library={_getLibraryId()}\n creationFormId={formId}\n onClose={() => {\n setIsModalCreationVisible(false);\n }}\n onCreate={async newRecord => {\n _notifyNewCreation(newRecord.label);\n setIsModalCreationVisible(false);\n if (entrypoint.type === 'link') {\n await saveValues(\n {\n id: entrypoint.parentRecordId,\n library: {\n id: entrypoint.parentLibraryId,\n },\n },\n [\n {\n attribute: entrypoint.linkAttributeId,\n idValue: null,\n value: newRecord.id,\n },\n ],\n ).then(async saveValuesResult =>\n onCreate?.({\n recordIdCreated: newRecord.id,\n saveValuesResultOnLink: saveValuesResult,\n }),\n );\n } else {\n await Promise.resolve(onCreate?.({recordIdCreated: newRecord.id}));\n }\n refetch();\n }}\n submitButtons={['create']}\n />\n );\n break;\n }\n\n return {\n createPrimaryAction: isEnabled ? _createPrimaryAction : null,\n createModal: isModalCreationVisible ? _createModal : null,\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"useCreatePrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useCreatePrimaryAction.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 ReactElement, useState} from 'react';\nimport {KitAlert} from 'aristid-ds';\nimport {CreateDirectory, EditRecordModal, UploadFiles} from '_ui/components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport useSaveValueBatchMutation from '_ui/components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';\nimport {type ISubmitMultipleResult} from '_ui/components/RecordEdition/EditRecordContent/_types';\nimport {\n AttributeType,\n type JoinLibraryContextFragment,\n LibraryBehavior,\n useExplorerLibraryDetailsQuery,\n} from '_ui/_gqlTypes';\nimport {type FeatureHook, type Entrypoint, type IPrimaryAction} from '../_types';\nimport {CREATE_RECORD_MODAL_CLASSNAME} from '../_constants';\nimport {SUCCESS_ALERT_DURATION} from '_ui/constants';\nimport {localizedTranslation} from '@leav/utils';\nimport {useLang} from '_ui/hooks';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faPlus} from '@fortawesome/free-solid-svg-icons';\n\n/**\n * Hook used to get the action for the `<DataView />` component.\n *\n * When the creation is done, we refresh all data even if the new record is not visible due to some filters.\n *\n * It returns also two parts: one for the call action button - one for displaying the modal required by the action.\n *\n * @param isEnabled - whether the action is present\n * @param isVisible - whether the button should be visible or not\n * @param libraryId - the library's id to add new item\n * @param entrypoint - represent the current entrypoint\n * @param totalCount - used for display purpose only\n * @param onCreate - callback to let outside world known about creating item (and linking)\n * @param refetch - method to call to refresh the list. A new item will be visible if it matches filters and sorts\n * @param refetchCount - method to call to refresh the count of the library. A new item will be visible if it matches filters and sorts\n */\nexport const useCreatePrimaryAction = ({\n isEnabled,\n isVisible,\n libraryId,\n entrypoint,\n totalCount,\n canCreateAndLinkValue,\n isMultivalue,\n onCreate,\n formId,\n joinLibraryContext,\n refetch,\n refetchCount,\n}: FeatureHook<{\n libraryId: string;\n entrypoint: Entrypoint;\n totalCount: number;\n canCreateAndLinkValue: boolean;\n isMultivalue: boolean;\n onCreate?: ({\n recordIdCreated,\n saveValuesResultOnLink,\n }: {\n recordIdCreated: string;\n saveValuesResultOnLink?: ISubmitMultipleResult;\n }) => void;\n joinLibraryContext?: JoinLibraryContextFragment;\n formId?: string;\n refetch: () => void;\n refetchCount: () => void;\n}>) => {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n const [isModalCreationVisible, setIsModalCreationVisible] = useState(false);\n const {saveValues} = useSaveValueBatchMutation();\n\n const _getLibraryId = () =>\n (joinLibraryContext?.mandatoryAttribute &&\n 'linked_library' in joinLibraryContext.mandatoryAttribute &&\n joinLibraryContext.mandatoryAttribute.linked_library?.id) ||\n libraryId;\n\n const {data, loading, error} = useExplorerLibraryDetailsQuery({\n variables: {libraryId: _getLibraryId()},\n skip: !isEnabled,\n });\n\n const hasCreateRecordPermission = data?.libraries?.list[0]?.permissions?.create_record ?? false;\n\n if (error || loading || !isVisible || !hasCreateRecordPermission) {\n return {createPrimaryAction: null, createModal: null};\n }\n\n let canCreateRecord;\n if (joinLibraryContext?.mandatoryAttribute?.type === AttributeType.tree) {\n canCreateRecord = false;\n } else if (entrypoint.type === 'library') {\n canCreateRecord = true;\n } else {\n canCreateRecord = canCreateAndLinkValue && (isMultivalue || totalCount === 0);\n }\n\n const _createPrimaryAction: IPrimaryAction = {\n callback: () => {\n setIsModalCreationVisible(true);\n },\n icon: <FontAwesomeIcon icon={faPlus} />,\n disabled: !canCreateRecord,\n label: t('explorer.create-one'),\n };\n\n const _notifyNewCreation = (label?: string | null) => {\n KitAlert.success({\n showIcon: true,\n duration: SUCCESS_ALERT_DURATION,\n message: t('items_list.created_in_success.message', {\n libName:\n localizedTranslation(data?.libraries?.list[0]?.label, lang) ||\n t('items_list.created_in_success.item'),\n }),\n description: t('items_list.created_in_success.description', {\n libName:\n localizedTranslation(data?.libraries?.list[0]?.label, lang) ||\n t('items_list.created_in_success.item'),\n itemName: label || t('items_list.created_in_success.item'),\n }),\n closable: true,\n });\n };\n\n let _createModal: ReactElement | null = null;\n switch (data?.libraries?.list[0]?.behavior) {\n case LibraryBehavior.files:\n _createModal = (\n <UploadFiles\n libraryId={_getLibraryId()}\n multiple\n onClose={() => setIsModalCreationVisible(false)}\n onCompleted={() => {\n refetch();\n refetchCount();\n _notifyNewCreation(t('upload.file'));\n setIsModalCreationVisible(false);\n }}\n />\n );\n break;\n case LibraryBehavior.directories:\n _createModal = (\n <CreateDirectory\n libraryId={_getLibraryId()}\n onClose={() => setIsModalCreationVisible(false)}\n onCompleted={() => {\n refetch();\n refetchCount();\n _notifyNewCreation(t('upload.folder'));\n setIsModalCreationVisible(false);\n }}\n />\n );\n break;\n case LibraryBehavior.standard:\n case LibraryBehavior.join:\n _createModal = (\n <EditRecordModal\n className={CREATE_RECORD_MODAL_CLASSNAME}\n open\n record={null}\n library={_getLibraryId()}\n creationFormId={formId}\n onClose={() => {\n setIsModalCreationVisible(false);\n }}\n onCreate={async newRecord => {\n _notifyNewCreation(newRecord.label);\n setIsModalCreationVisible(false);\n if (entrypoint.type === 'link') {\n await saveValues(\n {\n id: entrypoint.parentRecordId,\n library: {\n id: entrypoint.parentLibraryId,\n },\n },\n [\n {\n attribute: entrypoint.linkAttributeId,\n idValue: null,\n value: newRecord.id,\n },\n ],\n ).then(async saveValuesResult =>\n onCreate?.({\n recordIdCreated: newRecord.id,\n saveValuesResultOnLink: saveValuesResult,\n }),\n );\n } else {\n await Promise.resolve(onCreate?.({recordIdCreated: newRecord.id}));\n }\n refetch();\n refetchCount();\n }}\n submitButtons={['create']}\n />\n );\n break;\n }\n\n return {\n createPrimaryAction: isEnabled ? _createPrimaryAction : null,\n createModal: isModalCreationVisible ? _createModal : null,\n };\n};\n"]}
|
package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js
CHANGED
|
@@ -7,6 +7,6 @@ import { KitIdCard, KitRadio, KitSpace, KitTag } from 'aristid-ds';
|
|
|
7
7
|
export const SelectViewType = ({ value, onChange }) => {
|
|
8
8
|
const { t } = useSharedTranslation();
|
|
9
9
|
const comingSoonTag = (_jsx(KitTag, { type: "secondary", children: _jsx(KitIdCard, { description: String(t('explorer.coming-soon')) }) }));
|
|
10
|
-
return (_jsx(KitRadio.Group, { value: value, onChange: onChange, children: _jsxs(KitSpace, { direction: "vertical", size: 0, children: [_jsx(KitRadio, { value: "
|
|
10
|
+
return (_jsx(KitRadio.Group, { value: value, onChange: onChange, children: _jsxs(KitSpace, { direction: "vertical", size: 0, children: [_jsx(KitRadio, { value: "table", children: t('explorer.view-type-table') }), _jsx(KitRadio, { value: "timeline", children: t('explorer.view-type-planning') }), _jsx(KitRadio, { value: "list", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.view-type-list'), " ", comingSoonTag] }) }), _jsx(KitRadio, { value: "mosaic", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.view-type-mosaic'), " ", comingSoonTag] }) })] }) }));
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=SelectViewType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectViewType.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,YAAY,CAAC;AASjE,MAAM,CAAC,MAAM,cAAc,GAA4C,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAE,EAAE;IACzF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,aAAa,GAAG,CAClB,KAAC,MAAM,IAAC,IAAI,EAAC,WAAW,YACpB,KAAC,SAAS,IAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAI,GACxD,CACZ,CAAC;IAEF,OAAO,CACH,KAAC,QAAQ,CAAC,KAAK,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YAC5C,MAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,EAAC,IAAI,EAAE,CAAC,aAClC,KAAC,QAAQ,IAAC,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"SelectViewType.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,YAAY,CAAC;AASjE,MAAM,CAAC,MAAM,cAAc,GAA4C,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAE,EAAE;IACzF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,aAAa,GAAG,CAClB,KAAC,MAAM,IAAC,IAAI,EAAC,WAAW,YACpB,KAAC,SAAS,IAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAI,GACxD,CACZ,CAAC;IAEF,OAAO,CACH,KAAC,QAAQ,CAAC,KAAK,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YAC5C,MAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,EAAC,IAAI,EAAE,CAAC,aAClC,KAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,YAAE,CAAC,CAAC,0BAA0B,CAAC,GAAY,EAClE,KAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,YAAE,CAAC,CAAC,6BAA6B,CAAC,GAAY,EACxE,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,kBAC3B,MAAC,QAAQ,eACJ,CAAC,CAAC,yBAAyB,CAAC,OAAG,aAAa,IACtC,GACJ,EACX,KAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,kBAC7B,MAAC,QAAQ,eACJ,CAAC,CAAC,2BAA2B,CAAC,OAAG,aAAa,IACxC,GACJ,IACJ,GACE,CACpB,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {KitIdCard, KitRadio, KitSpace, KitTag} from 'aristid-ds';\nimport {type RadioGroupProps} from 'aristid-ds/dist/Kit/DataEntry/Radio';\nimport {type FunctionComponent} from 'react';\n\ninterface ISelectViewTypeProps {\n value: string;\n onChange: RadioGroupProps['onChange'];\n}\n\nexport const SelectViewType: FunctionComponent<ISelectViewTypeProps> = ({value, onChange}) => {\n const {t} = useSharedTranslation();\n\n const comingSoonTag = (\n <KitTag type=\"secondary\">\n <KitIdCard description={String(t('explorer.coming-soon'))} />\n </KitTag>\n );\n\n return (\n <KitRadio.Group value={value} onChange={onChange}>\n <KitSpace direction=\"vertical\" size={0}>\n <KitRadio value=\"table\">{t('explorer.view-type-table')}</KitRadio>\n <KitRadio value=\"timeline\">{t('explorer.view-type-planning')}</KitRadio>\n <KitRadio value=\"list\" disabled>\n <KitSpace>\n {t('explorer.view-type-list')} {comingSoonTag}\n </KitSpace>\n </KitRadio>\n <KitRadio value=\"mosaic\" disabled>\n <KitSpace>\n {t('explorer.view-type-mosaic')} {comingSoonTag}\n </KitSpace>\n </KitRadio>\n </KitSpace>\n </KitRadio.Group>\n );\n};\n"]}
|
|
@@ -71,8 +71,8 @@ export const FilterItems = ({ libraryId }) => {
|
|
|
71
71
|
});
|
|
72
72
|
};
|
|
73
73
|
const _handleDragEnd = ({ active: draggedElement, over: dropTarget }) => {
|
|
74
|
-
const indexFrom = activeFilters.findIndex(({ field }) => field === String(draggedElement.id));
|
|
75
|
-
const indexTo = activeFilters.findIndex(({ field }) => field === String(dropTarget?.id));
|
|
74
|
+
const indexFrom = activeFilters.findIndex(({ field }) => Array.isArray(field) ? field.includes(String(draggedElement.id)) : field === String(draggedElement.id));
|
|
75
|
+
const indexTo = activeFilters.findIndex(({ field }) => Array.isArray(field) ? field.includes(String(dropTarget?.id)) : field === String(dropTarget?.id));
|
|
76
76
|
if (!dropTarget || indexFrom === indexTo || indexTo === -1) {
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faSearch} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n smartFilter: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].smart_filter ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) => field === String(draggedElement.id));\n const indexTo = activeFilters.findIndex(({field}) => field === String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye icon={faEye} />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FontAwesomeIcon icon={faSearch} />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash icon={faEyeSlash} />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faSearch} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n smartFilter: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].smart_filter ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) =>\n Array.isArray(field) ? field.includes(String(draggedElement.id)) : field === String(draggedElement.id),\n );\n const indexTo = activeFilters.findIndex(({field}) =>\n Array.isArray(field) ? field.includes(String(dropTarget?.id)) : field === String(dropTarget?.id),\n );\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye icon={faEye} />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FontAwesomeIcon icon={faSearch} />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash icon={faEyeSlash} />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
|
|
@@ -33,19 +33,22 @@ export const useViewSettingsReducer = (entrypoint, defaultViewSettings = {}, ign
|
|
|
33
33
|
/**
|
|
34
34
|
* On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`
|
|
35
35
|
*/
|
|
36
|
-
useExplorerLinkAttributeQuery({
|
|
36
|
+
const { data: linkAttributeData } = useExplorerLinkAttributeQuery({
|
|
37
37
|
skip: entrypoint.type !== 'link',
|
|
38
38
|
variables: {
|
|
39
39
|
id: entrypoint.linkAttributeId,
|
|
40
40
|
},
|
|
41
|
-
onCompleted: data => {
|
|
42
|
-
const attributeData = data?.attributes?.list?.[0];
|
|
43
|
-
if (!attributeData) {
|
|
44
|
-
throw new Error('Unknown link attribute');
|
|
45
|
-
}
|
|
46
|
-
setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);
|
|
47
|
-
},
|
|
48
41
|
});
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (entrypoint.type !== 'link') {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const attributeData = linkAttributeData?.attributes?.list?.[0];
|
|
47
|
+
if (!attributeData) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);
|
|
51
|
+
}, [entrypoint, linkAttributeData]);
|
|
49
52
|
const {
|
|
50
53
|
/**
|
|
51
54
|
* List of my views and shared views
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useViewSettingsReducer.js","sourceRoot":"","sources":["../../../src/components/Explorer/useViewSettingsReducer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useEffect, useMemo, useReducer, useState} from 'react';\nimport {\n type GetViewsListQuery,\n useExplorerAttributesQuery,\n useExplorerLinkAttributeQuery,\n useGetViewsListQuery,\n ViewSizes,\n} from '_ui/_gqlTypes';\nimport {type DefaultViewSettings, type Entrypoint, type IEntrypointLink} from './_types';\nimport {mapViewTypeFromLegacyToExplorer} from './_constants';\nimport {\n type IViewSettingsState,\n useEditSettings,\n viewSettingsInitialState,\n viewSettingsReducer,\n} from './manage-view-settings';\nimport {\n type AttributesById,\n isLinkAttributeDetails,\n useTransformFilters,\n} from '_ui/components/Filters/useTransformFilters';\n\nconst _areDifferents = <T extends object>(object1: T, object2: T) =>\n Object.keys(object1).some(key => object1[key] !== object2[key]);\n\nexport const useViewSettingsReducer = (\n entrypoint: Entrypoint,\n defaultViewSettings: DefaultViewSettings = {},\n ignoreViewByDefault: boolean,\n) => {\n /**\n * Should be `true` during all the warm up, until we `RESET` the view.\n */\n const [loading, setLoading] = useState(true);\n const [libraryId, setLibraryId] = useState(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n const [view, dispatch] = useReducer(viewSettingsReducer, viewSettingsInitialState);\n const {closeSettingsPanel} = useEditSettings();\n\n // FIXME: should be two methods taking `lang` as argument\n const {toValidFilters} = useTransformFilters();\n\n /**\n * We need to check if the `props.entrypoint` has changed to detect a new `props.entrypoint.libraryId`.\n *\n * If `false`, we reload from scratch and close the side panel that contains the views.\n */\n const needToReloadViewsFromScratch = _areDifferents(entrypoint, view.entrypoint);\n\n useEffect(() => {\n if (needToReloadViewsFromScratch) {\n setLoading(true);\n setLibraryId(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n closeSettingsPanel();\n }\n }, [needToReloadViewsFromScratch]);\n\n /**\n * On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`\n */\n useExplorerLinkAttributeQuery({\n skip: entrypoint.type !== 'link',\n variables: {\n id: (entrypoint as IEntrypointLink).linkAttributeId,\n },\n onCompleted: data => {\n const attributeData = data?.attributes?.list?.[0];\n if (!attributeData) {\n throw new Error('Unknown link attribute');\n }\n setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);\n },\n });\n\n const {\n /**\n * List of my views and shared views\n */\n data: viewData,\n loading: viewsLoading,\n error: viewError,\n } = useGetViewsListQuery({\n skip: libraryId === null,\n variables: {\n libraryId: libraryId as string,\n },\n });\n\n let userView: GetViewsListQuery['views']['list'][number] | undefined;\n if (defaultViewSettings?.viewId) {\n userView = viewData?.views?.list?.find(viewItem => viewItem.id === defaultViewSettings.viewId);\n }\n // On still `undefined` view, we take the last added one\n userView = userView ?? viewData?.views?.list?.at(-1);\n\n const userViewFilters = ignoreViewByDefault ? [] : toValidFilters(userView?.filters ?? []);\n\n const userAttributesToHydrate = ignoreViewByDefault\n ? []\n : [\n ...userViewFilters,\n ...(userView?.sort ?? []),\n ...(userView?.attributes?.map(attribute => ({field: attribute.id})) ?? []),\n ];\n\n const preparedDefaultFilters = toValidFilters(defaultViewSettings.filters ?? []);\n\n const attributesToHydrate = [\n ...new Set(\n [\n ...(preparedDefaultFilters ?? []),\n ...(defaultViewSettings.sort ?? []),\n ...userAttributesToHydrate,\n ...(defaultViewSettings?.attributesIds?.map(attributeId => ({field: attributeId})) ?? []),\n ].map(({field}) => field),\n ),\n ];\n\n const {\n data: attributesData,\n loading: attributesLoading,\n error: attributesError,\n } = useExplorerAttributesQuery({\n variables: {\n ids: attributesToHydrate,\n },\n skip: libraryId === null || viewsLoading || attributesToHydrate.length === 0,\n });\n\n const attributesDataById = useMemo(\n () =>\n (attributesData?.attributes?.list ?? []).reduce<AttributesById>((acc, attr) => {\n if (attr.permissions.access_attribute) {\n acc[attr.id] = attr;\n }\n return acc;\n }, {}),\n [attributesData],\n );\n\n useEffect(() => {\n if (libraryId !== null && !viewsLoading && !attributesLoading) {\n const savedViews = (viewData?.views.list ?? []).map(\n ({id, label, shared, display, filters, sort, attributes, created_by}) => ({\n id,\n ownerId: created_by.id,\n label,\n shared,\n display: {type: display.type, size: display.size || ViewSizes.MEDIUM},\n filters: toValidFilters(filters ?? []),\n sort: sort ?? [],\n attributes: attributes?.map(attribute => attribute.id) ?? [],\n }),\n );\n /**\n * Filters merged from `<Explorer />` props and `view`.\n * > Could include hidden filters too.\n */\n const defaultSorts = defaultViewSettings?.sort ?? [];\n const userViewSorts = ignoreViewByDefault ? [] : (userView?.sort ?? []);\n const defaultAttributesIds = (defaultViewSettings?.attributesIds ?? []).filter(\n attr => attributesDataById[attr],\n );\n const userViewAttributesIds = ignoreViewByDefault\n ? []\n : (userView?.attributes ?? []).map(attr => attr.id).filter(attr => attributesDataById[attr]);\n\n let viewProps = {};\n if (!ignoreViewByDefault) {\n viewProps = {\n viewId: userView?.id ?? null,\n viewLabels: userView?.label ?? {},\n viewType: userView?.display\n ? mapViewTypeFromLegacyToExplorer[userView.display.type]\n : viewSettingsInitialState.viewType,\n };\n }\n\n const hydratedSettings: IViewSettingsState = {\n ...viewSettingsInitialState,\n entrypoint,\n libraryId,\n ...viewProps,\n savedViews,\n ...defaultViewSettings,\n attributesIds: defaultAttributesIds.length > 0 ? defaultAttributesIds : userViewAttributesIds,\n sort: (defaultSorts.length > 0 ? defaultSorts : userViewSorts)\n .map(s => ({\n field: s.field,\n order: s.order,\n }))\n .filter(s => attributesDataById[s.field]),\n };\n dispatch({\n type: 'RESET',\n payload: {\n ...hydratedSettings,\n initialViewSettings: {\n viewType: hydratedSettings.viewType,\n attributesIds: hydratedSettings.attributesIds,\n sort: hydratedSettings.sort,\n pageSize: hydratedSettings.pageSize,\n },\n defaultViewSettings: {\n viewType: defaultViewSettings.viewType ?? 'table',\n attributesIds: defaultViewSettings.attributesIds ?? [],\n sort: defaultViewSettings.sort ?? [],\n },\n },\n });\n setLoading(false);\n }\n }, [attributesLoading, viewsLoading, libraryId]);\n\n return {\n loading,\n error: viewError ?? attributesError,\n view,\n dispatch,\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"useViewSettingsReducer.js","sourceRoot":"","sources":["../../../src/components/Explorer/useViewSettingsReducer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useEffect, useMemo, useReducer, useState} from 'react';\nimport {\n type GetViewsListQuery,\n useExplorerAttributesQuery,\n useExplorerLinkAttributeQuery,\n useGetViewsListQuery,\n ViewSizes,\n} from '_ui/_gqlTypes';\nimport {type DefaultViewSettings, type Entrypoint, type IEntrypointLink} from './_types';\nimport {mapViewTypeFromLegacyToExplorer} from './_constants';\nimport {\n type IViewSettingsState,\n useEditSettings,\n viewSettingsInitialState,\n viewSettingsReducer,\n} from './manage-view-settings';\nimport {\n type AttributesById,\n isLinkAttributeDetails,\n useTransformFilters,\n} from '_ui/components/Filters/useTransformFilters';\n\nconst _areDifferents = <T extends object>(object1: T, object2: T) =>\n Object.keys(object1).some(key => object1[key] !== object2[key]);\n\nexport const useViewSettingsReducer = (\n entrypoint: Entrypoint,\n defaultViewSettings: DefaultViewSettings = {},\n ignoreViewByDefault: boolean,\n) => {\n /**\n * Should be `true` during all the warm up, until we `RESET` the view.\n */\n const [loading, setLoading] = useState(true);\n const [libraryId, setLibraryId] = useState(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n const [view, dispatch] = useReducer(viewSettingsReducer, viewSettingsInitialState);\n const {closeSettingsPanel} = useEditSettings();\n\n // FIXME: should be two methods taking `lang` as argument\n const {toValidFilters} = useTransformFilters();\n\n /**\n * We need to check if the `props.entrypoint` has changed to detect a new `props.entrypoint.libraryId`.\n *\n * If `false`, we reload from scratch and close the side panel that contains the views.\n */\n const needToReloadViewsFromScratch = _areDifferents(entrypoint, view.entrypoint);\n\n useEffect(() => {\n if (needToReloadViewsFromScratch) {\n setLoading(true);\n setLibraryId(entrypoint.type === 'library' ? entrypoint.libraryId : null);\n closeSettingsPanel();\n }\n }, [needToReloadViewsFromScratch]);\n\n /**\n * On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`\n */\n const {data: linkAttributeData} = useExplorerLinkAttributeQuery({\n skip: entrypoint.type !== 'link',\n variables: {\n id: (entrypoint as IEntrypointLink).linkAttributeId,\n },\n });\n\n useEffect(() => {\n if (entrypoint.type !== 'link') {\n return;\n }\n\n const attributeData = linkAttributeData?.attributes?.list?.[0];\n\n if (!attributeData) {\n return;\n }\n\n setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);\n }, [entrypoint, linkAttributeData]);\n\n const {\n /**\n * List of my views and shared views\n */\n data: viewData,\n loading: viewsLoading,\n error: viewError,\n } = useGetViewsListQuery({\n skip: libraryId === null,\n variables: {\n libraryId: libraryId as string,\n },\n });\n\n let userView: GetViewsListQuery['views']['list'][number] | undefined;\n if (defaultViewSettings?.viewId) {\n userView = viewData?.views?.list?.find(viewItem => viewItem.id === defaultViewSettings.viewId);\n }\n // On still `undefined` view, we take the last added one\n userView = userView ?? viewData?.views?.list?.at(-1);\n\n const userViewFilters = ignoreViewByDefault ? [] : toValidFilters(userView?.filters ?? []);\n\n const userAttributesToHydrate = ignoreViewByDefault\n ? []\n : [\n ...userViewFilters,\n ...(userView?.sort ?? []),\n ...(userView?.attributes?.map(attribute => ({field: attribute.id})) ?? []),\n ];\n\n const preparedDefaultFilters = toValidFilters(defaultViewSettings.filters ?? []);\n\n const attributesToHydrate = [\n ...new Set(\n [\n ...(preparedDefaultFilters ?? []),\n ...(defaultViewSettings.sort ?? []),\n ...userAttributesToHydrate,\n ...(defaultViewSettings?.attributesIds?.map(attributeId => ({field: attributeId})) ?? []),\n ].map(({field}) => field),\n ),\n ];\n\n const {\n data: attributesData,\n loading: attributesLoading,\n error: attributesError,\n } = useExplorerAttributesQuery({\n variables: {\n ids: attributesToHydrate,\n },\n skip: libraryId === null || viewsLoading || attributesToHydrate.length === 0,\n });\n\n const attributesDataById = useMemo(\n () =>\n (attributesData?.attributes?.list ?? []).reduce<AttributesById>((acc, attr) => {\n if (attr.permissions.access_attribute) {\n acc[attr.id] = attr;\n }\n return acc;\n }, {}),\n [attributesData],\n );\n\n useEffect(() => {\n if (libraryId !== null && !viewsLoading && !attributesLoading) {\n const savedViews = (viewData?.views.list ?? []).map(\n ({id, label, shared, display, filters, sort, attributes, created_by}) => ({\n id,\n ownerId: created_by.id,\n label,\n shared,\n display: {type: display.type, size: display.size || ViewSizes.MEDIUM},\n filters: toValidFilters(filters ?? []),\n sort: sort ?? [],\n attributes: attributes?.map(attribute => attribute.id) ?? [],\n }),\n );\n /**\n * Filters merged from `<Explorer />` props and `view`.\n * > Could include hidden filters too.\n */\n const defaultSorts = defaultViewSettings?.sort ?? [];\n const userViewSorts = ignoreViewByDefault ? [] : (userView?.sort ?? []);\n const defaultAttributesIds = (defaultViewSettings?.attributesIds ?? []).filter(\n attr => attributesDataById[attr],\n );\n const userViewAttributesIds = ignoreViewByDefault\n ? []\n : (userView?.attributes ?? []).map(attr => attr.id).filter(attr => attributesDataById[attr]);\n\n let viewProps = {};\n if (!ignoreViewByDefault) {\n viewProps = {\n viewId: userView?.id ?? null,\n viewLabels: userView?.label ?? {},\n viewType: userView?.display\n ? mapViewTypeFromLegacyToExplorer[userView.display.type]\n : viewSettingsInitialState.viewType,\n };\n }\n\n const hydratedSettings: IViewSettingsState = {\n ...viewSettingsInitialState,\n entrypoint,\n libraryId,\n ...viewProps,\n savedViews,\n ...defaultViewSettings,\n attributesIds: defaultAttributesIds.length > 0 ? defaultAttributesIds : userViewAttributesIds,\n sort: (defaultSorts.length > 0 ? defaultSorts : userViewSorts)\n .map(s => ({\n field: s.field,\n order: s.order,\n }))\n .filter(s => attributesDataById[s.field]),\n };\n dispatch({\n type: 'RESET',\n payload: {\n ...hydratedSettings,\n initialViewSettings: {\n viewType: hydratedSettings.viewType,\n attributesIds: hydratedSettings.attributesIds,\n sort: hydratedSettings.sort,\n pageSize: hydratedSettings.pageSize,\n },\n defaultViewSettings: {\n viewType: defaultViewSettings.viewType ?? 'table',\n attributesIds: defaultViewSettings.attributesIds ?? [],\n sort: defaultViewSettings.sort ?? [],\n },\n },\n });\n setLoading(false);\n }\n }, [attributesLoading, viewsLoading, libraryId]);\n\n return {\n loading,\n error: viewError ?? attributesError,\n view,\n dispatch,\n };\n};\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates recursive GraphQL for tree node children.
|
|
3
|
+
* Used to fetch nested children up to the specified depth.
|
|
4
|
+
*/
|
|
5
|
+
export declare const treeFiltersTreeNodeChildren: (depth?: number) => string;
|
|
6
|
+
export declare const treeFiltersDataQuery: (depthTreeNodes?: number) => import("@apollo/client").DocumentNode;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
+
import { gql } from '@apollo/client';
|
|
5
|
+
const DEFAULT_DEPTH_TREE_NODES = 10;
|
|
6
|
+
/**
|
|
7
|
+
* Generates recursive GraphQL for tree node children.
|
|
8
|
+
* Used to fetch nested children up to the specified depth.
|
|
9
|
+
*/
|
|
10
|
+
export const treeFiltersTreeNodeChildren = (depth = 0) => `
|
|
11
|
+
children {
|
|
12
|
+
id
|
|
13
|
+
record {
|
|
14
|
+
id
|
|
15
|
+
whoAmI {
|
|
16
|
+
id
|
|
17
|
+
label
|
|
18
|
+
library {
|
|
19
|
+
id
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
accessRecordByDefaultPermission
|
|
24
|
+
${depth > 0 ? treeFiltersTreeNodeChildren(depth - 1) : ''}
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
export const treeFiltersDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql `
|
|
28
|
+
query TreeFiltersDataQuery(
|
|
29
|
+
$treeId: ID!
|
|
30
|
+
$startAt: ID
|
|
31
|
+
$accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput
|
|
32
|
+
) {
|
|
33
|
+
treeContent(
|
|
34
|
+
treeId: $treeId
|
|
35
|
+
startAt: $startAt
|
|
36
|
+
accessRecordByDefaultPermission: $accessRecordByDefaultPermission
|
|
37
|
+
) {
|
|
38
|
+
id
|
|
39
|
+
record {
|
|
40
|
+
id
|
|
41
|
+
whoAmI {
|
|
42
|
+
id
|
|
43
|
+
label
|
|
44
|
+
library {
|
|
45
|
+
id
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
${treeFiltersTreeNodeChildren(depthTreeNodes - 1)}
|
|
50
|
+
accessRecordByDefaultPermission
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
`;
|
|
54
|
+
//# sourceMappingURL=treeFiltersDataQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeFiltersDataQuery.js","sourceRoot":"","sources":["../../../../src/components/Filters/_queries/treeFiltersDataQuery.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAEnC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;;;;;;;;;;;;;;UAchD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;;CAEhE,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,cAAc,GAAG,wBAAwB,EAAE,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;cAsBxE,2BAA2B,CAAC,cAAc,GAAG,CAAC,CAAC;;;;CAI5D,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 {gql} from '@apollo/client';\n\nconst DEFAULT_DEPTH_TREE_NODES = 10;\n\n/**\n * Generates recursive GraphQL for tree node children.\n * Used to fetch nested children up to the specified depth.\n */\nexport const treeFiltersTreeNodeChildren = (depth = 0) => `\n children {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n accessRecordByDefaultPermission\n ${depth > 0 ? treeFiltersTreeNodeChildren(depth - 1) : ''}\n }\n`;\n\nexport const treeFiltersDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql`\n query TreeFiltersDataQuery(\n $treeId: ID!\n $startAt: ID\n $accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput\n ) {\n treeContent(\n treeId: $treeId\n startAt: $startAt\n accessRecordByDefaultPermission: $accessRecordByDefaultPermission\n ) {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n ${treeFiltersTreeNodeChildren(depthTreeNodes - 1)}\n accessRecordByDefaultPermission\n }\n }\n`;\n"]}
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
2
|
// This file is released under LGPL V3
|
|
3
3
|
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
-
import {
|
|
4
|
+
import { useLazyQuery } from '@apollo/client';
|
|
5
|
+
import { useGetLibraryByIdQuery } from '../../../_gqlTypes';
|
|
5
6
|
import { useEffect, useState } from 'react';
|
|
6
|
-
import {
|
|
7
|
+
import { treeFiltersDataQuery } from '../_queries/treeFiltersDataQuery';
|
|
8
|
+
const _flattenNodes = (nodes) => nodes.flatMap(node => [
|
|
9
|
+
...(node.accessRecordByDefaultPermission
|
|
10
|
+
? [
|
|
11
|
+
{
|
|
12
|
+
nodeId: node.id,
|
|
13
|
+
libraryId: node.record.whoAmI.library.id,
|
|
14
|
+
value: node.record.id,
|
|
15
|
+
label: node.record.whoAmI.label,
|
|
16
|
+
},
|
|
17
|
+
]
|
|
18
|
+
: []),
|
|
19
|
+
..._flattenNodes(node.children ?? []),
|
|
20
|
+
]);
|
|
7
21
|
export const useGetTreeFilters = ({ libraryId, skip }) => {
|
|
8
22
|
const [treeFilters, setTreeFilters] = useState({});
|
|
9
23
|
const [treeFiltersLoading, setTreeFiltersLoading] = useState(true);
|
|
10
|
-
const [
|
|
24
|
+
const [loadTreeFilters] = useLazyQuery(treeFiltersDataQuery());
|
|
11
25
|
const { data: libraryData, loading: libraryLoading } = useGetLibraryByIdQuery({
|
|
12
26
|
variables: {
|
|
13
27
|
id: libraryId,
|
|
@@ -23,50 +37,20 @@ export const useGetTreeFilters = ({ libraryId, skip }) => {
|
|
|
23
37
|
attributeId: attribute.id,
|
|
24
38
|
treeId: libraryData?.libraries.list[0]?.attributes.find(tree => tree.id === attribute.id)?.linked_tree?.id,
|
|
25
39
|
})) || [];
|
|
26
|
-
const
|
|
27
|
-
const { data } = await
|
|
40
|
+
const treeResponse = await Promise.all(treeAttributesWithExtendedPermissions.map(async (attribute) => {
|
|
41
|
+
const { data } = await loadTreeFilters({
|
|
28
42
|
variables: {
|
|
29
|
-
treeId,
|
|
30
|
-
node: parentNodeKey,
|
|
31
|
-
pagination: { offset, limit: defaultPaginationPageSize },
|
|
43
|
+
treeId: attribute.treeId,
|
|
32
44
|
accessRecordByDefaultPermission: {
|
|
33
|
-
attributeId,
|
|
45
|
+
attributeId: attribute.attributeId,
|
|
34
46
|
libraryId,
|
|
35
47
|
},
|
|
36
48
|
},
|
|
37
49
|
});
|
|
38
|
-
const
|
|
39
|
-
const records = [];
|
|
40
|
-
for (const node of list) {
|
|
41
|
-
if (node.accessRecordByDefaultPermission) {
|
|
42
|
-
records.push({
|
|
43
|
-
nodeId: node.id,
|
|
44
|
-
libraryId: node.record.whoAmI.library.id,
|
|
45
|
-
value: node.record.id,
|
|
46
|
-
label: node.record.whoAmI.label,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
if (node.childrenCount > 0) {
|
|
50
|
-
const childrenRecords = await _fetchAllChildren(treeId, attributeId, node.id);
|
|
51
|
-
records.push(...childrenRecords);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return { records, totalCount };
|
|
55
|
-
};
|
|
56
|
-
const _fetchAllChildren = async (treeId, attributeId, parentNodeKey, offset = 0, accumulated = []) => {
|
|
57
|
-
const { records, totalCount } = await _fetchChildrenPage(treeId, attributeId, parentNodeKey, offset);
|
|
58
|
-
const allRecords = [...accumulated, ...records];
|
|
59
|
-
const nextOffset = offset + defaultPaginationPageSize;
|
|
60
|
-
if (nextOffset < totalCount) {
|
|
61
|
-
return _fetchAllChildren(treeId, attributeId, parentNodeKey, nextOffset, allRecords);
|
|
62
|
-
}
|
|
63
|
-
return allRecords;
|
|
64
|
-
};
|
|
65
|
-
const treeResponse = await Promise.all(treeAttributesWithExtendedPermissions.map(async (attribute) => {
|
|
66
|
-
const recordIds = await _fetchAllChildren(attribute.treeId, attribute.attributeId, null);
|
|
50
|
+
const flatNodes = _flattenNodes(data?.treeContent ?? []);
|
|
67
51
|
return {
|
|
68
52
|
attributeId: attribute.attributeId,
|
|
69
|
-
recordIds,
|
|
53
|
+
recordIds: flatNodes,
|
|
70
54
|
};
|
|
71
55
|
}));
|
|
72
56
|
const attributeRecords = treeResponse.reduce((acc, item) => {
|
|
@@ -79,7 +63,7 @@ export const useGetTreeFilters = ({ libraryId, skip }) => {
|
|
|
79
63
|
setTreeFiltersLoading(false);
|
|
80
64
|
};
|
|
81
65
|
fetchTreeFilters();
|
|
82
|
-
}, [skip, libraryId, libraryLoading, libraryData,
|
|
66
|
+
}, [skip, libraryId, libraryLoading, libraryData, loadTreeFilters]);
|
|
83
67
|
return {
|
|
84
68
|
data: treeFilters,
|
|
85
69
|
loading: treeFiltersLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetTreeFilters.js","sourceRoot":"","sources":["../../../../src/components/Filters/context/useGetTreeFilters.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"useGetTreeFilters.js","sourceRoot":"","sources":["../../../../src/components/Filters/context/useGetTreeFilters.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAoC,sBAAsB,EAAiC,MAAM,eAAe,CAAC;AACxH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAC;AAatE,MAAM,aAAa,GAAG,CAClB,KAIC,EACU,EAAE,CACb,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAClB,GAAG,CAAC,IAAI,CAAC,+BAA+B;QACpC,CAAC,CAAC;YACI;gBACI,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACxC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;gBACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;aAClC;SACJ;QACH,CAAC,CAAC,EAAE,CAAC;IACT,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;CACxC,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAC,SAAS,EAAE,IAAI,EAAqC,EAAE,EAAE;IACvF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAE/D,MAAM,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAC,GAAG,sBAAsB,CAAC;QACxE,SAAS,EAAE;YACP,EAAE,EAAE,SAAS;SAChB;QACD,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS;KAC3B,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;YACvD,OAAO;QACX,CAAC;QAED,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;YAChC,MAAM,qCAAqC,GACvC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACzF,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,MAAM,EACF,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAEvC,EAAE,WAAW,EAAE,EAAE;aACrB,CAAC,CAAC,IAAI,EAAE,CAAC;YAEd,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,qCAAqC,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;gBACxD,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,eAAe,CAAC;oBACjC,SAAS,EAAE;wBACP,MAAM,EAAE,SAAS,CAAC,MAAM;wBACxB,+BAA+B,EAAE;4BAC7B,WAAW,EAAE,SAAS,CAAC,WAAW;4BAClC,SAAS;yBACZ;qBACJ;iBACJ,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;gBAEzD,OAAO;oBACH,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,SAAS,EAAE,SAAS;iBACvB,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YAEF,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACvD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3C,CAAC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACjC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,gBAAgB,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAEpE,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,kBAAkB;KAC9B,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 {useLazyQuery} from '@apollo/client';\nimport {type TreeAttributeDetailsFragment, useGetLibraryByIdQuery, type TreeFiltersDataQueryQuery} from '_ui/_gqlTypes';\nimport {useEffect, useState} from 'react';\nimport {treeFiltersDataQuery} from '../_queries/treeFiltersDataQuery';\n\ninterface ITreeNode {\n nodeId: string;\n libraryId: string;\n value: string;\n label: string;\n}\n\nexport interface ITreeFilters {\n [x: string]: ITreeNode[];\n}\n\nconst _flattenNodes = (\n nodes: Array<\n TreeFiltersDataQueryQuery['treeContent'][number] & {\n children?: Array<TreeFiltersDataQueryQuery['treeContent'][number]>;\n }\n >,\n): ITreeNode[] =>\n nodes.flatMap(node => [\n ...(node.accessRecordByDefaultPermission\n ? [\n {\n nodeId: node.id,\n libraryId: node.record.whoAmI.library.id,\n value: node.record.id,\n label: node.record.whoAmI.label,\n },\n ]\n : []),\n ..._flattenNodes(node.children ?? []),\n ]);\n\nexport const useGetTreeFilters = ({libraryId, skip}: {libraryId: string; skip: boolean}) => {\n const [treeFilters, setTreeFilters] = useState<ITreeFilters>({});\n const [treeFiltersLoading, setTreeFiltersLoading] = useState(true);\n const [loadTreeFilters] = useLazyQuery(treeFiltersDataQuery());\n\n const {data: libraryData, loading: libraryLoading} = useGetLibraryByIdQuery({\n variables: {\n id: libraryId,\n },\n skip: skip || !libraryId,\n });\n\n useEffect(() => {\n if (skip || !libraryId || libraryLoading || !libraryData) {\n return;\n }\n\n const fetchTreeFilters = async () => {\n const treeAttributesWithExtendedPermissions: Array<{attributeId: string; treeId: string}> =\n libraryData?.libraries.list[0]?.permissions_conf?.permissionTreeAttributes.map(attribute => ({\n attributeId: attribute.id,\n treeId: (\n libraryData?.libraries.list[0]?.attributes.find(\n tree => tree.id === attribute.id,\n ) as TreeAttributeDetailsFragment\n )?.linked_tree?.id,\n })) || [];\n\n const treeResponse = await Promise.all(\n treeAttributesWithExtendedPermissions.map(async attribute => {\n const {data} = await loadTreeFilters({\n variables: {\n treeId: attribute.treeId,\n accessRecordByDefaultPermission: {\n attributeId: attribute.attributeId,\n libraryId,\n },\n },\n });\n\n const flatNodes = _flattenNodes(data?.treeContent ?? []);\n\n return {\n attributeId: attribute.attributeId,\n recordIds: flatNodes,\n };\n }),\n );\n\n const attributeRecords = treeResponse.reduce((acc, item) => {\n if (item.recordIds.length > 0) {\n acc[item.attributeId] = item.recordIds;\n }\n return acc;\n }, {});\n\n setTreeFilters(attributeRecords);\n setTreeFiltersLoading(false);\n };\n\n fetchTreeFilters();\n }, [skip, libraryId, libraryLoading, libraryData, loadTreeFilters]);\n\n return {\n data: treeFilters,\n loading: treeFiltersLoading,\n };\n};\n"]}
|
package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates recursive GraphQL for tree node children.
|
|
3
|
+
* Used to fetch nested children up to the specified depth.
|
|
4
|
+
*/
|
|
5
|
+
export declare const filterTreeNodeChildren: (depth?: number) => string;
|
|
6
|
+
export declare const filterTreeDataQuery: (depthTreeNodes?: number) => import("@apollo/client").DocumentNode;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
+
import { gql } from '@apollo/client';
|
|
5
|
+
const DEFAULT_DEPTH_TREE_NODES = 10;
|
|
6
|
+
/**
|
|
7
|
+
* Generates recursive GraphQL for tree node children.
|
|
8
|
+
* Used to fetch nested children up to the specified depth.
|
|
9
|
+
*/
|
|
10
|
+
export const filterTreeNodeChildren = (depth = 0) => `
|
|
11
|
+
children {
|
|
12
|
+
id
|
|
13
|
+
record {
|
|
14
|
+
id
|
|
15
|
+
whoAmI {
|
|
16
|
+
id
|
|
17
|
+
label
|
|
18
|
+
library {
|
|
19
|
+
id
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
${depth > 0 ? filterTreeNodeChildren(depth - 1) : ''}
|
|
24
|
+
accessRecordByDefaultPermission
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
export const filterTreeDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql `
|
|
28
|
+
query FilterTreeDataQuery(
|
|
29
|
+
$treeId: ID!
|
|
30
|
+
$startAt: ID
|
|
31
|
+
$accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput
|
|
32
|
+
) {
|
|
33
|
+
treeContent(
|
|
34
|
+
treeId: $treeId
|
|
35
|
+
startAt: $startAt
|
|
36
|
+
accessRecordByDefaultPermission: $accessRecordByDefaultPermission
|
|
37
|
+
) {
|
|
38
|
+
id
|
|
39
|
+
record {
|
|
40
|
+
id
|
|
41
|
+
whoAmI {
|
|
42
|
+
id
|
|
43
|
+
label
|
|
44
|
+
library {
|
|
45
|
+
id
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
${filterTreeNodeChildren(depthTreeNodes - 1)}
|
|
50
|
+
accessRecordByDefaultPermission
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
`;
|
|
54
|
+
//# sourceMappingURL=filterTreeDataQuery.js.map
|
package/dist/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterTreeDataQuery.js","sourceRoot":"","sources":["../../../../../../../src/components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAEnC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;;;;;;;;;;;;;UAa3C,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;;;CAG3D,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,GAAG,wBAAwB,EAAE,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;cAsBvE,sBAAsB,CAAC,cAAc,GAAG,CAAC,CAAC;;;;CAIvD,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 {gql} from '@apollo/client';\n\nconst DEFAULT_DEPTH_TREE_NODES = 10;\n\n/**\n * Generates recursive GraphQL for tree node children.\n * Used to fetch nested children up to the specified depth.\n */\nexport const filterTreeNodeChildren = (depth = 0) => `\n children {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n ${depth > 0 ? filterTreeNodeChildren(depth - 1) : ''}\n accessRecordByDefaultPermission\n }\n`;\n\nexport const filterTreeDataQuery = (depthTreeNodes = DEFAULT_DEPTH_TREE_NODES) => gql`\n query FilterTreeDataQuery(\n $treeId: ID!\n $startAt: ID\n $accessRecordByDefaultPermission: AccessRecordByDefaultPermissionInput\n ) {\n treeContent(\n treeId: $treeId\n startAt: $startAt\n accessRecordByDefaultPermission: $accessRecordByDefaultPermission\n ) {\n id\n record {\n id\n whoAmI {\n id\n label\n library {\n id\n }\n }\n }\n ${filterTreeNodeChildren(depthTreeNodes - 1)}\n accessRecordByDefaultPermission\n }\n }\n`;\n"]}
|