Navigate to album detail page on double click

This commit is contained in:
jeffvli 2022-12-29 19:06:53 -08:00
parent e7ccee4634
commit 5aae7180e7

View file

@ -35,12 +35,14 @@ import {
GridReadyEvent, GridReadyEvent,
IDatasource, IDatasource,
PaginationChangedEvent, PaginationChangedEvent,
RowDoubleClickedEvent,
} from '@ag-grid-community/core'; } from '@ag-grid-community/core';
import { AnimatePresence } from 'framer-motion'; import { AnimatePresence } from 'framer-motion';
import debounce from 'lodash/debounce'; import debounce from 'lodash/debounce';
import { openContextMenu } from '/@/renderer/features/context-menu'; import { openContextMenu } from '/@/renderer/features/context-menu';
import { ALBUM_CONTEXT_MENU_ITEMS } from '/@/renderer/features/context-menu/context-menu-items'; import { ALBUM_CONTEXT_MENU_ITEMS } from '/@/renderer/features/context-menu/context-menu-items';
import sortBy from 'lodash/sortBy'; import sortBy from 'lodash/sortBy';
import { generatePath, useNavigate } from 'react-router';
interface AlbumListContentProps { interface AlbumListContentProps {
gridRef: MutableRefObject<VirtualInfiniteGridRef | null>; gridRef: MutableRefObject<VirtualInfiniteGridRef | null>;
@ -49,6 +51,7 @@ interface AlbumListContentProps {
export const AlbumListContent = ({ gridRef, tableRef }: AlbumListContentProps) => { export const AlbumListContent = ({ gridRef, tableRef }: AlbumListContentProps) => {
const queryClient = useQueryClient(); const queryClient = useQueryClient();
const navigate = useNavigate();
const server = useCurrentServer(); const server = useCurrentServer();
const page = useAlbumListStore(); const page = useAlbumListStore();
const setPage = useSetAlbumStore(); const setPage = useSetAlbumStore();
@ -296,6 +299,10 @@ export const AlbumListContent = ({ gridRef, tableRef }: AlbumListContentProps) =
}); });
}; };
const handleRowDoubleClick = (e: RowDoubleClickedEvent) => {
navigate(generatePath(AppRoute.LIBRARY_ALBUMS_DETAIL, { albumId: e.data.id }));
};
return ( return (
<> <>
<VirtualGridAutoSizerContainer> <VirtualGridAutoSizerContainer>
@ -361,6 +368,7 @@ export const AlbumListContent = ({ gridRef, tableRef }: AlbumListContentProps) =
onGridReady={onTableReady} onGridReady={onTableReady}
onGridSizeChanged={handleTableSizeChange} onGridSizeChanged={handleTableSizeChange}
onPaginationChanged={onTablePaginationChanged} onPaginationChanged={onTablePaginationChanged}
onRowDoubleClicked={handleRowDoubleClick}
/> />
)} )}
</VirtualGridAutoSizerContainer> </VirtualGridAutoSizerContainer>