diff --git a/dashboard-ui/itemlist.html b/dashboard-ui/itemlist.html index 56d20a2dbe..7dc8d9402e 100644 --- a/dashboard-ui/itemlist.html +++ b/dashboard-ui/itemlist.html @@ -4,7 +4,7 @@ -
+
@@ -19,94 +19,42 @@
- +
-
+

+ ${HeaderFilters} +

-
- - -
-
-
- - -
- -
-
-
- ${HeaderFilters} - +
+ +
- +
+ +
- +
+ +
- +
+ +
- +
+ +
- +
+ +
-
- -
-
-
- - ${HeaderSortBy} - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - ${HeaderSortOrder} - - - - - - - -
diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index 7d26bff602..d7743a0184 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -244,7 +244,7 @@ function renderImage(page, item, user) { - var imageHref = user.Policy.IsAdministrator && item.MediaType != 'Photo' ? "edititemmetadata.html?tab=3&id=" + item.Id : ""; + var imageHref = user.Policy.IsAdministrator && item.MediaType != 'Photo' ? "edititemmetadata.html?tab=2&id=" + item.Id : ""; LibraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, imageHref); } diff --git a/dashboard-ui/scripts/itemlistpage.js b/dashboard-ui/scripts/itemlistpage.js index 682e63e495..d05b7b9388 100644 --- a/dashboard-ui/scripts/itemlistpage.js +++ b/dashboard-ui/scripts/itemlistpage.js @@ -6,8 +6,7 @@ var data = {}; - function getQuery() { - + function getPageData() { var key = getSavedQueryKey(); var pageData = data[key]; @@ -26,13 +25,18 @@ pageData.query.Filters = ""; pageData.query.NameStartsWithOrGreater = ''; + pageData.view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster'); pageData.query.ParentId = getParameterByName('parentId'); LibraryBrowser.loadSavedQueryValues(key, pageData.query); } - return pageData.query; + return pageData; } + function getQuery() { + + return getPageData().query; + } function getSavedQueryKey() { return getWindowUrl(); @@ -60,13 +64,20 @@ // Scroll back up so they can see the results from the beginning window.scrollTo(0, 0); + var view = getPageData().view; + var html = ''; var pagingHtml = LibraryBrowser.getQueryPagingHtml({ startIndex: query.StartIndex, limit: query.Limit, totalRecordCount: result.TotalRecordCount, viewButton: true, - showLimit: false + showLimit: false, + addLayoutButton: true, + currentLayout: view, + viewIcon: 'filter-list', + sortButton: true, + layouts: 'Poster,PosterCard' }); page.querySelector('.listTopPaging').innerHTML = pagingHtml; @@ -102,6 +113,7 @@ posterOptions.showTitle = true; posterOptions.showYear = true; posterOptions.cardLayout = true; + posterOptions.centerText = false; html = LibraryBrowser.getPosterViewHtml(posterOptions); } @@ -120,6 +132,58 @@ reloadItems(page); }); + $('.btnChangeLayout', page).on('layoutchange', function (e, layout) { + getPageData().view = layout; + LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout); + reloadItems(page); + }); + + // On callback make sure to set StartIndex = 0 + $('.btnSort', page).on('click', function () { + LibraryBrowser.showSortMenu({ + items: [{ + name: Globalize.translate('OptionNameSort'), + id: 'SortName' + }, + { + name: Globalize.translate('OptionCommunityRating'), + id: 'CommunityRating,SortName' + }, + { + name: Globalize.translate('OptionCriticRating'), + id: 'CriticRating,SortName' + }, + { + name: Globalize.translate('OptionDateAdded'), + id: 'DateCreated,SortName' + }, + { + name: Globalize.translate('OptionDatePlayed'), + id: 'DatePlayed,SortName' + }, + { + name: Globalize.translate('OptionParentalRating'), + id: 'OfficialRating,SortName' + }, + { + name: Globalize.translate('OptionPlayCount'), + id: 'PlayCount,SortName' + }, + { + name: Globalize.translate('OptionReleaseDate'), + id: 'PremiereDate,SortName' + }, + { + name: Globalize.translate('OptionRuntime'), + id: 'Runtime,SortName' + }], + callback: function () { + reloadItems(page); + }, + query: query + }); + }); + LibraryBrowser.saveQueryValues(getParameterByName('parentId'), query); var name = item.Name; @@ -146,18 +210,6 @@ function updateFilterControls(page) { var query = getQuery(); - // Reset form values using the last used query - $('.radioSortBy', page).each(function () { - - this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase(); - - }).checkboxradio('refresh'); - - $('.radioSortOrder', page).each(function () { - - this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase(); - - }).checkboxradio('refresh'); $('.chkStandardFilter', page).each(function () { @@ -166,12 +218,9 @@ this.checked = filters.indexOf(',' + filterName) != -1; - }).checkboxradio('refresh'); - - $('#selectView', page).val(view); + }); $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); - $('#selectPageSize', page).val(query.Limit); } function onListItemClick(e) { @@ -192,20 +241,6 @@ var page = this; - $('.radioSortBy', this).on('click', function () { - var query = getQuery(); - query.StartIndex = 0; - query.SortBy = this.getAttribute('data-sortby'); - reloadItems(page); - }); - - $('.radioSortOrder', this).on('click', function () { - var query = getQuery(); - query.StartIndex = 0; - query.SortOrder = this.getAttribute('data-sortorder'); - reloadItems(page); - }); - $('.chkStandardFilter', this).on('change', function () { var query = getQuery(); @@ -224,15 +259,6 @@ reloadItems(page); }); - $('#selectView', this).on('change', function () { - - view = this.value; - - reloadItems(page); - - LibraryBrowser.saveViewSetting(getParameterByName('parentId'), view); - }); - $('.alphabetPicker', this).on('alphaselect', function (e, character) { var query = getQuery(); @@ -249,30 +275,13 @@ reloadItems(page); }); - $('#selectPageSize', page).on('change', function () { - var query = getQuery(); - query.Limit = parseInt(this.value); - query.StartIndex = 0; - reloadItems(page); - }); - $(page).on('click', '.mediaItem', onListItemClick); }).on('pagebeforeshow', "#itemListPage", function () { var page = this; - if (LibraryBrowser.needsRefresh(page)) { - LibraryBrowser.getSavedViewSetting(getSavedQueryKey()).done(function (val) { - - if (val) { - $('#selectView', page).val(val).trigger('change'); - } else { - reloadItems(page); - } - }); - } - + reloadItems(page); updateFilterControls(page); LibraryMenu.setBackButtonVisible(getParameterByName('context')); diff --git a/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.js b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.js index a8e0140885..5e44386cf1 100644 --- a/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.js +++ b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.js @@ -3205,7 +3205,16 @@ $.widget( "mobile.page", { // pages[i].style.display = 'none'; //} } - to[0].style.display = 'block'; + + var toPage = to[0]; + + toPage.style.display = 'block'; + + //var transition = toPage.getAttribute('data-transition'); + //if (transition == 'zoom') { + // zoomIn(toPage); + //} + this._triggerCssTransitionEvents(to, from); }, @@ -3452,7 +3461,14 @@ $.widget( "mobile.page", { } }); - // The following handlers should be bound after mobileinit has been triggered + function zoomIn(elem) { + var keyframes = [{ transform: 'scale3d(.3, .3, .3) ', opacity: '0', offset: 0 }, + { transform: 'none', opacity: '1', offset: 1 }]; + var timing = { duration: 200, iterations: 1 }; + return elem.animate(keyframes, timing); + } + + // The following handlers should be bound after mobileinit has been triggered // the following deferred is resolved in the init file $.mobile.navreadyDeferred = $.Deferred();