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

Refactor reloadData function

This commit is contained in:
Josh Stock 2023-10-03 11:19:45 -05:00
parent 71089846d1
commit 81a861f3fc

View file

@ -61,20 +61,13 @@ function renderList(elem, apiClient, result) {
} }
function reloadData(instance, elem, apiClient, startIndex, limit) { function reloadData(instance, elem, apiClient, startIndex, limit) {
if (startIndex == null) { startIndex ??= parseInt(elem.getAttribute('data-activitystartindex') || '0', 10);
startIndex = parseInt(elem.getAttribute('data-activitystartindex') || '0', 10); limit ||= parseInt(elem.getAttribute('data-activitylimit') || '7', 10);
}
limit = limit || parseInt(elem.getAttribute('data-activitylimit') || '7', 10);
const minDate = new Date(); const minDate = new Date();
const hasUserId = toBoolean(elem.getAttribute('data-useractivity'), true); const hasUserId = toBoolean(elem.getAttribute('data-useractivity'), true);
const dateOffset = hasUserId ? 1 : 7; // one day back if user id, otherwise one week
// TODO: Use date-fns // TODO: Use date-fns
if (hasUserId) { minDate.setTime(minDate.getTime() - dateOffset * 24 * 60 * 60 * 1000);
minDate.setTime(minDate.getTime() - 24 * 60 * 60 * 1000); // one day back
} else {
minDate.setTime(minDate.getTime() - 7 * 24 * 60 * 60 * 1000); // one week back
}
ApiClient.getJSON(ApiClient.getUrl('System/ActivityLog/Entries', { ApiClient.getJSON(ApiClient.getUrl('System/ActivityLog/Entries', {
startIndex: startIndex, startIndex: startIndex,
@ -84,16 +77,9 @@ function reloadData(instance, elem, apiClient, startIndex, limit) {
})).then(function (result) { })).then(function (result) {
elem.setAttribute('data-activitystartindex', startIndex); elem.setAttribute('data-activitystartindex', startIndex);
elem.setAttribute('data-activitylimit', limit); elem.setAttribute('data-activitylimit', limit);
if (!startIndex) { if (startIndex === 0) {
const activityContainer = dom.parentWithClass(elem, 'activityContainer'); const activityContainer = dom.parentWithClass(elem, 'activityContainer');
activityContainer?.classList.toggle('hide', result.Items.length === 0);
if (activityContainer) {
if (result.Items.length) {
activityContainer.classList.remove('hide');
} else {
activityContainer.classList.add('hide');
}
}
} }
instance.items = result.Items; instance.items = result.Items;