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();