@leav/ui 1.9.0-e815e87d → 1.9.0-ee5969b7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_gqlTypes/index.d.ts +187 -83
- package/dist/_gqlTypes/index.js +158 -61
- 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/manage-view-settings/configure-display/ConfigureDisplay.js +6 -1
- package/dist/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.d.ts +3 -0
- package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.js +5 -5
- package/dist/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.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 +5 -5
- package/dist/components/Filters/context/useGetTreeFilters.js.map +1 -1
- package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js +1 -2
- package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js.map +1 -1
- package/dist/{_queries/trees/getTreeContentQuery.d.ts → components/Filters/filter-items/filter-type/tree/_queries/filterTreeDataQuery.d.ts} +2 -2
- 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 +4 -4
- package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.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/editRecordReducer/editRecordReducer.js +7 -6
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.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 +12 -0
- package/dist/hooks/useIFrameMessenger/schema.js +6 -0
- 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 +3 -0
- package/dist/locales/fr/shared.json +3 -0
- package/package.json +7 -12
- 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/_queries/trees/getTreeContentQuery.js +0 -70
- package/dist/_queries/trees/getTreeContentQuery.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
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
// This file is released under LGPL V3
|
|
3
3
|
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
4
|
import { isTypeLink } from '@leav/utils';
|
|
5
|
-
import { defaultLinkAttributeFilterFormat } from '../components/LibraryItemsList/constants';
|
|
6
5
|
import { AttributeConditionFilter, FilterType, TreeConditionFilter, } from '../types/search';
|
|
7
|
-
import { AttributeType, RecordFilterCondition } from '../_gqlTypes';
|
|
6
|
+
import { AttributeFormat, AttributeType, RecordFilterCondition } from '../_gqlTypes';
|
|
8
7
|
const _isConditionWithNoValue = (condition) => condition === RecordFilterCondition.IS_EMPTY ||
|
|
9
8
|
condition === RecordFilterCondition.IS_NOT_EMPTY ||
|
|
10
9
|
condition === RecordFilterCondition.LAST_MONTH ||
|
|
@@ -44,7 +43,7 @@ export const getFiltersFromRequest = (queryFilters, library, attributes) => {
|
|
|
44
43
|
const linkedAttribute = attributes.find(attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === linkedAttributeId);
|
|
45
44
|
filter.attribute = {
|
|
46
45
|
...linkedAttribute,
|
|
47
|
-
parentAttribute: { ...rootAttribute, format:
|
|
46
|
+
parentAttribute: { ...rootAttribute, format: AttributeFormat.text },
|
|
48
47
|
};
|
|
49
48
|
}
|
|
50
49
|
else {
|
|
@@ -57,7 +56,7 @@ export const getFiltersFromRequest = (queryFilters, library, attributes) => {
|
|
|
57
56
|
// Only root attribute => search on tree
|
|
58
57
|
filter.attribute = {
|
|
59
58
|
...rootAttribute,
|
|
60
|
-
format:
|
|
59
|
+
format: AttributeFormat.text,
|
|
61
60
|
};
|
|
62
61
|
}
|
|
63
62
|
else if (libraryId && !linkedTreeAttribute) {
|
|
@@ -65,7 +64,7 @@ export const getFiltersFromRequest = (queryFilters, library, attributes) => {
|
|
|
65
64
|
filter.type = FilterType.LIBRARY;
|
|
66
65
|
filter.parentAttribute = {
|
|
67
66
|
...rootAttribute,
|
|
68
|
-
format:
|
|
67
|
+
format: AttributeFormat.text,
|
|
69
68
|
};
|
|
70
69
|
filter.library = {
|
|
71
70
|
id: libraryId,
|
|
@@ -87,7 +86,7 @@ export const getFiltersFromRequest = (queryFilters, library, attributes) => {
|
|
|
87
86
|
.library.label
|
|
88
87
|
: null,
|
|
89
88
|
},
|
|
90
|
-
parentAttribute: { ...rootAttribute, format:
|
|
89
|
+
parentAttribute: { ...rootAttribute, format: AttributeFormat.text },
|
|
91
90
|
};
|
|
92
91
|
}
|
|
93
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFiltersFromRequest.js","sourceRoot":"","sources":["../../src/_utils/getFiltersFromRequest.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\n\nimport {isTypeLink} from '@leav/utils';\nimport {defaultLinkAttributeFilterFormat} from '_ui/components/LibraryItemsList/constants';\nimport {\n AttributeConditionFilter,\n FilterType,\n type IAttribute,\n type IFilter,\n type IFilterAttribute,\n type IFilterLibrary,\n type IFilterTree,\n TreeConditionFilter,\n} from '_ui/types/search';\nimport {AttributeType, RecordFilterCondition, type RecordFilterInput} from '_ui/_gqlTypes';\n\nconst _isConditionWithNoValue = (condition: RecordFilterCondition): boolean =>\n condition === RecordFilterCondition.IS_EMPTY ||\n condition === RecordFilterCondition.IS_NOT_EMPTY ||\n condition === RecordFilterCondition.LAST_MONTH ||\n condition === RecordFilterCondition.NEXT_MONTH ||\n condition === RecordFilterCondition.TODAY ||\n condition === RecordFilterCondition.TOMORROW ||\n condition === RecordFilterCondition.YESTERDAY;\n\nexport const getFiltersFromRequest = (\n queryFilters: RecordFilterInput[],\n library: string,\n attributes: IAttribute[],\n): IFilter[] => {\n let filters: IFilter[] = [];\n\n for (const queryFilter of queryFilters) {\n const isConditionWithNoValue = _isConditionWithNoValue(queryFilter.condition);\n\n if (queryFilter.value || isConditionWithNoValue) {\n const splitKey = queryFilter.field.split('.');\n\n const filter: IFilter = {\n type: queryFilter.condition in TreeConditionFilter ? FilterType.TREE : FilterType.ATTRIBUTE,\n index: filters.length,\n key: queryFilter.field,\n value: !isConditionWithNoValue\n ? {\n value:\n queryFilter.condition === AttributeConditionFilter.BETWEEN\n ? String(JSON.parse(queryFilter.value))\n : queryFilter.value,\n }\n : null,\n active: true,\n condition:\n AttributeConditionFilter[queryFilter.condition] || TreeConditionFilter[queryFilter.condition],\n };\n\n // Get root attribute by first key part\n const rootAttribute = attributes.find(attr => attr.library === library && attr.id === splitKey[0]);\n\n if (rootAttribute) {\n if (rootAttribute.type === AttributeType.simple || rootAttribute.type === AttributeType.advanced) {\n (filter as IFilterAttribute).attribute = rootAttribute;\n }\n\n if (isTypeLink(rootAttribute.type)) {\n const [, linkedAttributeId] = splitKey;\n if (linkedAttributeId) {\n const linkedAttribute = attributes.find(\n attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === linkedAttributeId,\n );\n\n (filter as IFilterAttribute).attribute = {\n ...linkedAttribute,\n parentAttribute: {...rootAttribute, format: defaultLinkAttributeFilterFormat},\n };\n } else {\n (filter as IFilterAttribute).attribute = rootAttribute;\n }\n }\n\n if (rootAttribute.type === AttributeType.tree) {\n const [, libraryId, linkedTreeAttribute] = splitKey;\n\n if (!libraryId && !linkedTreeAttribute) {\n // Only root attribute => search on tree\n (filter as IFilterAttribute).attribute = {\n ...rootAttribute,\n format: defaultLinkAttributeFilterFormat,\n };\n } else if (libraryId && !linkedTreeAttribute) {\n // Search on tree library\n filter.type = FilterType.LIBRARY;\n (filter as IFilterLibrary).parentAttribute = {\n ...rootAttribute,\n format: defaultLinkAttributeFilterFormat,\n };\n (filter as IFilterLibrary).library = {\n id: libraryId,\n label:\n rootAttribute.linkedTree.libraries.filter(l => l.library.id === libraryId)?.[0].library\n .label ?? null,\n };\n } else {\n // Search on linked attribute through tree attribute\n const linkedAttribute = attributes.find(\n attr => attr.library === libraryId && attr.id === linkedTreeAttribute,\n );\n\n (filter as IFilterAttribute).attribute = linkedAttribute;\n (filter as IFilterAttribute).parentTreeLibrary = {\n ...filter,\n type: FilterType.LIBRARY,\n library: {\n id: libraryId,\n label: rootAttribute?.linkedTree?.libraries\n ? rootAttribute.linkedTree.libraries.filter(l => l.library.id === libraryId)?.[0]\n .library.label\n : null,\n },\n parentAttribute: {...rootAttribute, format: defaultLinkAttributeFilterFormat},\n };\n }\n }\n } else if (queryFilter.condition in TreeConditionFilter) {\n (filter as IFilterTree).tree = {id: queryFilter.treeId};\n }\n\n filters = [...filters, filter];\n }\n }\n\n return filters;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"getFiltersFromRequest.js","sourceRoot":"","sources":["../../src/_utils/getFiltersFromRequest.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\n\nimport {isTypeLink} from '@leav/utils';\nimport {\n AttributeConditionFilter,\n FilterType,\n type IAttribute,\n type IFilter,\n type IFilterAttribute,\n type IFilterLibrary,\n type IFilterTree,\n TreeConditionFilter,\n} from '_ui/types/search';\nimport {AttributeFormat, AttributeType, RecordFilterCondition, type RecordFilterInput} from '_ui/_gqlTypes';\n\nconst _isConditionWithNoValue = (condition: RecordFilterCondition): boolean =>\n condition === RecordFilterCondition.IS_EMPTY ||\n condition === RecordFilterCondition.IS_NOT_EMPTY ||\n condition === RecordFilterCondition.LAST_MONTH ||\n condition === RecordFilterCondition.NEXT_MONTH ||\n condition === RecordFilterCondition.TODAY ||\n condition === RecordFilterCondition.TOMORROW ||\n condition === RecordFilterCondition.YESTERDAY;\n\nexport const getFiltersFromRequest = (\n queryFilters: RecordFilterInput[],\n library: string,\n attributes: IAttribute[],\n): IFilter[] => {\n let filters: IFilter[] = [];\n\n for (const queryFilter of queryFilters) {\n const isConditionWithNoValue = _isConditionWithNoValue(queryFilter.condition);\n\n if (queryFilter.value || isConditionWithNoValue) {\n const splitKey = queryFilter.field.split('.');\n\n const filter: IFilter = {\n type: queryFilter.condition in TreeConditionFilter ? FilterType.TREE : FilterType.ATTRIBUTE,\n index: filters.length,\n key: queryFilter.field,\n value: !isConditionWithNoValue\n ? {\n value:\n queryFilter.condition === AttributeConditionFilter.BETWEEN\n ? String(JSON.parse(queryFilter.value))\n : queryFilter.value,\n }\n : null,\n active: true,\n condition:\n AttributeConditionFilter[queryFilter.condition] || TreeConditionFilter[queryFilter.condition],\n };\n\n // Get root attribute by first key part\n const rootAttribute = attributes.find(attr => attr.library === library && attr.id === splitKey[0]);\n\n if (rootAttribute) {\n if (rootAttribute.type === AttributeType.simple || rootAttribute.type === AttributeType.advanced) {\n (filter as IFilterAttribute).attribute = rootAttribute;\n }\n\n if (isTypeLink(rootAttribute.type)) {\n const [, linkedAttributeId] = splitKey;\n if (linkedAttributeId) {\n const linkedAttribute = attributes.find(\n attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === linkedAttributeId,\n );\n\n (filter as IFilterAttribute).attribute = {\n ...linkedAttribute,\n parentAttribute: {...rootAttribute, format: AttributeFormat.text},\n };\n } else {\n (filter as IFilterAttribute).attribute = rootAttribute;\n }\n }\n\n if (rootAttribute.type === AttributeType.tree) {\n const [, libraryId, linkedTreeAttribute] = splitKey;\n\n if (!libraryId && !linkedTreeAttribute) {\n // Only root attribute => search on tree\n (filter as IFilterAttribute).attribute = {\n ...rootAttribute,\n format: AttributeFormat.text,\n };\n } else if (libraryId && !linkedTreeAttribute) {\n // Search on tree library\n filter.type = FilterType.LIBRARY;\n (filter as IFilterLibrary).parentAttribute = {\n ...rootAttribute,\n format: AttributeFormat.text,\n };\n (filter as IFilterLibrary).library = {\n id: libraryId,\n label:\n rootAttribute.linkedTree.libraries.filter(l => l.library.id === libraryId)?.[0].library\n .label ?? null,\n };\n } else {\n // Search on linked attribute through tree attribute\n const linkedAttribute = attributes.find(\n attr => attr.library === libraryId && attr.id === linkedTreeAttribute,\n );\n\n (filter as IFilterAttribute).attribute = linkedAttribute;\n (filter as IFilterAttribute).parentTreeLibrary = {\n ...filter,\n type: FilterType.LIBRARY,\n library: {\n id: libraryId,\n label: rootAttribute?.linkedTree?.libraries\n ? rootAttribute.linkedTree.libraries.filter(l => l.library.id === libraryId)?.[0]\n .library.label\n : null,\n },\n parentAttribute: {...rootAttribute, format: AttributeFormat.text},\n };\n }\n }\n } else if (queryFilter.condition in TreeConditionFilter) {\n (filter as IFilterTree).tree = {id: queryFilter.treeId};\n }\n\n filters = [...filters, filter];\n }\n }\n\n return filters;\n};\n"]}
|
package/dist/_utils/index.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
4
|
import { gql } from '@apollo/client';
|
|
5
5
|
import { isTypeLink, objectToNameValueArray, omit } from '@leav/utils';
|
|
6
|
-
import { defaultLinkAttributeFilterFormat } from '../components/LibraryItemsList/constants';
|
|
7
6
|
import { PreviewSize } from '../constants';
|
|
8
|
-
import { AttributeType, } from '../_gqlTypes';
|
|
7
|
+
import { AttributeFormat, AttributeType, } from '../_gqlTypes';
|
|
9
8
|
import { getFiltersFromRequest } from './getFiltersFromRequest';
|
|
10
9
|
import dayjs from 'dayjs';
|
|
11
10
|
import utc from 'dayjs/plugin/utc';
|
|
@@ -107,7 +106,7 @@ export const getAttributeFromKey = (key, library, attributes) => {
|
|
|
107
106
|
if (isTypeLink(rootAttribute.type)) {
|
|
108
107
|
if (splitKey[1]) {
|
|
109
108
|
const linkedAttribute = attributes.find(attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === splitKey[1]);
|
|
110
|
-
return { ...linkedAttribute, parentAttribute: { ...rootAttribute, format:
|
|
109
|
+
return { ...linkedAttribute, parentAttribute: { ...rootAttribute, format: AttributeFormat.text } };
|
|
111
110
|
}
|
|
112
111
|
return rootAttribute;
|
|
113
112
|
}
|
|
@@ -115,7 +114,7 @@ export const getAttributeFromKey = (key, library, attributes) => {
|
|
|
115
114
|
const [, libraryId, linkedTreeAttribute] = splitKey;
|
|
116
115
|
if (!libraryId && !linkedTreeAttribute) {
|
|
117
116
|
// Only root attribute => search on tree
|
|
118
|
-
return { ...rootAttribute, format:
|
|
117
|
+
return { ...rootAttribute, format: AttributeFormat.text };
|
|
119
118
|
}
|
|
120
119
|
else if (libraryId && !linkedTreeAttribute) {
|
|
121
120
|
return rootAttribute;
|
package/dist/_utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {gql} from '@apollo/client';\nimport {type IDateRangeValue, isTypeLink, objectToNameValueArray, omit, type WithTypename} from '@leav/utils';\nimport {type TFunction} from 'i18next';\nimport {type SyntheticEvent} from 'react';\nimport {defaultLinkAttributeFilterFormat} from '_ui/components/LibraryItemsList/constants';\nimport {PreviewSize} from '_ui/constants';\nimport {type IAttribute} from '_ui/types/search';\nimport {type IValueVersion} from '_ui/types/values';\nimport {type IView} from '_ui/types/views';\nimport {\n AttributeType,\n type PermissionsActions,\n type RecordFilterInput,\n type RecordIdentityFragment,\n type useIsAllowedQuery,\n type ValueDetailsFragment,\n type ValueVersionInput,\n type ViewDetailsFragment,\n} from '_ui/_gqlTypes';\nimport {getFiltersFromRequest} from './getFiltersFromRequest';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\n\ndayjs.extend(utc);\n\nexport const arrayValueVersionToObject = (version: ValueDetailsFragment['version']): IValueVersion =>\n version?.reduce((acc: IValueVersion, value) => {\n acc[value.treeId] = {\n id: value.treeNode.id,\n label: value.treeNode.record.whoAmI.label,\n };\n\n return acc;\n }, {});\n\nexport const objectValueVersionToArray = (version: IValueVersion): ValueVersionInput[] =>\n version\n ? objectToNameValueArray(version).map(v => ({\n treeId: v.name,\n treeNodeId: v?.value?.id ?? null,\n }))\n : null;\n\nexport const extractPermissionFromQuery = (\n queryResult: ReturnType<typeof useIsAllowedQuery>,\n action: PermissionsActions,\n fallbackPermission = false,\n): boolean =>\n !queryResult.loading && !queryResult.error\n ? (queryResult.data?.isAllowed?.find(permission => permission.name === action)?.allowed ?? fallbackPermission)\n : fallbackPermission;\n\nexport const getPreviewSize = (size?: PreviewSize, simplistic = false) => {\n if (simplistic) {\n return '1.2rem';\n }\n\n switch (size) {\n case PreviewSize.MEDIUM:\n return '3.5rem';\n case PreviewSize.BIG:\n return '6rem';\n case PreviewSize.SMALL:\n return '2.5rem';\n case PreviewSize.TINY:\n return '1.7rem';\n default:\n return '2rem';\n }\n};\n\nexport const setDateToUTCNoon = (date: dayjs.Dayjs): dayjs.Dayjs =>\n date.set('hour', 12).set('minute', 0).set('second', 0).set('millisecond', 0);\n\nexport const getTreeRecordKey = (record: RecordIdentityFragment): string => `${record.whoAmI.library.id}/${record.id}`;\n\nexport const getValueVersionLabel = (version: IValueVersion) =>\n Object.values(version ?? {})\n .map(v => v.label)\n .join(' / ');\n\nexport const stringifyDateRangeValue = (value: IDateRangeValue, t: TFunction): string =>\n t('record_edition.date_range_value', {\n ...value,\n interpolation: {escapeValue: false},\n });\n\n/**\n * Cloning gql template tag because some apollo tools like query validation and codegen won't be happy if we use\n * interpolation in template strings. With a different tag name, the query won't be parsed by these tools\n * thus they won't complain about it.\n * It works exactly the same at runtime.\n */\nexport const gqlUnchecked = gql;\n\nexport const getPropertyCacheFieldName = (attributeId: string): string => `property({\"attribute\":\"${attributeId}\"})`;\n\n/**\n * Prepare view coming from the server to be used in the app\n */\nexport const prepareView = (\n view: WithTypename<ViewDetailsFragment>,\n attributes: IAttribute[],\n libraryId: string,\n userId: string,\n): IView => {\n const viewFilters: RecordFilterInput[] = (view?.filters ?? []).map(filter => ({\n ...filter,\n treeId: filter.tree?.id,\n }));\n\n const viewValuesVersions = (view?.valuesVersions ?? []).map(version => ({\n ...version,\n treeNode: {\n ...version.treeNode,\n title: version.treeNode.record.whoAmI.label,\n },\n }));\n\n return {\n ...omit(view, 'created_by', '__typename'),\n owner: view.created_by.id === userId,\n filters: getFiltersFromRequest(viewFilters, libraryId, attributes),\n sort: (view.sort ?? []).map(s => ({\n field: s.field,\n order: s.order,\n })),\n display: omit(view.display, '__typename') as ViewDetailsFragment['display'],\n valuesVersions: viewValuesVersions.reduce((versions: IValueVersion, version): IValueVersion => {\n versions[version.treeId] = {\n id: version.treeNode.id,\n label: version.treeNode.record.whoAmI.label,\n };\n\n return versions;\n }, {}),\n attributes: (view.attributes ?? []).map(attr => attr.id),\n };\n};\nexport const getAttributeFromKey = (key: string, library: string, attributes: IAttribute[]): IAttribute | undefined => {\n const splitKey = key.split('.');\n\n // Get root attribute by first key part\n const rootAttribute = attributes.find(attr => attr.library === library && attr.id === splitKey[0]);\n\n if (!rootAttribute) {\n return;\n }\n\n if (rootAttribute.type === AttributeType.simple || rootAttribute.type === AttributeType.advanced) {\n return rootAttribute;\n }\n\n if (isTypeLink(rootAttribute.type)) {\n if (splitKey[1]) {\n const linkedAttribute = attributes.find(\n attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === splitKey[1],\n );\n\n return {...linkedAttribute, parentAttribute: {...rootAttribute, format: defaultLinkAttributeFilterFormat}};\n }\n\n return rootAttribute;\n }\n\n if (rootAttribute.type === AttributeType.tree) {\n const [, libraryId, linkedTreeAttribute] = splitKey;\n\n if (!libraryId && !linkedTreeAttribute) {\n // Only root attribute => search on tree\n return {...rootAttribute, format: defaultLinkAttributeFilterFormat};\n } else if (libraryId && !linkedTreeAttribute) {\n return rootAttribute;\n }\n\n const linkedAttribute = attributes.find(attr => attr.library === splitKey[1] && attr.id === splitKey[2]);\n\n return linkedAttribute;\n }\n};\n\nexport const stopEvent = (e: SyntheticEvent) => {\n e.stopPropagation();\n e.preventDefault();\n};\n\nexport const reorder = (list: any[], startIndex: number, endIndex: number) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.filter(element => !!element);\n};\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {gql} from '@apollo/client';\nimport {type IDateRangeValue, isTypeLink, objectToNameValueArray, omit, type WithTypename} from '@leav/utils';\nimport {type TFunction} from 'i18next';\nimport {type SyntheticEvent} from 'react';\nimport {PreviewSize} from '_ui/constants';\nimport {type IAttribute} from '_ui/types/search';\nimport {type IValueVersion} from '_ui/types/values';\nimport {type IView} from '_ui/types/views';\nimport {\n AttributeFormat,\n AttributeType,\n type PermissionsActions,\n type RecordFilterInput,\n type RecordIdentityFragment,\n type useIsAllowedQuery,\n type ValueDetailsFragment,\n type ValueVersionInput,\n type ViewDetailsFragment,\n} from '_ui/_gqlTypes';\nimport {getFiltersFromRequest} from './getFiltersFromRequest';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\n\ndayjs.extend(utc);\n\nexport const arrayValueVersionToObject = (version: ValueDetailsFragment['version']): IValueVersion =>\n version?.reduce((acc: IValueVersion, value) => {\n acc[value.treeId] = {\n id: value.treeNode.id,\n label: value.treeNode.record.whoAmI.label,\n };\n\n return acc;\n }, {});\n\nexport const objectValueVersionToArray = (version: IValueVersion): ValueVersionInput[] =>\n version\n ? objectToNameValueArray(version).map(v => ({\n treeId: v.name,\n treeNodeId: v?.value?.id ?? null,\n }))\n : null;\n\nexport const extractPermissionFromQuery = (\n queryResult: ReturnType<typeof useIsAllowedQuery>,\n action: PermissionsActions,\n fallbackPermission = false,\n): boolean =>\n !queryResult.loading && !queryResult.error\n ? (queryResult.data?.isAllowed?.find(permission => permission.name === action)?.allowed ?? fallbackPermission)\n : fallbackPermission;\n\nexport const getPreviewSize = (size?: PreviewSize, simplistic = false) => {\n if (simplistic) {\n return '1.2rem';\n }\n\n switch (size) {\n case PreviewSize.MEDIUM:\n return '3.5rem';\n case PreviewSize.BIG:\n return '6rem';\n case PreviewSize.SMALL:\n return '2.5rem';\n case PreviewSize.TINY:\n return '1.7rem';\n default:\n return '2rem';\n }\n};\n\nexport const setDateToUTCNoon = (date: dayjs.Dayjs): dayjs.Dayjs =>\n date.set('hour', 12).set('minute', 0).set('second', 0).set('millisecond', 0);\n\nexport const getTreeRecordKey = (record: RecordIdentityFragment): string => `${record.whoAmI.library.id}/${record.id}`;\n\nexport const getValueVersionLabel = (version: IValueVersion) =>\n Object.values(version ?? {})\n .map(v => v.label)\n .join(' / ');\n\nexport const stringifyDateRangeValue = (value: IDateRangeValue, t: TFunction): string =>\n t('record_edition.date_range_value', {\n ...value,\n interpolation: {escapeValue: false},\n });\n\n/**\n * Cloning gql template tag because some apollo tools like query validation and codegen won't be happy if we use\n * interpolation in template strings. With a different tag name, the query won't be parsed by these tools\n * thus they won't complain about it.\n * It works exactly the same at runtime.\n */\nexport const gqlUnchecked = gql;\n\nexport const getPropertyCacheFieldName = (attributeId: string): string => `property({\"attribute\":\"${attributeId}\"})`;\n\n/**\n * Prepare view coming from the server to be used in the app\n */\nexport const prepareView = (\n view: WithTypename<ViewDetailsFragment>,\n attributes: IAttribute[],\n libraryId: string,\n userId: string,\n): IView => {\n const viewFilters: RecordFilterInput[] = (view?.filters ?? []).map(filter => ({\n ...filter,\n treeId: filter.tree?.id,\n }));\n\n const viewValuesVersions = (view?.valuesVersions ?? []).map(version => ({\n ...version,\n treeNode: {\n ...version.treeNode,\n title: version.treeNode.record.whoAmI.label,\n },\n }));\n\n return {\n ...omit(view, 'created_by', '__typename'),\n owner: view.created_by.id === userId,\n filters: getFiltersFromRequest(viewFilters, libraryId, attributes),\n sort: (view.sort ?? []).map(s => ({\n field: s.field,\n order: s.order,\n })),\n display: omit(view.display, '__typename') as ViewDetailsFragment['display'],\n valuesVersions: viewValuesVersions.reduce((versions: IValueVersion, version): IValueVersion => {\n versions[version.treeId] = {\n id: version.treeNode.id,\n label: version.treeNode.record.whoAmI.label,\n };\n\n return versions;\n }, {}),\n attributes: (view.attributes ?? []).map(attr => attr.id),\n };\n};\nexport const getAttributeFromKey = (key: string, library: string, attributes: IAttribute[]): IAttribute | undefined => {\n const splitKey = key.split('.');\n\n // Get root attribute by first key part\n const rootAttribute = attributes.find(attr => attr.library === library && attr.id === splitKey[0]);\n\n if (!rootAttribute) {\n return;\n }\n\n if (rootAttribute.type === AttributeType.simple || rootAttribute.type === AttributeType.advanced) {\n return rootAttribute;\n }\n\n if (isTypeLink(rootAttribute.type)) {\n if (splitKey[1]) {\n const linkedAttribute = attributes.find(\n attr => attr.library === rootAttribute?.linkedLibrary?.id && attr.id === splitKey[1],\n );\n\n return {...linkedAttribute, parentAttribute: {...rootAttribute, format: AttributeFormat.text}};\n }\n\n return rootAttribute;\n }\n\n if (rootAttribute.type === AttributeType.tree) {\n const [, libraryId, linkedTreeAttribute] = splitKey;\n\n if (!libraryId && !linkedTreeAttribute) {\n // Only root attribute => search on tree\n return {...rootAttribute, format: AttributeFormat.text};\n } else if (libraryId && !linkedTreeAttribute) {\n return rootAttribute;\n }\n\n const linkedAttribute = attributes.find(attr => attr.library === splitKey[1] && attr.id === splitKey[2]);\n\n return linkedAttribute;\n }\n};\n\nexport const stopEvent = (e: SyntheticEvent) => {\n e.stopPropagation();\n e.preventDefault();\n};\n\nexport const reorder = (list: any[], startIndex: number, endIndex: number) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result.filter(element => !!element);\n};\n"]}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
import { type WithTypename } from '@leav/utils';
|
|
2
|
+
import { type RecordFormElementsValueTreeValue, type RecordFormElementAttribute, type RecordFormElementsValue, type RecordFormElementsValueLinkValue } from '../hooks/useGetRecordForm';
|
|
2
3
|
export declare const hasTypename: <T>(value: any) => value is WithTypename<T>;
|
|
4
|
+
export declare const isRecordFormElementsValueLinkValue: (value: RecordFormElementsValue, attribute: RecordFormElementAttribute) => value is RecordFormElementsValueLinkValue;
|
|
5
|
+
export declare const isRecordFormElementsValueLinkValues: (values: RecordFormElementsValue[], attribute: RecordFormElementAttribute) => values is RecordFormElementsValueLinkValue[];
|
|
6
|
+
export declare const isRecordFormElementsValuesTreeValue: (value: RecordFormElementsValue, attribute: RecordFormElementAttribute) => value is RecordFormElementsValueTreeValue;
|
|
7
|
+
export declare const isRecordFormElementsValuesTreeValues: (values: RecordFormElementsValue[], attribute: RecordFormElementAttribute) => values is RecordFormElementsValueTreeValue[];
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
import { AttributeType } from '../_gqlTypes';
|
|
1
2
|
export const hasTypename = (value) => '__typename' in value;
|
|
3
|
+
export const isRecordFormElementsValueLinkValue = (value, attribute) => attribute.type === AttributeType.simple_link ||
|
|
4
|
+
(attribute.type === AttributeType.advanced_link && attribute.multiple_values === false);
|
|
5
|
+
export const isRecordFormElementsValueLinkValues = (values, attribute) => attribute.type === AttributeType.advanced_link && attribute.multiple_values === true;
|
|
6
|
+
export const isRecordFormElementsValuesTreeValue = (value, attribute) => attribute.type === AttributeType.tree && attribute.multiple_values === false;
|
|
7
|
+
export const isRecordFormElementsValuesTreeValues = (values, attribute) => attribute.type === AttributeType.tree && attribute.multiple_values === true;
|
|
2
8
|
//# sourceMappingURL=typeguards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeguards.js","sourceRoot":"","sources":["../../src/_utils/typeguards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typeguards.js","sourceRoot":"","sources":["../../src/_utils/typeguards.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAQ5C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAU,EAA4B,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC;AAE9F,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAC9C,KAA8B,EAC9B,SAAqC,EACI,EAAE,CAC3C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW;IAC5C,CAAC,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,aAAa,IAAI,SAAS,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAC/C,MAAiC,EACjC,SAAqC,EACO,EAAE,CAC9C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,aAAa,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,CAAC;AAEzF,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAC/C,KAA8B,EAC9B,SAAqC,EACI,EAAE,CAC3C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,SAAS,CAAC,eAAe,KAAK,KAAK,CAAC;AAEjF,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAChD,MAAiC,EACjC,SAAqC,EACO,EAAE,CAC9C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type WithTypename} from '@leav/utils';\nimport {AttributeType} from '_ui/_gqlTypes';\nimport {\n type RecordFormElementsValueTreeValue,\n type RecordFormElementAttribute,\n type RecordFormElementsValue,\n type RecordFormElementsValueLinkValue,\n} from '_ui/hooks/useGetRecordForm';\n\nexport const hasTypename = <T>(value: any): value is WithTypename<T> => '__typename' in value;\n\nexport const isRecordFormElementsValueLinkValue = (\n value: RecordFormElementsValue,\n attribute: RecordFormElementAttribute,\n): value is RecordFormElementsValueLinkValue =>\n attribute.type === AttributeType.simple_link ||\n (attribute.type === AttributeType.advanced_link && attribute.multiple_values === false);\n\nexport const isRecordFormElementsValueLinkValues = (\n values: RecordFormElementsValue[],\n attribute: RecordFormElementAttribute,\n): values is RecordFormElementsValueLinkValue[] =>\n attribute.type === AttributeType.advanced_link && attribute.multiple_values === true;\n\nexport const isRecordFormElementsValuesTreeValue = (\n value: RecordFormElementsValue,\n attribute: RecordFormElementAttribute,\n): value is RecordFormElementsValueTreeValue =>\n attribute.type === AttributeType.tree && attribute.multiple_values === false;\n\nexport const isRecordFormElementsValuesTreeValues = (\n values: RecordFormElementsValue[],\n attribute: RecordFormElementAttribute,\n): values is RecordFormElementsValueTreeValue[] =>\n attribute.type === AttributeType.tree && attribute.multiple_values === true;\n"]}
|
|
@@ -4,6 +4,7 @@ import { ViewSettingsActionTypes } from './../store-view-settings/viewSettingsRe
|
|
|
4
4
|
import { useViewSettingsContext } from './../store-view-settings/useViewSettingsContext';
|
|
5
5
|
import { SelectVisibleAttributes } from './attributes/SelectVisibleAttributes';
|
|
6
6
|
import { SelectViewType } from './view-type/SelectViewType';
|
|
7
|
+
import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
|
|
7
8
|
const StyledWrapperDiv = styled.div `
|
|
8
9
|
display: flex;
|
|
9
10
|
flex-direction: column;
|
|
@@ -15,7 +16,11 @@ const StyledWrapperDiv = styled.div `
|
|
|
15
16
|
`;
|
|
16
17
|
export const ConfigureDisplay = ({ libraryId }) => {
|
|
17
18
|
const { view, dispatch } = useViewSettingsContext();
|
|
19
|
+
const { t } = useSharedTranslation();
|
|
18
20
|
const _handleViewTypeChange = event => {
|
|
21
|
+
dispatch({
|
|
22
|
+
type: ViewSettingsActionTypes.RESTORE_INITIAL_VIEW_SETTINGS,
|
|
23
|
+
});
|
|
19
24
|
dispatch({
|
|
20
25
|
type: ViewSettingsActionTypes.CHANGE_VIEW_TYPE,
|
|
21
26
|
payload: {
|
|
@@ -23,6 +28,6 @@ export const ConfigureDisplay = ({ libraryId }) => {
|
|
|
23
28
|
},
|
|
24
29
|
});
|
|
25
30
|
};
|
|
26
|
-
return (_jsxs(StyledWrapperDiv, { children: [_jsx(SelectViewType, { value: view.viewType, onChange: _handleViewTypeChange }), view.viewType === 'table' && _jsx(SelectVisibleAttributes, { libraryId: libraryId })] }));
|
|
31
|
+
return (_jsxs(StyledWrapperDiv, { children: [_jsx(SelectViewType, { value: view.viewType, onChange: _handleViewTypeChange }), view.viewType === 'table' && (_jsx(SelectVisibleAttributes, { mainTitle: t('explorer.columns'), visibleListTitle: t('explorer.visible-columns'), invisibleListTitle: t('explorer.invisible-columns'), libraryId: libraryId })), view.viewType === 'timeline' && (_jsx(SelectVisibleAttributes, { mainTitle: t('explorer.available-attributes-for-users'), visibleListTitle: t('explorer.visible-attributes'), invisibleListTitle: t('explorer.invisible-attributes'), libraryId: libraryId }))] }));
|
|
27
32
|
};
|
|
28
33
|
//# sourceMappingURL=ConfigureDisplay.js.map
|
package/dist/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigureDisplay.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.tsx"],"names":[],"mappings":";AAIA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,uBAAuB,EAAC,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAC,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfigureDisplay.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/configure-display/ConfigureDisplay.tsx"],"names":[],"mappings":";AAIA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,uBAAuB,EAAC,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAC,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;CAQlC,CAAC;AAMF,MAAM,CAAC,MAAM,gBAAgB,GAA8C,CAAC,EAAC,SAAS,EAAC,EAAE,EAAE;IACvF,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,sBAAsB,EAAE,CAAC;IAClD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,qBAAqB,GAAgC,KAAK,CAAC,EAAE;QAC/D,QAAQ,CAAC;YACL,IAAI,EAAE,uBAAuB,CAAC,6BAA6B;SAC9D,CAAC,CAAC;QACH,QAAQ,CAAC;YACL,IAAI,EAAE,uBAAuB,CAAC,gBAAgB;YAC9C,OAAO,EAAE;gBACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;aAC/B;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,MAAC,gBAAgB,eACb,KAAC,cAAc,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,GAAI,EACxE,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,CAC1B,KAAC,uBAAuB,IACpB,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChC,gBAAgB,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAC/C,kBAAkB,EAAE,CAAC,CAAC,4BAA4B,CAAC,EACnD,SAAS,EAAE,SAAS,GACtB,CACL,EACA,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,CAC7B,KAAC,uBAAuB,IACpB,SAAS,EAAE,CAAC,CAAC,yCAAyC,CAAC,EACvD,gBAAgB,EAAE,CAAC,CAAC,6BAA6B,CAAC,EAClD,kBAAkB,EAAE,CAAC,CAAC,+BAA+B,CAAC,EACtD,SAAS,EAAE,SAAS,GACtB,CACL,IACc,CACtB,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {type RadioGroupProps} from 'aristid-ds/dist/Kit/DataEntry/Radio';\nimport {ViewSettingsActionTypes} from './../store-view-settings/viewSettingsReducer';\nimport {useViewSettingsContext} from './../store-view-settings/useViewSettingsContext';\nimport {SelectVisibleAttributes} from './attributes/SelectVisibleAttributes';\nimport {SelectViewType} from './view-type/SelectViewType';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\n\nconst StyledWrapperDiv = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n\n .ant-radio-wrapper {\n padding: calc(var(--general-spacing-xs) * 1px);\n }\n`;\n\ninterface IConfigureDisplayProps {\n libraryId: string;\n}\n\nexport const ConfigureDisplay: FunctionComponent<IConfigureDisplayProps> = ({libraryId}) => {\n const {view, dispatch} = useViewSettingsContext();\n const {t} = useSharedTranslation();\n\n const _handleViewTypeChange: RadioGroupProps['onChange'] = event => {\n dispatch({\n type: ViewSettingsActionTypes.RESTORE_INITIAL_VIEW_SETTINGS,\n });\n dispatch({\n type: ViewSettingsActionTypes.CHANGE_VIEW_TYPE,\n payload: {\n viewType: event.target.value,\n },\n });\n };\n\n return (\n <StyledWrapperDiv>\n <SelectViewType value={view.viewType} onChange={_handleViewTypeChange} />\n {view.viewType === 'table' && (\n <SelectVisibleAttributes\n mainTitle={t('explorer.columns')}\n visibleListTitle={t('explorer.visible-columns')}\n invisibleListTitle={t('explorer.invisible-columns')}\n libraryId={libraryId}\n />\n )}\n {view.viewType === 'timeline' && (\n <SelectVisibleAttributes\n mainTitle={t('explorer.available-attributes-for-users')}\n visibleListTitle={t('explorer.visible-attributes')}\n invisibleListTitle={t('explorer.invisible-attributes')}\n libraryId={libraryId}\n />\n )}\n </StyledWrapperDiv>\n );\n};\n"]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type FunctionComponent } from 'react';
|
|
2
2
|
interface ISelectVisibleAttributesProps {
|
|
3
3
|
libraryId: string;
|
|
4
|
+
mainTitle: string;
|
|
5
|
+
visibleListTitle: string;
|
|
6
|
+
invisibleListTitle: string;
|
|
4
7
|
}
|
|
5
8
|
export declare const SelectVisibleAttributes: FunctionComponent<ISelectVisibleAttributesProps>;
|
|
6
9
|
export {};
|
|
@@ -23,9 +23,9 @@ const StyledList = styled.ul `
|
|
|
23
23
|
list-style: none;
|
|
24
24
|
color: var(--general-utilities-text-primary);
|
|
25
25
|
`;
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
export const SelectVisibleAttributes = ({ libraryId }) => {
|
|
26
|
+
const visibleListTitleId = 'visibleListTitle';
|
|
27
|
+
const invisibleListTitleId = 'invisibleListTitle';
|
|
28
|
+
export const SelectVisibleAttributes = ({ libraryId, mainTitle, visibleListTitle, invisibleListTitle, }) => {
|
|
29
29
|
const { t } = useSharedTranslation();
|
|
30
30
|
const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
|
|
31
31
|
coordinateGetter: sortableKeyboardCoordinates,
|
|
@@ -47,9 +47,9 @@ export const SelectVisibleAttributes = ({ libraryId }) => {
|
|
|
47
47
|
}
|
|
48
48
|
dispatch({ type: ViewSettingsActionTypes.MOVE_ATTRIBUTE, payload: { indexFrom, indexTo } });
|
|
49
49
|
};
|
|
50
|
-
return (_jsxs("div", { children: [_jsx(KitTypography.Title, { level: "h4", children:
|
|
50
|
+
return (_jsxs("div", { children: [_jsx(KitTypography.Title, { level: "h4", children: mainTitle }), _jsx(KitInput, { placeholder: String(t('global.search')), onChange: onSearchChanged, allowClear: true }), _jsx(StyledListTitle, { id: visibleListTitleId, children: visibleListTitle }), _jsx(StyledList, { "aria-labelledby": visibleListTitleId, children: _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: _handleDragEnd, children: _jsxs(SortableContext, { items: orderedVisibleColumns, strategy: verticalListSortingStrategy, children: [_jsx(ColumnItem, { itemId: "", title: t('record_edition.whoAmI'), visible: false, locked: true }), orderedVisibleColumns
|
|
51
51
|
.filter(columnId => searchFilteredColumnsIds.includes(columnId))
|
|
52
|
-
.map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, title: attributeDetailsById[columnId].label, visible: true, onVisibilityClick: _toggleColumnVisibility(columnId), dragHandler: _jsx(FontAwesomeIcon, { icon: faGripLines }) }, columnId)))] }) }) }), _jsx(StyledListTitle, { id:
|
|
52
|
+
.map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, title: attributeDetailsById[columnId].label, visible: true, onVisibilityClick: _toggleColumnVisibility(columnId), dragHandler: _jsx(FontAwesomeIcon, { icon: faGripLines }) }, columnId)))] }) }) }), _jsx(StyledListTitle, { id: invisibleListTitleId, children: invisibleListTitle }), _jsx(StyledList, { "aria-labelledby": invisibleListTitleId, children: searchFilteredColumnsIds
|
|
53
53
|
.filter(columnId => !orderedVisibleColumns.includes(columnId))
|
|
54
54
|
.map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, visible: false, title: attributeDetailsById[columnId].label, onVisibilityClick: _toggleColumnVisibility(columnId) }, attributeDetailsById[columnId].id))) })] }));
|
|
55
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectVisibleAttributes.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAEnD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EACH,aAAa,EACb,UAAU,EAEV,cAAc,EACd,aAAa,EACb,SAAS,EACT,UAAU,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,eAAe,EAAE,2BAA2B,EAAE,2BAA2B,EAAC,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAC,sBAAsB,EAAC,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAC,uBAAuB,EAAC,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAE9D,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGjC,CAAC;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;CAK3B,CAAC;AAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"SelectVisibleAttributes.js","sourceRoot":"","sources":["../../../../../../src/components/Explorer/manage-view-settings/configure-display/attributes/SelectVisibleAttributes.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {KitInput, KitTypography} from 'aristid-ds';\nimport {type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {ColumnItem} from '../../_shared/ColumnItem';\nimport {ViewSettingsActionTypes} from '../../store-view-settings/viewSettingsReducer';\nimport {useViewSettingsContext} from '../../store-view-settings/useViewSettingsContext';\nimport {useAttributeDetailsData} from '../../_shared/useAttributeDetailsData';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faGripLines} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListTitle = styled.div`\n margin-top: calc(var(--general-spacing-s) * 1px);\n font-weight: var(--general-typography-boldFontWeight);\n`;\n\nconst StyledList = styled.ul`\n padding: 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst visibleListTitleId = 'visibleListTitle';\nconst invisibleListTitleId = 'invisibleListTitle';\n\ninterface ISelectVisibleAttributesProps {\n libraryId: string;\n mainTitle: string;\n visibleListTitle: string;\n invisibleListTitle: string;\n}\n\nexport const SelectVisibleAttributes: FunctionComponent<ISelectVisibleAttributesProps> = ({\n libraryId,\n mainTitle,\n visibleListTitle,\n invisibleListTitle,\n}) => {\n const {t} = useSharedTranslation();\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n // TODO: make naming great again\n const {\n view: {attributesIds: orderedVisibleColumns},\n dispatch,\n } = useViewSettingsContext();\n\n const {attributeDetailsById, searchFilteredColumnsIds, onSearchChanged} = useAttributeDetailsData(libraryId);\n\n const _toggleColumnVisibility = (columnId: string) => () => {\n const actionType = orderedVisibleColumns.includes(columnId)\n ? ViewSettingsActionTypes.REMOVE_ATTRIBUTE\n : ViewSettingsActionTypes.ADD_ATTRIBUTE;\n\n dispatch({type: actionType, payload: {attributeId: columnId}});\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = orderedVisibleColumns.indexOf(String(draggedElement.id));\n const indexTo = orderedVisibleColumns.indexOf(String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_ATTRIBUTE, payload: {indexFrom, indexTo}});\n };\n\n return (\n <div>\n <KitTypography.Title level=\"h4\">{mainTitle}</KitTypography.Title>\n <KitInput placeholder={String(t('global.search'))} onChange={onSearchChanged} allowClear />\n <StyledListTitle id={visibleListTitleId}>{visibleListTitle}</StyledListTitle>\n <StyledList aria-labelledby={visibleListTitleId}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext items={orderedVisibleColumns} strategy={verticalListSortingStrategy}>\n <ColumnItem itemId=\"\" title={t('record_edition.whoAmI')} visible={false} locked />\n {orderedVisibleColumns\n .filter(columnId => searchFilteredColumnsIds.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={columnId}\n itemId={attributeDetailsById[columnId].id}\n title={attributeDetailsById[columnId].label}\n visible\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n dragHandler={<FontAwesomeIcon icon={faGripLines} />}\n />\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n <StyledListTitle id={invisibleListTitleId}>{invisibleListTitle}</StyledListTitle>\n <StyledList aria-labelledby={invisibleListTitleId}>\n {searchFilteredColumnsIds\n .filter(columnId => !orderedVisibleColumns.includes(columnId))\n .map(columnId => (\n <ColumnItem\n key={attributeDetailsById[columnId].id}\n itemId={attributeDetailsById[columnId].id}\n visible={false}\n title={attributeDetailsById[columnId].label}\n onVisibilityClick={_toggleColumnVisibility(columnId)}\n />\n ))}\n </StyledList>\n </div>\n );\n};\n"]}
|
|
@@ -71,8 +71,8 @@ export const FilterItems = ({ libraryId }) => {
|
|
|
71
71
|
});
|
|
72
72
|
};
|
|
73
73
|
const _handleDragEnd = ({ active: draggedElement, over: dropTarget }) => {
|
|
74
|
-
const indexFrom = activeFilters.findIndex(({ field }) => field === String(draggedElement.id));
|
|
75
|
-
const indexTo = activeFilters.findIndex(({ field }) => field === String(dropTarget?.id));
|
|
74
|
+
const indexFrom = activeFilters.findIndex(({ field }) => Array.isArray(field) ? field.includes(String(draggedElement.id)) : field === String(draggedElement.id));
|
|
75
|
+
const indexTo = activeFilters.findIndex(({ field }) => Array.isArray(field) ? field.includes(String(dropTarget?.id)) : field === String(dropTarget?.id));
|
|
76
76
|
if (!dropTarget || indexFrom === indexTo || indexTo === -1) {
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faSearch} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n smartFilter: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].smart_filter ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) => field === String(draggedElement.id));\n const indexTo = activeFilters.findIndex(({field}) => field === String(dropTarget?.id));\n\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye icon={faEye} />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FontAwesomeIcon icon={faSearch} />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash icon={faEyeSlash} />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"FilterItems.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/filter-items/FilterItems.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport {KitFilter, KitInput, KitTypography} from 'aristid-ds';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {\n AttributeFormat,\n type AttributesByLibAttributeFragment,\n type AttributesByLibAttributeLinkAttributeFragment,\n type AttributesByLibAttributeTreeAttributeFragment,\n AttributeType,\n} from '_ui/_gqlTypes';\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {useAttributeDetailsData} from '../_shared/useAttributeDetailsData';\nimport {ViewSettingsActionTypes} from '../store-view-settings/viewSettingsReducer';\nimport {FilterListItem} from './FilterListItem';\nimport {CommonFilterItem} from '_ui/components/Filters/filter-items/CommonFilterItem';\nimport {useFiltersContext} from '_ui/components/Filters/useFiltersContext';\nimport {type IUIFilterBaseAttribute, type UIFilter} from '_ui/components/Filters/_types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faEye, faEyeSlash, faSearch} from '@fortawesome/free-solid-svg-icons';\n\nconst StyledListContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: calc(var(--general-spacing-l) * 1px);\n`;\n\nconst StyledList = styled.ul`\n padding: calc(var(--general-spacing-s) * 1px) 0;\n margin: 0;\n list-style: none;\n color: var(--general-utilities-text-primary);\n`;\n\nconst StyledEyeSlash = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-dark);\n`;\n\nconst StyledFaEye = styled(FontAwesomeIcon)`\n color: var(--general-utilities-neutral-deepDark);\n`;\n\nconst _isLibraryLinkAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeLinkAttributeFragment =>\n [AttributeType.simple_link, AttributeType.advanced_link].includes(attribute.type) && 'linked_library' in attribute;\n\nconst _isLibraryTreeAttribute = (\n attribute: AttributesByLibAttributeFragment,\n): attribute is AttributesByLibAttributeTreeAttributeFragment =>\n attribute.type === AttributeType.tree && 'linked_tree' in attribute;\n\nexport const FilterItems: FunctionComponent<{libraryId: string}> = ({libraryId}) => {\n const {t} = useSharedTranslation();\n const {\n filtersData: {filters},\n dispatch,\n } = useFiltersContext();\n\n const {onSearchChanged, searchFilteredColumnsIds, attributeDetailsById} = useAttributeDetailsData(libraryId);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const addFilter = (attributeId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.ADD_FILTER,\n payload: {\n field: attributeId,\n attribute: {\n id: attributeId,\n label: attributeDetailsById[attributeId].label,\n format: attributeDetailsById[attributeId].format ?? AttributeFormat.text,\n type: attributeDetailsById[attributeId].type,\n valuesList: (attributeDetailsById[attributeId] as IUIFilterBaseAttribute).valuesList,\n linkedLibrary: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_library ?? undefined)\n : undefined, // TODO : https://aristid.atlassian.net/browse/XSTREAM-1155\n linkedTree: _isLibraryTreeAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].linked_tree ?? undefined)\n : undefined,\n smartFilter: _isLibraryLinkAttribute(attributeDetailsById[attributeId])\n ? (attributeDetailsById[attributeId].smart_filter ?? undefined)\n : undefined,\n },\n },\n });\n };\n\n const removeFilter = (filterId: string) => () => {\n dispatch({\n type: ViewSettingsActionTypes.REMOVE_FILTER,\n payload: {\n id: filterId,\n },\n });\n };\n\n const _handleDragEnd = ({active: draggedElement, over: dropTarget}: DragEndEvent) => {\n const indexFrom = activeFilters.findIndex(({field}) =>\n Array.isArray(field) ? field.includes(String(draggedElement.id)) : field === String(draggedElement.id),\n );\n const indexTo = activeFilters.findIndex(({field}) =>\n Array.isArray(field) ? field.includes(String(dropTarget?.id)) : field === String(dropTarget?.id),\n );\n if (!dropTarget || indexFrom === indexTo || indexTo === -1) {\n return;\n }\n\n dispatch({type: ViewSettingsActionTypes.MOVE_FILTER, payload: {indexFrom, indexTo}});\n };\n\n const activeFilters = filters.filter(({attribute}) => searchFilteredColumnsIds.includes(attribute.id));\n const inactiveFilters = searchFilteredColumnsIds.filter(\n attributeId =>\n filters.every(filterItem => filterItem.attribute.id !== attributeId) &&\n !('compute' in attributeDetailsById[attributeId] && attributeDetailsById[attributeId]?.compute),\n );\n\n if (!Object.keys(attributeDetailsById).length) {\n return <></>;\n }\n\n return (\n <StyledListContainer>\n {activeFilters.length > 0 && (\n <StyledList aria-label={t('explorer.filter-list.active')}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={_handleDragEnd}>\n <SortableContext\n items={activeFilters.map(({attribute}) => attribute.id)}\n strategy={verticalListSortingStrategy}\n >\n {activeFilters.map(activeFilter => (\n <FilterListItem\n key={activeFilter.attribute.id}\n attributeId={activeFilter.attribute.id}\n isDraggable\n visibilityButtonProps={{\n icon: <StyledFaEye icon={faEye} />,\n title: String(t('explorer.hide')),\n onClick: removeFilter(activeFilter.id),\n }}\n >\n <CommonFilterItem\n filter={\n {\n ...activeFilter,\n attribute: {\n ...activeFilter.attribute,\n ...attributeDetailsById[activeFilter?.attribute?.id],\n },\n } as UIFilter\n }\n />\n </FilterListItem>\n ))}\n </SortableContext>\n </DndContext>\n </StyledList>\n )}\n <KitTypography.Title level=\"h4\">{t('explorer.available-attributes')}</KitTypography.Title>\n <KitInput\n placeholder={String(t('global.search'))}\n onChange={onSearchChanged}\n allowClear\n prefix={<FontAwesomeIcon icon={faSearch} />}\n />\n <StyledList aria-label={t('explorer.filter-list.inactive')}>\n {inactiveFilters.map(attributeId => (\n <FilterListItem\n key={attributeId}\n attributeId={attributeId}\n visibilityButtonProps={{\n icon: <StyledEyeSlash icon={faEyeSlash} />,\n title: String(t('explorer.show')),\n onClick: addFilter(attributeId),\n }}\n >\n <KitFilter label={attributeDetailsById[attributeId].label} />\n </FilterListItem>\n ))}\n </StyledList>\n </StyledListContainer>\n );\n};\n"]}
|
|
@@ -33,19 +33,22 @@ export const useViewSettingsReducer = (entrypoint, defaultViewSettings = {}, ign
|
|
|
33
33
|
/**
|
|
34
34
|
* On `entrypoint.type === 'link'`, we need to get the library id from the link attribute to get views et set up `<Explorer />`
|
|
35
35
|
*/
|
|
36
|
-
useExplorerLinkAttributeQuery({
|
|
36
|
+
const { data: linkAttributeData } = useExplorerLinkAttributeQuery({
|
|
37
37
|
skip: entrypoint.type !== 'link',
|
|
38
38
|
variables: {
|
|
39
39
|
id: entrypoint.linkAttributeId,
|
|
40
40
|
},
|
|
41
|
-
onCompleted: data => {
|
|
42
|
-
const attributeData = data?.attributes?.list?.[0];
|
|
43
|
-
if (!attributeData) {
|
|
44
|
-
throw new Error('Unknown link attribute');
|
|
45
|
-
}
|
|
46
|
-
setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);
|
|
47
|
-
},
|
|
48
41
|
});
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (entrypoint.type !== 'link') {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const attributeData = linkAttributeData?.attributes?.list?.[0];
|
|
47
|
+
if (!attributeData) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
setLibraryId(isLinkAttributeDetails(attributeData) ? (attributeData.linked_library?.id ?? '') : null);
|
|
51
|
+
}, [entrypoint, linkAttributeData]);
|
|
49
52
|
const {
|
|
50
53
|
/**
|
|
51
54
|
* List of my views and shared views
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useViewSettingsReducer.js","sourceRoot":"","sources":["../../../src/components/Explorer/useViewSettingsReducer.ts"],"names":[],"mappings":"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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;
|