diff --git a/dashboard-ui/movies.html b/dashboard-ui/movies.html index e530c09ace..0577ab05f3 100644 --- a/dashboard-ui/movies.html +++ b/dashboard-ui/movies.html @@ -54,14 +54,20 @@
' + Globalize.translate('MessageNoTrailersFound') + '
'; + } + + var itemsContainer = tabContent.querySelector('.itemsContainer'); + itemsContainer.innerHTML = html; + imageLoader.lazyChildren(itemsContainer); + + libraryBrowser.saveQueryValues(getSavedQueryKey(page), query); + + Dashboard.hideLoadingMsg(); + }); } - return pageData.query; - } - function getSavedQueryKey(context) { + self.showFilterMenu = function () { - if (!context.savedQueryKey) { - context.savedQueryKey = LibraryBrowser.getSavedQueryKey('trailers'); + require(['components/filterdialog/filterdialog'], function (filterDialogFactory) { + + var filterDialog = new filterDialogFactory({ + query: getQuery(tabContent) + }); + + Events.on(filterDialog, 'filterchange', function () { + getQuery(tabContent).StartIndex = 0; + reloadItems(tabContent); + }); + + filterDialog.show(); + }); } - return context.savedQueryKey; - } - function reloadItems(page) { + function updateFilterControls(tabContent) { - Dashboard.showLoadingMsg(); + var query = getQuery(tabContent); + self.alphaPicker.value(query.NameStartsWithOrGreater); + } - var query = getQuery(page); - var userId = Dashboard.getCurrentUserId(); + function initPage(tabContent) { - ApiClient.getItems(userId, query).then(function (result) { - - // Scroll back up so they can see the results from the beginning - window.scrollTo(0, 0); - - if (result.Items.length) { - $('.noItemsMessage', page).hide(); - } - else { - $('.noItemsMessage', page).show(); - } - - var html = ''; - var pagingHtml = LibraryBrowser.getQueryPagingHtml({ - startIndex: query.StartIndex, - limit: query.Limit, - totalRecordCount: result.TotalRecordCount, - sortButton: true, - showLimit: false, - updatePageSizeSetting: false, - filterButton: true + var alphaPickerElement = tabContent.querySelector('.alphaPicker'); + alphaPickerElement.addEventListener('alphavaluechanged', function (e) { + var newValue = e.detail.value; + var query = getQuery(tabContent); + query.NameStartsWithOrGreater = newValue; + query.StartIndex = 0; + reloadItems(tabContent); }); - page.querySelector('.listTopPaging').innerHTML = pagingHtml; - - updateFilterControls(page); - - html = LibraryBrowser.getPosterViewHtml({ - items: result.Items, - shape: "portrait", - lazy: true, - showDetailsMenu: true, - overlayPlayButton: true + self.alphaPicker = new alphaPicker({ + element: alphaPickerElement, + valueChangeEvent: 'click' }); - var elem = page.querySelector('.itemsContainer'); - elem.innerHTML = html + pagingHtml; - ImageLoader.lazyChildren(elem); - - $('.btnNextPage', page).on('click', function () { - query.StartIndex += query.Limit; - reloadItems(page); + tabContent.querySelector('.btnFilter').addEventListener('click', function () { + self.showFilterMenu(); }); - $('.btnPreviousPage', page).on('click', function () { - query.StartIndex -= query.Limit; - reloadItems(page); - }); - - $('.btnFilter', page).on('click', function () { - showFilterMenu(page); - }); - - // On callback make sure to set StartIndex = 0 - $('.btnSort', page).on('click', function () { - LibraryBrowser.showSortMenu({ + tabContent.querySelector('.btnSort').addEventListener('click', function (e) { + libraryBrowser.showSortMenu({ items: [{ name: Globalize.translate('OptionNameSort'), id: 'SortName' @@ -127,78 +253,28 @@ id: 'PremiereDate,SortName' }], callback: function () { - reloadItems(page); + getQuery(tabContent).StartIndex = 0; + reloadItems(tabContent); }, - query: query + query: getQuery(tabContent), + button: e.target }); }); + } - LibraryBrowser.saveQueryValues(getSavedQueryKey(page), query); - - Dashboard.hideLoadingMsg(); - }); - } - - function showFilterMenu(page) { - - require(['components/filterdialog/filterdialog'], function (filterDialogFactory) { - - var filterDialog = new filterDialogFactory({ - query: getQuery(page) - }); - - Events.on(filterDialog, 'filterchange', function () { - reloadItems(page); - }); - - filterDialog.show(); - }); - } - - function updateFilterControls(tabContent) { - - var query = getQuery(tabContent); - - self.alphaPicker.value(query.NameStartsWithOrGreater); - } - - function initPage(page, tabContent) { - - var alphaPickerElement = tabContent.querySelector('.alphaPicker'); - alphaPickerElement.addEventListener('alphavaluechanged', function (e) { - var newValue = e.detail.value; - var query = getQuery(tabContent); - query.NameStartsWithOrGreater = newValue; - query.StartIndex = 0; - reloadItems(tabContent); - }); - - self.alphaPicker = new alphaPicker({ - element: alphaPickerElement, - valueChangeEvent: 'click' - }); - - tabContent.querySelector('.itemsContainer').addEventListener('needsrefresh', function () { - - reloadItems(tabContent); - - }); - } - - return function (view, params, tabContent) { - - var self = this; - - self.initTab = function () { - - initPage(view, tabContent); + self.getCurrentViewStyle = function () { + return getPageData(tabContent).view; }; + initPage(tabContent); + self.renderTab = function () { reloadItems(tabContent); updateFilterControls(tabContent); }; - }; + self.destroy = function () { + }; + }; }); \ No newline at end of file