diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index 9ce0576fe..b68354d80 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -776,6 +776,10 @@ a.itemTag:hover { max-width: 950px; } + .detailPageContent { + max-width: 930px; + } + .primaryDetailPageContent { max-width: 850px; } @@ -788,9 +792,6 @@ a.itemTag:hover { } } -@media all and (min-width: 1920px) { -} - .detailPageParentLink { text-decoration: none; } diff --git a/dashboard-ui/css/posteritem.css b/dashboard-ui/css/posteritem.css index 8b3d4958f..2219aef36 100644 --- a/dashboard-ui/css/posteritem.css +++ b/dashboard-ui/css/posteritem.css @@ -308,14 +308,6 @@ @media all and (min-width: 1920px) { - .portraitPosterItem { - width: 160px; - } - - .portraitPosterItem .posterItemImage { - height: 240px; - } - .squarePosterItem { width: 190px; } diff --git a/dashboard-ui/itemdetails.html b/dashboard-ui/itemdetails.html index bbc0a18c5..44b6097f6 100644 --- a/dashboard-ui/itemdetails.html +++ b/dashboard-ui/itemdetails.html @@ -160,10 +160,10 @@
+
';
}
}
diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js
index afb52cf25..a6b54ae50 100644
--- a/dashboard-ui/scripts/itemdetailpage.js
+++ b/dashboard-ui/scripts/itemdetailpage.js
@@ -36,13 +36,6 @@
$('#editButtonContainer', page).hide();
}
- if (user.Configuration.IsAdministrator && item.Type == "BoxSet") {
- $('#btnEditCollectionTitles', page).show().attr('href', 'editcollectionitems.html?id=' + item.Id);
-
- } else {
- $('#btnEditCollectionTitles', page).hide();
- }
-
if (MediaPlayer.canPlay(item, user)) {
var url = MediaPlayer.getPlayUrl(item);
@@ -184,8 +177,15 @@
function setInitialCollapsibleState(page, item, context, user) {
+ $('.collectionItems', page).empty();
+
if (item.IsFolder) {
- $('#childrenCollapsible', page).removeClass('hide');
+
+ if (item.Type == "BoxSet") {
+ $('#childrenCollapsible', page).addClass('hide');
+ } else {
+ $('#childrenCollapsible', page).removeClass('hide');
+ }
renderChildren(page, item, user);
}
else {
@@ -579,7 +579,7 @@
var html = '';
- if (item.Type == "Series" || item.Type == "BoxSet") {
+ if (item.Type == "Series") {
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "portrait",
@@ -608,9 +608,20 @@
});
}
-
$('#childrenContent', page).html(html).createPosterItemHoverMenu();
+ if (item.Type == "BoxSet") {
+
+ var collectionItemTypes = [
+ { name: 'Movies', type: 'Movie' },
+ { name: 'Series', type: 'Series' },
+ { name: 'Albums', type: 'MusicAlbum' },
+ { name: 'Games', type: 'Game' },
+ { name: 'Books', type: 'Book' }
+ ];
+
+ renderCollectionItems(page, collectionItemTypes, result.Items, user);
+ }
}
});
@@ -620,9 +631,6 @@
else if (item.Type == "Series") {
$('#childrenTitle', page).html('Seasons');
}
- else if (item.Type == "BoxSet") {
- $('#childrenTitle', page).html('Titles');
- }
else if (item.Type == "MusicAlbum") {
$('#childrenTitle', page).html('Tracks');
}
@@ -633,6 +641,82 @@
$('#childrenTitle', page).html('Items');
}
}
+
+ function renderCollectionItems(page, types, items, user) {
+
+ for (var i = 0, length = types.length; i < length; i++) {
+
+ var type = types[i];
+
+ var typeItems = items.filter(function (curr) {
+
+ return curr.Type == type.type;
+
+ });
+
+ if (!typeItems.length) {
+ continue;
+ }
+
+ renderCollectionItemType(page, type, typeItems, user);
+ }
+
+ var otherType = { name: 'Other Items' };
+
+ var otherTypeItems = items.filter(function (curr) {
+
+ return !types.filter(function(t) {
+
+ return t.type == curr.Type;
+
+ }).length;
+
+ });
+
+ if (otherTypeItems.length) {
+ renderCollectionItemType(page, otherType, otherTypeItems, user);
+ }
+
+ if (!items.length) {
+ renderCollectionItemType(page, {name: 'Titles'}, items, user);
+ }
+
+ $('.collectionItems', page).trigger('create').createPosterItemHoverMenu();
+ }
+
+ function renderCollectionItemType(page, type, items, user) {
+
+ var html = '';
+
+ html += '
';
}
}
@@ -378,11 +398,11 @@
}).join('');
}
- function getReportHtml(items, reportType) {
+ function getReportHtml(items, reportType, currentSortField, currentSortDirection) {
var html = '';
- html += '| ' + (c.name || ' ') + ' | '; + var cellHtml = ''; + + if (c.sortField) { + cellHtml += ''; + } + + cellHtml += (c.name || ' '); + + if (c.sortField) { + + cellHtml += ''; + + if (c.sortField == currentSortField) { + + if (currentSortDirection == "Descending") { + cellHtml += '↓'; + } else { + cellHtml += '↑'; + } + } + } + + cellHtml += ' | '; + + return cellHtml; }).join(''); @@ -427,7 +471,7 @@ $('.listBottomPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount)).trigger('create'); - $('.reportContainer', page).html(getReportHtml(result.Items, reportType)).trigger('create'); + $('.reportContainer', page).html(getReportHtml(result.Items, reportType, query.SortBy, query.SortOrder)).trigger('create'); $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; @@ -444,6 +488,34 @@ query.StartIndex = 0; reloadItems(page); }); + + $('.lnkColumnSort', page).on('click', function () { + + var order = this.getAttribute('data-sortfield'); + + if (query.SortBy == order) { + + if (query.SortOrder == "Descending") { + + query.SortOrder = "Ascending"; + query.SortBy = defaultSortBy; + + } else { + + query.SortOrder = "Descending"; + query.SortBy = order; + } + + } else { + + query.SortOrder = "Ascending"; + query.SortBy = order; + } + + query.StartIndex = 0; + + reloadItems(page); + }); } function reloadItems(page) { diff --git a/dashboard-ui/scripts/moviesrecommended.js b/dashboard-ui/scripts/moviesrecommended.js index bab40a53a..99d6ad1e0 100644 --- a/dashboard-ui/scripts/moviesrecommended.js +++ b/dashboard-ui/scripts/moviesrecommended.js @@ -11,7 +11,7 @@ SortBy: "DateCreated", SortOrder: "Descending", IncludeItemTypes: "Movie", - Limit: screenWidth >= 1920 ? 21 : (screenWidth >= 1440 ? 16 : 12), + Limit: screenWidth >= 1920 ? 24 : (screenWidth >= 1440 ? 16 : 12), Recursive: true, Fields: "PrimaryImageAspectRatio,DateCreated,UserData", Filters: "IsUnplayed" @@ -62,7 +62,7 @@ SortBy: "DateCreated", SortOrder: "Descending", IncludeItemTypes: "Trailer", - Limit: screenWidth >= 1920 ? 7 : (screenWidth >= 1440 ? 8 : 6), + Limit: screenWidth >= 1920 ? 8 : (screenWidth >= 1440 ? 8 : 6), Recursive: true, Fields: "PrimaryImageAspectRatio,DateCreated,UserData", Filters: "IsUnplayed"
|---|