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

Merge pull request #3342 from dmitrylyzo/livetv-paging

Fix LiveTV Channels paging and autofocus
This commit is contained in:
Bill Thornton 2022-02-09 11:23:37 -05:00 committed by GitHub
commit c2629b5c3f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 12 deletions

View file

@ -64,6 +64,9 @@
<button is="paper-icon-button-light" class="btnFilter sectionTitleButton" title="${Filter}"><span class="material-icons filter_list"></span></button>
</div>
<div is="emby-itemscontainer" id="items" class="itemsContainer vertical-wrap padded-left padded-right"></div>
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
<div class="paging"></div>
</div>
</div>
<div class="pageTabContent" id="recordingsTab" data-index="3">
<div id="latestRecordings" class="verticalSection hide">

View file

@ -50,7 +50,9 @@ export default function (view, params, tabContent) {
if (userSettings.libraryPageSize() > 0) {
query.StartIndex += query.Limit;
}
reloadItems(context);
reloadItems(context).then(() => {
window.scrollTo(0, 0);
});
}
function onPreviousPageClick() {
@ -61,18 +63,24 @@ export default function (view, params, tabContent) {
if (userSettings.libraryPageSize() > 0) {
query.StartIndex = Math.max(0, query.StartIndex - query.Limit);
}
reloadItems(context);
reloadItems(context).then(() => {
window.scrollTo(0, 0);
});
}
const query = getQuery();
context.querySelector('.paging').innerHTML = libraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
showLimit: false,
updatePageSizeSetting: false,
filterButton: false
});
for (const elem of context.querySelectorAll('.paging')) {
elem.innerHTML = libraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
showLimit: false,
updatePageSizeSetting: false,
filterButton: false
});
}
const html = getChannelsHtml(result.Items);
const elem = context.querySelector('#items');
elem.innerHTML = html;
@ -110,13 +118,13 @@ export default function (view, params, tabContent) {
const query = getQuery();
const apiClient = ApiClient;
query.UserId = apiClient.getCurrentUserId();
apiClient.getLiveTvChannels(query).then(function (result) {
return apiClient.getLiveTvChannels(query).then(function (result) {
renderChannels(context, result);
loading.hide();
isLoading = false;
import('../../components/autoFocuser').then(({default: autoFocuser}) => {
autoFocuser.autoFocus(view);
autoFocuser.autoFocus(context);
});
});
}