diff --git a/dashboard-ui/css/card.css b/dashboard-ui/css/card.css index 6fa7ebefe7..2e7ec20095 100644 --- a/dashboard-ui/css/card.css +++ b/dashboard-ui/css/card.css @@ -91,7 +91,7 @@ .visualCardBox-b { border-radius: 3px; - background: #111; + background: rgb(51, 51, 51); } .cardScalable { @@ -130,18 +130,6 @@ right: 0; } -/*.cardContent:hover { - -moz-box-shadow: 0 0 0 5px #38c; - -webkit-box-shadow: 0 0 0 5px #38c; - box-shadow: 0 0 0 5px #38c; - }*/ - -.alternateHover:hover .cardContent { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} - .cardContent:hover .cardImage { opacity: .5; } diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index fa237bd7d4..1bc29e6cbc 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -85,14 +85,6 @@ top: 8px; } -.viewPanel { - width: 250px; -} - -.viewPanelModelOpen { - right: 250px !important; -} - .viewPanelTabs { margin-bottom: 2em; } @@ -977,7 +969,7 @@ a.itemTag:hover { } .itemSelectionPanel .ui-checkbox { - max-width: 90px; + max-width: 130px; margin-left: auto; margin-right: auto; } @@ -1039,24 +1031,6 @@ a.itemTag:hover { } } -.playerSelectionPanel { - width: 250px; -} - - .playerSelectionPanel + .ui-panel-dismiss { - right: 250px; - } - -@media all and (min-width: 600px) { - .playerSelectionPanel { - width: 300px; - } - - .playerSelectionPanel + .ui-panel-dismiss { - right: 300px; - } -} - .spotlight { position: absolute; left: 0; diff --git a/dashboard-ui/css/notifications.css b/dashboard-ui/css/notifications.css index 0f617cfcf5..a7219a0a08 100644 --- a/dashboard-ui/css/notifications.css +++ b/dashboard-ui/css/notifications.css @@ -1,12 +1,4 @@ -.notificationsFlyout { - width: 250px; -} - -.notificationsPanelModelOpen { - right: 250px !important; -} - -.btnNotifications { +.btnNotifications { text-decoration: none !important; } diff --git a/dashboard-ui/css/search.css b/dashboard-ui/css/search.css index cffb4b7c9a..8d304db4e9 100644 --- a/dashboard-ui/css/search.css +++ b/dashboard-ui/css/search.css @@ -1,12 +1,4 @@ -.searchPanel { - width: 250px; -} - -.searchPanelModelOpen { - right: 250px!important; -} - -.searchHints { +.searchHints { margin-top: 1em; } diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 6f38d31096..93125ee878 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -135,11 +135,24 @@ h1 a:hover { -ms-overflow-style: none; overflow: -moz-scrollbars-none; } + .ui-panel-inner::-webkit-scrollbar { width: 0 !important; display: none; } +.largePanel { + width: 250px; +} + +/* Make panels larger */ +.largePanelModalOpen.ui-panel-dismiss-position-right { + right: 250px !important; +} +.largePanelModalOpen.ui-panel-dismiss-position-left { + left: 250px !important; +} + pre, textarea.pre { display: block; diff --git a/dashboard-ui/games.html b/dashboard-ui/games.html index 31635d2ee2..0a967f09e1 100644 --- a/dashboard-ui/games.html +++ b/dashboard-ui/games.html @@ -127,22 +127,35 @@ +
-
- - ${LabelFeatures} - +
+

${HeaderGenres}

- - +
+
+
- - +
+

${HeaderParentalRatings}

- - +
+
+
-
+
+

${HeaderTags}

+ +
+
+
+ +
+

${HeaderYears}

+ +
+
+
diff --git a/dashboard-ui/movies.html b/dashboard-ui/movies.html index ae89c1227f..e02ef98946 100644 --- a/dashboard-ui/movies.html +++ b/dashboard-ui/movies.html @@ -86,29 +86,7 @@ -
- - ${LabelVideoType} - - - - - - - - - - - - - - - - - - - -
+

${HeaderFeatures}

@@ -132,21 +110,56 @@
+
+

${HeaderGenres}

+ +
+
+
+ +
+

${HeaderParentalRatings}

+ +
+
+
+ +
+

${HeaderTags}

+ +
+
+
+
-

${HeaderManagement}

+

${HeaderVideoTypes}

- - - - + + - - + + - - + + + + + + + + + + + +
+
+ +
+

${HeaderYears}

+ +
diff --git a/dashboard-ui/musicalbumartists.html b/dashboard-ui/musicalbumartists.html index ac76eaa3e7..67ddcd6ae8 100644 --- a/dashboard-ui/musicalbumartists.html +++ b/dashboard-ui/musicalbumartists.html @@ -66,6 +66,14 @@ +
+ +
+

${HeaderGenres}

+ +
+
+
diff --git a/dashboard-ui/musicalbums.html b/dashboard-ui/musicalbums.html index ee0362b35a..4eea86cc8e 100644 --- a/dashboard-ui/musicalbums.html +++ b/dashboard-ui/musicalbums.html @@ -67,6 +67,35 @@ +
+ +
+

${HeaderGenres}

+ +
+
+
+ +
+

${HeaderParentalRatings}

+ +
+
+
+ +
+

${HeaderTags}

+ +
+
+
+ +
+

${HeaderYears}

+ +
+
+
diff --git a/dashboard-ui/musicartists.html b/dashboard-ui/musicartists.html index c374fdcd0a..a08411e355 100644 --- a/dashboard-ui/musicartists.html +++ b/dashboard-ui/musicartists.html @@ -65,6 +65,14 @@ +
+ +
+

${HeaderGenres}

+ +
+
+
diff --git a/dashboard-ui/musicvideos.html b/dashboard-ui/musicvideos.html index 2a4d11a72e..86b6a96d69 100644 --- a/dashboard-ui/musicvideos.html +++ b/dashboard-ui/musicvideos.html @@ -66,42 +66,35 @@ -
- - ${LabelVideoType} - +
- - +
+

${HeaderGenres}

- - +
+
+
- - +
+

${HeaderParentalRatings}

- - -
+
+
+ -
- - ${LabelFeatures} - +
+

${HeaderTags}

- - +
+
+
- - +
+

${HeaderYears}

- - - - - - -
+
+
+
diff --git a/dashboard-ui/scripts/gamespage.js b/dashboard-ui/scripts/gamespage.js index 3cba5b4dd9..49e7faa720 100644 --- a/dashboard-ui/scripts/gamespage.js +++ b/dashboard-ui/scripts/gamespage.js @@ -121,18 +121,33 @@ $('#selectView', page).val(view).selectmenu('refresh'); - $('#chkTrailer', page).checked(query.HasTrailer == true).checkboxradio('refresh'); - $('#chkThemeSong', page).checked(query.HasThemeSong == true).checkboxradio('refresh'); - $('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh'); - $('.alphabetPicker', page).alphaValue(query.NameStartsWith); $('#selectPageSize', page).val(query.Limit).selectmenu('refresh'); } + var filtersLoaded; + function reloadFiltersIfNeeded(page) { + + if (!filtersLoaded) { + + filtersLoaded = true; + + QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { + + reloadItems(page); + }); + } + } + $(document).on('pageinit', "#gamesPage", function () { var page = this; + $('.viewPanel', page).on('panelopen', function () { + + reloadFiltersIfNeeded(page); + }); + $('.radioSortBy', this).on('click', function () { query.StartIndex = 0; query.SortBy = this.getAttribute('data-sortby'); @@ -173,30 +188,6 @@ reloadItems(page); }); - $('#chkTrailer', this).on('change', function () { - - query.StartIndex = 0; - query.HasTrailer = this.checked ? true : null; - - reloadItems(page); - }); - - $('#chkThemeSong', this).on('change', function () { - - query.StartIndex = 0; - query.HasThemeSong = this.checked ? true : null; - - reloadItems(page); - }); - - $('#chkThemeVideo', this).on('change', function () { - - query.StartIndex = 0; - query.HasThemeVideo = this.checked ? true : null; - - reloadItems(page); - }); - $('.alphabetPicker', this).on('alphaselect', function (e, character) { query.NameStartsWithOrGreater = character; @@ -251,6 +242,7 @@ var viewkey = getSavedQueryKey(); LibraryBrowser.loadSavedQueryValues(viewkey, query); + QueryFilters.onPageShow(page, query); LibraryBrowser.getSavedViewSetting(viewkey).done(function (val) { diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index d20ede70fa..eb3bf9bd09 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -1241,7 +1241,12 @@ dataSrc = ' data-src="' + imgUrl + '"'; } - html += '
'; + var cardboxCssClass = 'cardBox'; + + if (options.cardLayout) { + cardboxCssClass += ' visualCardBox visualCardBox-b'; + } + html += '
'; html += '
'; html += '
'; @@ -1267,13 +1272,6 @@ html += '
'; } - if (options.selectionPanel) { - var chkItemSelectId = 'chkItemSelect' + i; - - // Render this pre-enhanced to save on jquery mobile dom manipulation - html += ''; - } - var progressHtml = options.showProgress === false || item.IsFolder ? '' : LibraryBrowser.getItemProgressBarHtml((item.Type == 'Recording' ? item : item.UserData)); var footerOverlayed = false; diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js index 69c22ea972..637a3c5e8e 100644 --- a/dashboard-ui/scripts/librarylist.js +++ b/dashboard-ui/scripts/librarylist.js @@ -646,7 +646,20 @@ selectionCommands.show(); - $('.itemSelectionPanel', page).show(); + var panels = $('.itemSelectionPanel', page).show(); + + if (!panels.length) { + + var index = 0; + $('.cardContent', page).each(function () { + var chkItemSelectId = 'chkItemSelect' + index; + + $(this).append('
'); + index++; + }); + + $('.itemsContainer', page).trigger('create'); + } $('.chkItemSelect:checked', page).checked(false).checkboxradio('refresh'); } @@ -815,7 +828,7 @@ $('.' + this.getAttribute('data-tab'), page).show(); }); - var viewPanel = $('.viewPanel', page).panel('option', 'classes.modalOpen', 'viewPanelModelOpen ui-panel-dismiss-open'); + var viewPanel = $('.viewPanel', page); $('#selectPageSize', viewPanel).html(LibraryBrowser.getDefaultPageSizeSelections().map(function (i) { diff --git a/dashboard-ui/scripts/livetvsuggested.js b/dashboard-ui/scripts/livetvsuggested.js index 03b8e91af7..b23d3c32fe 100644 --- a/dashboard-ui/scripts/livetvsuggested.js +++ b/dashboard-ui/scripts/livetvsuggested.js @@ -8,7 +8,7 @@ userId: Dashboard.getCurrentUserId(), IsAiring: true, - limit: 10 + limit: 18 }).done(function (result) { @@ -31,7 +31,7 @@ userId: Dashboard.getCurrentUserId(), IsAiring: false, HasAired: false, - limit: 10 + limit: 18 }).done(function (result) { diff --git a/dashboard-ui/scripts/mediacontroller.js b/dashboard-ui/scripts/mediacontroller.js index 0a63a9f69f..89ddbd89fd 100644 --- a/dashboard-ui/scripts/mediacontroller.js +++ b/dashboard-ui/scripts/mediacontroller.js @@ -498,7 +498,7 @@ var promise = MediaController.getTargets(); - var html = '
'; + var html = '
'; html += '
'; diff --git a/dashboard-ui/scripts/movies.js b/dashboard-ui/scripts/movies.js index a046865cc2..83358b9d91 100644 --- a/dashboard-ui/scripts/movies.js +++ b/dashboard-ui/scripts/movies.js @@ -22,7 +22,9 @@ Dashboard.showLoadingMsg(); - ApiClient.getItems(Dashboard.getCurrentUserId(), query).done(function (result) { + var userId = Dashboard.getCurrentUserId(); + + ApiClient.getItems(userId, query).done(function (result) { // Scroll back up so they can see the results from the beginning $(document).scrollTop(0); @@ -50,7 +52,8 @@ context: 'movies', selectionPanel: true, lazy: true, - overlayText: true + overlayText: true, + showTitle: false }); $('.itemsContainer', page).removeClass('timelineItemsContainer'); } @@ -166,18 +169,33 @@ $('#chkThemeSong', page).checked(query.HasThemeSong == true).checkboxradio('refresh'); $('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh'); - $('#chkMissingImdbId', page).checked(query.HasImdbId == false).checkboxradio('refresh'); - $('#chkMissingTmdbId', page).checked(query.HasTmdbId == false).checkboxradio('refresh'); - $('#chkYearMismatch', page).checked(query.IsYearMismatched == true).checkboxradio('refresh'); - $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); $('#selectPageSize', page).val(query.Limit).selectmenu('refresh'); } + var filtersLoaded; + function reloadFiltersIfNeeded(page) { + + if (!filtersLoaded) { + + filtersLoaded = true; + + QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { + + reloadItems(page); + }); + } + } + $(document).on('pageinit', "#moviesPage", function () { var page = this; + $('.viewPanel', page).on('panelopen', function () { + + reloadFiltersIfNeeded(page); + }); + $('.radioSortBy', this).on('click', function () { query.StartIndex = 0; query.SortBy = this.getAttribute('data-sortby'); @@ -340,31 +358,7 @@ } }); - $('#chkMissingImdbId', this).on('change', function () { - - query.StartIndex = 0; - query.HasImdbId = this.checked ? false : null; - - reloadItems(page); - }); - - $('#chkMissingTmdbId', this).on('change', function () { - - query.StartIndex = 0; - query.HasTmdbId = this.checked ? false : null; - - reloadItems(page); - }); - - $('#chkYearMismatch', this).on('change', function () { - - query.StartIndex = 0; - query.IsYearMismatched = this.checked ? true : null; - - reloadItems(page); - }); - - $('.itemsContainer', page).on('needsrefresh', function() { + $('.itemsContainer', page).on('needsrefresh', function () { reloadItems(page); @@ -393,6 +387,8 @@ LibraryBrowser.loadSavedQueryValues(viewkey, query); + QueryFilters.onPageShow(page, query); + LibraryBrowser.getSavedViewSetting(viewkey).done(function (val) { if (val) { @@ -404,7 +400,170 @@ }).on('pageshow', "#moviesPage", function () { - updateFilterControls(this); + var page = this; + + updateFilterControls(page); + + filtersLoaded = false; }); -})(jQuery, document); \ No newline at end of file +})(jQuery, document); + +(function (window) { + + function renderOptions(page, selector, cssClass, items) { + + var elem; + + if (items.length) { + + elem = $(selector, page).show(); + + } else { + elem = $(selector, page).hide(); + } + + var html = ''; + + // style="margin: -.2em -.8em;" + html += '
'; + + var index = 0; + var idPrefix = 'chk' + selector.substring(1); + + html += items.map(function (filter) { + + var itemHtml = ''; + + var id = idPrefix + index; + itemHtml += ''; + itemHtml += ''; + + index++; + + return itemHtml; + + }).join(''); + + html += '
'; + + $('.filterOptions', elem).html(html).trigger('create'); + } + + function renderFilters(page, result) { + + // If there's a huge number of these they will be really show to render + if (result.Tags) { + result.Tags.length = Math.min(result.Tags.length, 50); + } + + renderOptions(page, '.genreFilters', 'chkGenreFilter', result.Genres); + renderOptions(page, '.officialRatingFilters', 'chkOfficialRatingFilter', result.OfficialRatings); + renderOptions(page, '.tagFilters', 'chkTagFilter', result.Tags); + renderOptions(page, '.yearFilters', 'chkYearFilter', result.Years); + + } + + function onFiltersLoaded(page, query, reloadItemsFn) { + + $('.chkGenreFilter', page).on('change', function () { + + var filterName = this.getAttribute('data-filter'); + var filters = query.Genres || ""; + var delimiter = '|'; + + filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1); + + if (this.checked) { + filters = filters ? (filters + delimiter + filterName) : filterName; + } + + query.StartIndex = 0; + query.Genres = filters; + + reloadItemsFn(); + }); + $('.chkTagFilter', page).on('change', function () { + + var filterName = this.getAttribute('data-filter'); + var filters = query.Tags || ""; + var delimiter = '|'; + + filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1); + + if (this.checked) { + filters = filters ? (filters + delimiter + filterName) : filterName; + } + + query.StartIndex = 0; + query.Tags = filters; + + reloadItemsFn(); + }); + $('.chkYearFilter', page).on('change', function () { + + var filterName = this.getAttribute('data-filter'); + var filters = query.Years || ""; + var delimiter = ','; + + filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1); + + if (this.checked) { + filters = filters ? (filters + delimiter + filterName) : filterName; + } + + query.StartIndex = 0; + query.Years = filters; + + reloadItemsFn(); + }); + $('.chkOfficialRatingFilter', page).on('change', function () { + + var filterName = this.getAttribute('data-filter'); + var filters = query.OfficialRatings || ""; + var delimiter = '|'; + + filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1); + + if (this.checked) { + filters = filters ? (filters + delimiter + filterName) : filterName; + } + + query.StartIndex = 0; + query.OfficialRatings = filters; + + reloadItemsFn(); + }); + } + + function loadFilters(page, userId, itemQuery, reloadItemsFn) { + + return ApiClient.getJSON(ApiClient.getUrl('Items/Filters', { + + UserId: userId, + ParentId: itemQuery.ParentId, + IncludeItemTypes: itemQuery.IncludeItemTypes + + + })).done(function (result) { + + renderFilters(page, result); + + onFiltersLoaded(page, itemQuery, reloadItemsFn); + }); + + } + + function onPageShow(page, query) { + query.Genres = null; + query.Years = null; + query.OfficialRatings = null; + query.Tags = null; + } + + window.QueryFilters = { + loadFilters: loadFilters, + onPageShow: onPageShow + }; + +})(window); \ No newline at end of file diff --git a/dashboard-ui/scripts/movietrailers.js b/dashboard-ui/scripts/movietrailers.js index e36acf0c79..fa618135ef 100644 --- a/dashboard-ui/scripts/movietrailers.js +++ b/dashboard-ui/scripts/movietrailers.js @@ -49,61 +49,17 @@ updateFilterControls(page); - if (view == "Thumb") { - html = LibraryBrowser.getPosterViewHtml({ - items: result.Items, - shape: "backdrop", - preferThumb: true, - context: 'movies-trailers', - lazy: true, - overlayText: true - }); - $('.itemsContainer', page).removeClass('timelineItemsContainer'); - } - else if (view == "Banner") { + html = LibraryBrowser.getPosterViewHtml({ + items: result.Items, + shape: "portrait", + context: 'movies-trailers', + showTitle: false, + centerText: true, + lazy: true, + overlayText: false + }); - html = LibraryBrowser.getPosterViewHtml({ - items: result.Items, - shape: "banner", - preferBanner: true, - context: 'movies-trailers', - lazy: true - }); - $('.itemsContainer', page).removeClass('timelineItemsContainer'); - } - else if (view == "List") { - - html = LibraryBrowser.getListViewHtml({ - items: result.Items, - context: 'movies-trailers', - sortBy: query.SortBy - }); - $('.itemsContainer', page).removeClass('timelineItemsContainer'); - } - else if (view == "Poster") { - html = LibraryBrowser.getPosterViewHtml({ - items: result.Items, - shape: "portrait", - context: 'movies-trailers', - showTitle: false, - centerText: true, - lazy: true, - overlayText: true - }); - $('.itemsContainer', page).removeClass('timelineItemsContainer'); - } - else if (view == "Timeline") { - html = LibraryBrowser.getPosterViewHtml({ - items: result.Items, - shape: "portrait", - context: 'movies-trailers', - showTitle: true, - timeline: true, - centerText: true, - lazy: true - }); - $('.itemsContainer', page).addClass('timelineItemsContainer'); - } + $('.itemsContainer', page).removeClass('timelineItemsContainer'); html += pagingHtml; diff --git a/dashboard-ui/scripts/musicalbumartists.js b/dashboard-ui/scripts/musicalbumartists.js index 8a53694825..39da9b2f91 100644 --- a/dashboard-ui/scripts/musicalbumartists.js +++ b/dashboard-ui/scripts/musicalbumartists.js @@ -102,10 +102,29 @@ $('#selectPageSize', page).val(query.Limit).selectmenu('refresh'); } + var filtersLoaded; + function reloadFiltersIfNeeded(page) { + + if (!filtersLoaded) { + + filtersLoaded = true; + + QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { + + reloadItems(page); + }); + } + } + $(document).on('pageinit', "#musicAlbumArtistsPage", function () { var page = this; + $('.viewPanel', page).on('panelopen', function () { + + reloadFiltersIfNeeded(page); + }); + $('.chkStandardFilter', this).on('change', function () { var filterName = this.getAttribute('data-filter'); @@ -168,6 +187,7 @@ var viewkey = getSavedQueryKey(); LibraryBrowser.loadSavedQueryValues(viewkey, query); + QueryFilters.onPageShow(page, query); LibraryBrowser.getSavedViewSetting(viewkey).done(function (val) { diff --git a/dashboard-ui/scripts/musicalbums.js b/dashboard-ui/scripts/musicalbums.js index af8d0a5d2e..6c7e349e1f 100644 --- a/dashboard-ui/scripts/musicalbums.js +++ b/dashboard-ui/scripts/musicalbums.js @@ -118,10 +118,29 @@ $('#selectPageSize', page).val(query.Limit).selectmenu('refresh'); } + var filtersLoaded; + function reloadFiltersIfNeeded(page) { + + if (!filtersLoaded) { + + filtersLoaded = true; + + QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { + + reloadItems(page); + }); + } + } + $(document).on('pageinit', "#musicAlbumsPage", function () { var page = this; + $('.viewPanel', page).on('panelopen', function () { + + reloadFiltersIfNeeded(page); + }); + $('.radioSortBy', page).on('click', function () { query.SortBy = this.getAttribute('data-sortby'); query.StartIndex = 0; @@ -223,6 +242,7 @@ var viewKey = getSavedQueryKey(); LibraryBrowser.loadSavedQueryValues(viewKey, query); + QueryFilters.onPageShow(page, query); LibraryBrowser.getSavedViewSetting(viewKey).done(function (val) { diff --git a/dashboard-ui/scripts/musicartists.js b/dashboard-ui/scripts/musicartists.js index 6b2f0b273b..f4703cd09d 100644 --- a/dashboard-ui/scripts/musicartists.js +++ b/dashboard-ui/scripts/musicartists.js @@ -102,10 +102,29 @@ $('#selectPageSize', page).val(query.Limit).selectmenu('refresh'); } + var filtersLoaded; + function reloadFiltersIfNeeded(page) { + + if (!filtersLoaded) { + + filtersLoaded = true; + + QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { + + reloadItems(page); + }); + } + } + $(document).on('pageinit', "#musicArtistsPage", function () { var page = this; + $('.viewPanel', page).on('panelopen', function () { + + reloadFiltersIfNeeded(page); + }); + $('.chkStandardFilter', this).on('change', function () { var filterName = this.getAttribute('data-filter'); @@ -169,6 +188,7 @@ var viewkey = getSavedQueryKey(); LibraryBrowser.loadSavedQueryValues(viewkey, query); + QueryFilters.onPageShow(page, query); LibraryBrowser.getSavedViewSetting(viewkey).done(function (val) { diff --git a/dashboard-ui/scripts/musicvideos.js b/dashboard-ui/scripts/musicvideos.js index 46faf41ee3..6bae74ad1e 100644 --- a/dashboard-ui/scripts/musicvideos.js +++ b/dashboard-ui/scripts/musicvideos.js @@ -38,7 +38,7 @@ $('.listTopPaging', page).html(pagingHtml).trigger('create'); updateFilterControls(page); - + html = LibraryBrowser.getPosterViewHtml({ items: result.Items, shape: "square", @@ -62,7 +62,7 @@ }); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); - + Dashboard.hideLoadingMsg(); }); } @@ -91,30 +91,33 @@ }).checkboxradio('refresh'); - $('.chkVideoTypeFilter', page).each(function () { - - var filters = "," + (query.VideoTypes || ""); - var filterName = this.getAttribute('data-filter'); - - this.checked = filters.indexOf(',' + filterName) != -1; - - }).checkboxradio('refresh'); - - $('#chk3D', page).checked(query.Is3D == true).checkboxradio('refresh'); - - $('#chkSubtitle', page).checked(query.HasSubtitles == true).checkboxradio('refresh'); - $('#chkTrailer', page).checked(query.HasTrailer == true).checkboxradio('refresh'); - $('#chkThemeSong', page).checked(query.HasThemeSong == true).checkboxradio('refresh'); - $('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh'); - $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); $('#selectPageSize', page).val(query.Limit).selectmenu('refresh'); } + var filtersLoaded; + function reloadFiltersIfNeeded(page) { + + if (!filtersLoaded) { + + filtersLoaded = true; + + QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { + + reloadItems(page); + }); + } + } + $(document).on('pageinit', "#musicVideosPage", function () { var page = this; + $('.viewPanel', page).on('panelopen', function () { + + reloadFiltersIfNeeded(page); + }); + $('.radioSortBy', this).on('click', function () { query.StartIndex = 0; query.SortBy = this.getAttribute('data-sortby'); @@ -144,64 +147,6 @@ reloadItems(page); }); - - $('.chkVideoTypeFilter', this).on('change', function () { - - var filterName = this.getAttribute('data-filter'); - var filters = query.VideoTypes || ""; - - filters = (',' + filters).replace(',' + filterName, '').substring(1); - - if (this.checked) { - filters = filters ? (filters + ',' + filterName) : filterName; - } - - query.StartIndex = 0; - query.VideoTypes = filters; - - reloadItems(page); - }); - - $('#chk3D', this).on('change', function () { - - query.StartIndex = 0; - query.Is3D = this.checked ? this.getAttribute('data-filter') : null; - - reloadItems(page); - }); - - $('#chkSubtitle', this).on('change', function () { - - query.StartIndex = 0; - query.HasSubtitles = this.checked ? true : null; - - reloadItems(page); - }); - - $('#chkTrailer', this).on('change', function () { - - query.StartIndex = 0; - query.HasTrailer = this.checked ? true : null; - - reloadItems(page); - }); - - $('#chkThemeSong', this).on('change', function () { - - query.StartIndex = 0; - query.HasThemeSong = this.checked ? true : null; - - reloadItems(page); - }); - - $('#chkThemeVideo', this).on('change', function () { - - query.StartIndex = 0; - query.HasThemeVideo = this.checked ? true : null; - - reloadItems(page); - }); - $('.alphabetPicker', this).on('alphaselect', function (e, character) { query.NameStartsWithOrGreater = character; @@ -224,6 +169,8 @@ }).on('pagebeforeshow', "#musicVideosPage", function () { + var page = this; + query.ParentId = LibraryMenu.getTopParentId(); var limit = LibraryBrowser.getDefaultPageSize(); @@ -235,8 +182,9 @@ } LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query); + QueryFilters.onPageShow(page, query); - reloadItems(this); + reloadItems(page); }).on('pageshow', "#musicVideosPage", function () { diff --git a/dashboard-ui/scripts/notifications.js b/dashboard-ui/scripts/notifications.js index d72011b5f6..43e198c7e3 100644 --- a/dashboard-ui/scripts/notifications.js +++ b/dashboard-ui/scripts/notifications.js @@ -64,7 +64,7 @@ $(document.body).append(html); - $('.notificationsFlyout').panel({}).panel('option', 'classes.modalOpen', 'notificationsPanelModelOpen ui-panel-dismiss-open').trigger('create').panel("open").on("panelclose", function () { + $('.notificationsFlyout').panel({}).trigger('create').panel("open").on("panelclose", function () { $(this).off("panelclose").remove(); diff --git a/dashboard-ui/scripts/search.js b/dashboard-ui/scripts/search.js index e36768a704..e39db22ad1 100644 --- a/dashboard-ui/scripts/search.js +++ b/dashboard-ui/scripts/search.js @@ -221,7 +221,7 @@ $(page).append(html); - panel = $('#searchPanel', page).panel({}).panel('option', 'classes.modalOpen', 'searchPanelModelOpen ui-panel-dismiss-open').trigger('create'); + panel = $('#searchPanel', page).panel({}).trigger('create'); $('#txtSearch', panel).on("keyup", function (e) { diff --git a/dashboard-ui/scripts/selectserver.js b/dashboard-ui/scripts/selectserver.js index 286d25f884..a26fc65c18 100644 --- a/dashboard-ui/scripts/selectserver.js +++ b/dashboard-ui/scripts/selectserver.js @@ -41,7 +41,7 @@ var html = ''; - var cssClass = "card homePageSquareCard alternateHover bottomPaddedCard"; + var cssClass = "card homePageSquareCard bottomPaddedCard"; html += "
"; diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index d2b1425732..bb421e2a4c 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -36,6 +36,10 @@ var Dashboard = { $.mobile.popup.prototype.options.transition = "fade"; $.mobile.defaultPageTransition = "none"; //$.mobile.collapsible.prototype.options.contentTheme = "a"; + + // Make panels a little larger than the defaults + $.mobile.panel.prototype.options.classes.modalOpen = "largePanelModalOpen ui-panel-dismiss-open"; + $.mobile.panel.prototype.options.classes.panel = "largePanel ui-panel"; }, onRequestFail: function (e, data) { diff --git a/dashboard-ui/scripts/songs.js b/dashboard-ui/scripts/songs.js index db1a03c8f9..53f82ef5fd 100644 --- a/dashboard-ui/scripts/songs.js +++ b/dashboard-ui/scripts/songs.js @@ -13,12 +13,12 @@ Limit: 200, StartIndex: 0 }; - + function getSavedQueryKey() { return 'songs' + (query.ParentId || ''); } - + function updateFilterControls(page) { // Reset form values using the last used query @@ -57,7 +57,7 @@ $('.listTopPaging', page).html(pagingHtml).trigger('create'); updateFilterControls(page); - + html += LibraryBrowser.getListViewHtml({ items: result.Items, smallIcon: true, @@ -106,17 +106,36 @@ reloadItems(page); }); - + LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); Dashboard.hideLoadingMsg(); }); } + var filtersLoaded; + function reloadFiltersIfNeeded(page) { + + if (!filtersLoaded) { + + filtersLoaded = true; + + QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { + + reloadItems(page); + }); + } + } + $(document).on('pageinit', "#songsPage", function () { var page = this; + $('.viewPanel', page).on('panelopen', function () { + + reloadFiltersIfNeeded(page); + }); + $('.radioSortBy', this).on('click', function () { query.SortBy = this.getAttribute('data-sortby'); query.StartIndex = 0; @@ -154,11 +173,14 @@ }).on('pagebeforeshow', "#songsPage", function () { + var page = this; + query.ParentId = LibraryMenu.getTopParentId(); LibraryBrowser.loadSavedQueryValues(getSavedQueryKey(), query); + QueryFilters.onPageShow(page, query); - reloadItems(this); + reloadItems(page); }).on('pageshow', "#songsPage", function () { diff --git a/dashboard-ui/scripts/tvshows.js b/dashboard-ui/scripts/tvshows.js index 06a39a7fd0..533b5d7904 100644 --- a/dashboard-ui/scripts/tvshows.js +++ b/dashboard-ui/scripts/tvshows.js @@ -156,19 +156,33 @@ $('#chkThemeVideo', page).checked(query.HasThemeVideo == true).checkboxradio('refresh'); $('#chkSpecialFeature', page).checked(query.HasSpecialFeature == true).checkboxradio('refresh'); - $('#chkMissingImdbId', page).checked(query.HasImdbId == false).checkboxradio('refresh'); - $('#chkMissingTvdbId', page).checked(query.HasTvdbId == false).checkboxradio('refresh'); - $('#chkMissingOverview', page).checked(query.HasOverview == false).checkboxradio('refresh'); - $('#chkYearMismatch', page).checked(query.IsYearMismatched == true).checkboxradio('refresh'); - $('.alphabetPicker', page).alphaValue(query.NameStartsWith); $('#selectPageSize', page).val(query.Limit).selectmenu('refresh'); } + var filtersLoaded; + function reloadFiltersIfNeeded(page) { + + if (!filtersLoaded) { + + filtersLoaded = true; + + QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { + + reloadItems(page); + }); + } + } + $(document).on('pageinit', "#tvShowsPage", function () { var page = this; + $('.viewPanel', page).on('panelopen', function () { + + reloadFiltersIfNeeded(page); + }); + $('.radioSortBy', this).on('click', function () { query.SortBy = this.getAttribute('data-sortby'); query.StartIndex = 0; @@ -312,38 +326,6 @@ } }); - $('#chkMissingImdbId', this).on('change', function () { - - query.StartIndex = 0; - query.HasImdbId = this.checked ? false : null; - - reloadItems(page); - }); - - $('#chkMissingTvdbId', this).on('change', function () { - - query.StartIndex = 0; - query.HasTvdbId = this.checked ? false : null; - - reloadItems(page); - }); - - $('#chkMissingOverview', this).on('change', function () { - - query.StartIndex = 0; - query.HasOverview = this.checked ? false : null; - - reloadItems(page); - }); - - $('#chkYearMismatch', this).on('change', function () { - - query.StartIndex = 0; - query.IsYearMismatched = this.checked ? true : null; - - reloadItems(page); - }); - $('#selectPageSize', page).on('change', function () { query.Limit = parseInt(this.value); query.StartIndex = 0; @@ -366,6 +348,7 @@ var viewKey = getSavedQueryKey(); LibraryBrowser.loadSavedQueryValues(viewKey, query); + QueryFilters.onPageShow(page, query); LibraryBrowser.getSavedViewSetting(viewKey).done(function (val) { diff --git a/dashboard-ui/songs.html b/dashboard-ui/songs.html index 033376a75b..996a235601 100644 --- a/dashboard-ui/songs.html +++ b/dashboard-ui/songs.html @@ -58,6 +58,35 @@ +
+ +
+

${HeaderGenres}

+ +
+
+
+ +
+

${HeaderParentalRatings}

+ +
+
+
+ +
+

${HeaderTags}

+ +
+
+
+ +
+

${HeaderYears}

+ +
+
+
diff --git a/dashboard-ui/tvshows.html b/dashboard-ui/tvshows.html index de1f328d75..92f4fbbe65 100644 --- a/dashboard-ui/tvshows.html +++ b/dashboard-ui/tvshows.html @@ -83,6 +83,7 @@
+

${HeaderAirDays}

@@ -103,7 +104,6 @@
-

${HeaderFeatures}

@@ -122,23 +122,34 @@
-
-

${HeaderManagement}

+
+

${HeaderGenres}

-
- - - - - - - - - - - +
+ +
+

${HeaderParentalRatings}

+ +
+
+
+ +
+

${HeaderTags}

+ +
+
+
+ +
+

${HeaderYears}

+ +
+
+
+