diff --git a/packages/manager/apps/pci-object-storage/src/api/hooks/useContainer.ts b/packages/manager/apps/pci-object-storage/src/api/hooks/useContainer.ts index f3c14cfa648c..d6b0bdcba604 100644 --- a/packages/manager/apps/pci-object-storage/src/api/hooks/useContainer.ts +++ b/packages/manager/apps/pci-object-storage/src/api/hooks/useContainer.ts @@ -2,6 +2,7 @@ import { useQuery } from '@tanstack/react-query'; import { ColumnSort, PaginationState } from '@ovh-ux/manager-react-components'; import { applyFilters, Filter } from '@ovh-ux/manager-core-api'; import { useMemo } from 'react'; +import { useTranslation } from 'react-i18next'; import { getServerContainer, TObject } from '@/api/data/container'; import { paginateResults, sortResults } from '@/helpers'; @@ -51,6 +52,8 @@ export const usePaginatedObjects = ( sorting: ColumnSort, filters: Filter[], ) => { + const { t } = useTranslation('container'); + const { data: container, error, isLoading, isPending } = useServerContainer( projectId, region, @@ -64,7 +67,15 @@ export const usePaginatedObjects = ( isPending, paginatedObjects: paginateResults( sortResults( - applyFilters(container?.objects || [], filters), + applyFilters( + container?.objects?.map((object) => ({ + ...object, + search: `${object.key} ${t( + `pci_projects_project_storages_containers_container_storage_class_${object.storageClass}`, + )}`, + })) || [], + filters, + ), sorting, ).map((obj, index) => ({ index, diff --git a/packages/manager/apps/pci-object-storage/src/pages/objects/container/object/show/Show.page.tsx b/packages/manager/apps/pci-object-storage/src/pages/objects/container/object/show/Show.page.tsx index 6095c20c418c..7bba1af5ce2d 100644 --- a/packages/manager/apps/pci-object-storage/src/pages/objects/container/object/show/Show.page.tsx +++ b/packages/manager/apps/pci-object-storage/src/pages/objects/container/object/show/Show.page.tsx @@ -205,6 +205,20 @@ export default function ObjectPage() { filters, ); + const handleSearch = () => { + setPagination({ + pageIndex: 0, + pageSize: pagination.pageSize, + }); + addFilter({ + key: 'search', + value: searchField, + comparator: FilterComparator.Includes, + label: '', + }); + setSearchField(''); + }; + if (!container) { return ; } @@ -471,17 +485,7 @@ export default function ObjectPage() { } onKeyDown={(event) => { if (event.key === 'Enter') { - setPagination({ - pageIndex: 0, - pageSize: pagination.pageSize, - }); - addFilter({ - key: 'key', - value: searchField, - comparator: FilterComparator.Includes, - label: '', - }); - setSearchField(''); + handleSearch(); } }} /> @@ -489,19 +493,7 @@ export default function ObjectPage() { label="" icon="magnifying-glass" size="sm" - onClick={() => { - setPagination({ - pageIndex: 0, - pageSize: pagination.pageSize, - }); - addFilter({ - key: 'key', - value: searchField, - comparator: FilterComparator.Includes, - label: '', - }); - setSearchField(''); - }} + onClick={handleSearch} />