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:
parent
5262c9bee6
commit
fd0c3ab204
1 changed files with 11 additions and 5 deletions
|
@ -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 }) => {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue