From 914a579a66cf585fc8e50b015fdf6b2c1133c2f5 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 Feb 2016 08:43:22 -0500 Subject: [PATCH] update movie trailer filters --- dashboard-ui/movies.html | 22 -------- dashboard-ui/scripts/movietrailers.js | 81 ++++++++++++--------------- 2 files changed, 35 insertions(+), 68 deletions(-) diff --git a/dashboard-ui/movies.html b/dashboard-ui/movies.html index 1bc08dbd8b..5ec1aef64a 100644 --- a/dashboard-ui/movies.html +++ b/dashboard-ui/movies.html @@ -203,28 +203,6 @@ - -
-
-
- -
-

- ${HeaderFilters} -

-
- ${OptionPlayed} - ${OptionUnplayed} - ${OptionResumable} - ${OptionFavorite} - ${OptionLikes} - ${OptionDislikes} -
-
- -
-
-
diff --git a/dashboard-ui/scripts/movietrailers.js b/dashboard-ui/scripts/movietrailers.js index d779000395..bb0085bb07 100644 --- a/dashboard-ui/scripts/movietrailers.js +++ b/dashboard-ui/scripts/movietrailers.js @@ -32,7 +32,7 @@ return LibraryBrowser.getSavedQueryKey('trailers'); } - function reloadItems(page, viewPanel) { + function reloadItems(page) { Dashboard.showLoadingMsg(); @@ -56,17 +56,15 @@ startIndex: query.StartIndex, limit: query.Limit, totalRecordCount: result.TotalRecordCount, - viewButton: true, - viewIcon: 'filter-list', sortButton: true, showLimit: false, - viewPanelClass: 'trailerViewPanel', - updatePageSizeSetting: false + updatePageSizeSetting: false, + filterButton: true }); page.querySelector('.listTopPaging').innerHTML = pagingHtml; - updateFilterControls(page, viewPanel); + updateFilterControls(page); html = LibraryBrowser.getPosterViewHtml({ items: result.Items, @@ -82,12 +80,16 @@ $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; - reloadItems(page, viewPanel); + reloadItems(page); }); $('.btnPreviousPage', page).on('click', function () { query.StartIndex -= query.Limit; - reloadItems(page, viewPanel); + reloadItems(page); + }); + + $('.btnFilter', page).on('click', function () { + showFilterMenu(page); }); // On callback make sure to set StartIndex = 0 @@ -122,7 +124,7 @@ id: 'PremiereDate,SortName' }], callback: function () { - reloadItems(page, viewPanel); + reloadItems(page); }, query: query }); @@ -134,41 +136,30 @@ }); } - function updateFilterControls(tabContent, viewPanel) { + function showFilterMenu(page) { + + require(['components/filterdialog/filterdialog'], function (filterDialogFactory) { + + var filterDialog = new filterDialogFactory({ + query: getQuery() + }); + + Events.on(filterDialog, 'filterchange', function () { + reloadItems(page); + }); + + filterDialog.show(); + }); + } + + function updateFilterControls(tabContent) { var query = getQuery(); - $('.chkStandardFilter', viewPanel).each(function () { - - var filters = "," + (query.Filters || ""); - var filterName = this.getAttribute('data-filter'); - - this.checked = filters.indexOf(',' + filterName) != -1; - - }); - $('.alphabetPicker', tabContent).alphaValue(query.NameStartsWithOrGreater); } - function initPage(page, tabContent, viewPanel) { - - $('.chkStandardFilter', viewPanel).on('change', function () { - - var query = getQuery(); - var filterName = this.getAttribute('data-filter'); - var filters = query.Filters || ""; - - filters = (',' + filters).replace(',' + filterName, '').substring(1); - - if (this.checked) { - filters = filters ? (filters + ',' + filterName) : filterName; - } - - query.StartIndex = 0; - query.Filters = filters; - - reloadItems(tabContent, viewPanel); - }); + function initPage(page, tabContent) { $('.alphabetPicker', tabContent).on('alphaselect', function (e, character) { @@ -176,35 +167,33 @@ query.NameStartsWithOrGreater = character; query.StartIndex = 0; - reloadItems(tabContent, viewPanel); + reloadItems(tabContent); }).on('alphaclear', function (e) { var query = getQuery(); query.NameStartsWithOrGreater = ''; - reloadItems(tabContent, viewPanel); + reloadItems(tabContent); }); $('.itemsContainer', tabContent).on('needsrefresh', function () { - reloadItems(tabContent, viewPanel); + reloadItems(tabContent); }); } window.MoviesPage.initTrailerTab = function (page, tabContent) { - var viewPanel = page.querySelector('.trailerViewPanel'); - initPage(page, tabContent, viewPanel); + initPage(page, tabContent); }; window.MoviesPage.renderTrailerTab = function (page, tabContent) { if (LibraryBrowser.needsRefresh(tabContent)) { - var viewPanel = page.querySelector('.trailerViewPanel'); - reloadItems(tabContent, viewPanel); - updateFilterControls(tabContent, viewPanel); + reloadItems(tabContent); + updateFilterControls(tabContent); } };