Navigate to album detail page on double click
This commit is contained in:
parent
e7ccee4634
commit
5aae7180e7
1 changed files with 8 additions and 0 deletions
|
@ -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>
|
||||||
|
|
Reference in a new issue