1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Fix page index reset on refetch

This commit is contained in:
Bill Thornton 2025-02-13 10:33:24 -05:00
parent 5262c9bee6
commit fd0c3ab204

View file

@ -36,7 +36,10 @@ const getUserCell = (users: UsersRecords) => function UserCell({ renderedCellVal
export const Component = () => { export const Component = () => {
const { api } = useApi(); const { api } = useApi();
const { data: devices, isLoading: isDevicesLoading } = useDevices({}); const { data, isLoading: isDevicesLoading, isRefetching } = useDevices({});
const devices = useMemo(() => (
data?.Items || []
), [ data ]);
const { usersById: users, names: userNames, isLoading: isUsersLoading } = useUsersDetails(); const { usersById: users, names: userNames, isLoading: isUsersLoading } = useUsersDetails();
const [ isDeleteConfirmOpen, setIsDeleteConfirmOpen ] = useState(false); const [ isDeleteConfirmOpen, setIsDeleteConfirmOpen ] = useState(false);
@ -78,9 +81,9 @@ export const Component = () => {
}, []); }, []);
const onConfirmDeleteAll = useCallback(() => { const onConfirmDeleteAll = useCallback(() => {
if (devices?.Items) { if (devices) {
Promise Promise
.all(devices.Items.map(item => { .all(devices.map(item => {
if (api && item.Id && api.deviceInfo.id === item.Id) { if (api && item.Id && api.deviceInfo.id === item.Id) {
return deleteDevice.mutateAsync({ id: item.Id }); return deleteDevice.mutateAsync({ id: item.Id });
} }
@ -93,7 +96,7 @@ export const Component = () => {
onCloseDeleteAllConfirmDialog(); onCloseDeleteAllConfirmDialog();
}); });
} }
}, [ api, deleteDevice, devices?.Items, onCloseDeleteAllConfirmDialog ]); }, [ api, deleteDevice, devices, onCloseDeleteAllConfirmDialog ]);
const UserCell = getUserCell(users); const UserCell = getUserCell(users);
@ -138,7 +141,7 @@ export const Component = () => {
...DEFAULT_TABLE_OPTIONS, ...DEFAULT_TABLE_OPTIONS,
columns, columns,
data: devices?.Items || [], data: devices,
// State // State
initialState: { initialState: {
@ -152,6 +155,9 @@ export const Component = () => {
isLoading isLoading
}, },
// Do not reset the page index when refetching data
autoResetPageIndex: !isRefetching,
// Editing device name // Editing device name
enableEditing: true, enableEditing: true,
onEditingRowSave: ({ table, row, values }) => { onEditingRowSave: ({ table, row, values }) => {