define(['jQuery', 'imageLoader'], function ($, imageLoader) { 'use strict'; // The base query options var query = { SortBy: "SortName", SortOrder: "Ascending", Recursive: true, Fields: "DateCreated,ItemCounts", StartIndex: 0 }; function getSavedQueryKey() { return LibraryBrowser.getSavedQueryKey(); } function reloadItems(page) { Dashboard.showLoadingMsg(); ApiClient.getGameGenres(Dashboard.getCurrentUserId(), query).then(function (result) { // Scroll back up so they can see the results from the beginning window.scrollTo(0, 0); var html = ''; $('.listTopPaging', page).html(LibraryBrowser.getQueryPagingHtml({ startIndex: query.StartIndex, limit: query.Limit, totalRecordCount: result.TotalRecordCount, showLimit: false })); html = LibraryBrowser.getPosterViewHtml({ items: result.Items, shape: "backdrop", preferThumb: true, context: 'games', showItemCounts: true, centerText: true, lazy: true }); var elem = page.querySelector('#items'); elem.innerHTML = html; imageLoader.lazyChildren(elem); $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; reloadItems(page); }); $('.btnPreviousPage', page).on('click', function () { query.StartIndex -= query.Limit; reloadItems(page); }); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); Dashboard.hideLoadingMsg(); }); } $(document).on('pagebeforeshow', "#gameGenresPage", function () { query.ParentId = LibraryMenu.getTopParentId(); var limit = LibraryBrowser.getDefaultPageSize(); // If the default page size has changed, the start index will have to be reset if (limit != query.Limit) { query.Limit = limit; query.StartIndex = 0; } LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query); reloadItems(this); }); });