#712 - Group multiple versions

This commit is contained in:
Luke Pulverenti
2014-03-19 00:59:45 -04:00
parent 233e30e233
commit 39c57da623
37 changed files with 66 additions and 110 deletions
+2 -3
View File
@@ -17,7 +17,6 @@
<div class="listTopPaging">
</div>
<button id="btnNewCollection" data-mini="true" data-icon="plus" data-inline="true" class="hide">New</button>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
@@ -45,7 +44,7 @@
</form>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<div id="sortpanel">
@@ -76,7 +75,7 @@
</div>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>Filters:
-4
View File
@@ -36,10 +36,6 @@
font-size: 90%;
}
.viewSummary {
padding: .5em 0;
}
.viewMenuLink {
text-decoration: none;
color: #ccc!important;
+2 -3
View File
@@ -27,11 +27,10 @@
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
@@ -83,7 +82,7 @@
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+1 -1
View File
@@ -22,7 +22,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+2 -3
View File
@@ -22,13 +22,12 @@
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
@@ -68,7 +67,7 @@
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+1 -1
View File
@@ -22,7 +22,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+2 -1
View File
@@ -176,8 +176,9 @@
<div id="trailersContent" class="detailSectionContent"></div>
</div>
<div id="alternateVersionsCollapsible" class="detailSection hide">
<div class="detailSectionHeader">
<div class="detailSectionHeader" style="position: relative;">
Alternate Versions
<button type="button" class="btnSplitVersions" style="position: absolute; right: 0; top: 6px; margin-top: 0; margin-bottom: 0;" data-mini="true" data-inline="true" data-icon="delete" data-iconpos="notext" title="Split Versions Apart">Split Versions Apart</button>
</div>
<div id="alternateVersionsContent" class="detailSectionContent"></div>
</div>
+2 -3
View File
@@ -29,11 +29,10 @@
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
@@ -79,7 +78,7 @@
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+1 -1
View File
@@ -23,7 +23,7 @@
<div id="items"></div>
</div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
+1 -1
View File
@@ -26,7 +26,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+1 -1
View File
@@ -28,7 +28,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+3 -4
View File
@@ -32,11 +32,10 @@
<div class="viewControls" data-role="controlgroup" data-type="horizontal">
<button data-mini="true" data-icon="sort" data-inline="true" data-iconpos="notext" title="Sort" onclick="$('#sortPanel', $(this).parents('.page')).panel( 'toggle' );">Sort</button>
<button data-mini="true" data-icon="filter" data-inline="true" data-iconpos="notext" title="Filter" onclick="$('#filterPanel', $(this).parents('.page')).panel( 'toggle' );">Filter</button>
<!-- <button data-mini="true" data-icon="check" data-inline="true" data-iconpos="notext" title="Select" class="btnToggleSelections">Select</button>-->
<button data-mini="true" data-icon="check" data-inline="true" data-iconpos="notext" title="Select" class="btnToggleSelections">Select</button>
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
<div class="selectionCommands" style="display: none;">
<div data-role="controlgroup" data-type="horizontal" class="selectionCommandsControlGroup">
@@ -46,7 +45,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
@@ -107,7 +106,7 @@
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup" data-type="horizontal" style="margin-bottom: 1em;">
+1 -1
View File
@@ -26,7 +26,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+2 -3
View File
@@ -26,11 +26,10 @@
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
@@ -81,7 +80,7 @@
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+1 -1
View File
@@ -27,7 +27,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+2 -3
View File
@@ -32,11 +32,10 @@
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
@@ -74,7 +73,7 @@
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+1 -1
View File
@@ -27,7 +27,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
-1
View File
@@ -21,7 +21,6 @@
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
+2 -3
View File
@@ -26,11 +26,10 @@
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
@@ -85,7 +84,7 @@
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
-3
View File
@@ -28,9 +28,6 @@
updateFilterControls();
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html += LibraryBrowser.getPosterViewHtml({
items: result.Items,
useAverageAspectRatio: true,
-3
View File
@@ -27,9 +27,6 @@
updateFilterControls(page);
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "auto",
+11 -5
View File
@@ -901,23 +901,29 @@
userId: user.Id
});
$.getJSON(url).done(function (result) {
$.getJSON(url).done(function (items) {
if (result.Items.length) {
if (items.length) {
$('#alternateVersionsCollapsible', page).show();
var html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
items: items.map(function (i) {
var extended = $.extend({}, item, i);
extended.Id = item.Id;
return extended;
}),
shape: "portrait",
context: 'movies',
useAverageAspectRatio: true,
showTitle: true,
centerText: true,
formatIndicators: true
formatIndicators: true,
linkItem: false,
showProgress: false
});
$('#alternateVersionsContent', page).html(html).trigger('create').createPosterItemMenus();
$('#alternateVersionsContent', page).html(html).trigger('create');
} else {
$('#alternateVersionsCollapsible', page).hide();
}
-3
View File
@@ -30,9 +30,6 @@
updateFilterControls(page);
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
if (view == "Backdrop") {
html = LibraryBrowser.getPosterViewHtml({
+5 -18
View File
@@ -665,7 +665,9 @@
cssClass += ' ' + options.shape + 'PosterItem';
html += '<a data-itemid="' + item.Id + '" class="' + cssClass + '" data-alternateversioncount="' + (item.AlternateVersionCount || '0') + '" href="' + LibraryBrowser.getHref(item, options.context) + '">';
var href = options.linkItem === false ? '#' : LibraryBrowser.getHref(item, options.context);
html += '<a data-itemid="' + item.Id + '" class="' + cssClass + '" data-alternateversioncount="' + (item.AlternateVersionCount || '0') + '" href="' + href + '">';
// Ribbon
if (item.MediaType == "Video" && options.formatIndicators) {
@@ -706,7 +708,7 @@
imageCssClass += " coveredPosterItemImage";
}
var progressHtml = LibraryBrowser.getItemProgressBarHtml(item);
var progressHtml = options.showProgress === false ? '' : LibraryBrowser.getItemProgressBarHtml(item);
html += '<div class="' + imageCssClass + '" style="' + style + '">';
@@ -731,7 +733,7 @@
var chkItemSelectId = 'chkItemSelect' + i;
// Render this pre-enhanced to save on jquery mobile dom manipulation
html += '<div class="itemSelectionPanel" onclick="return false;"><div class="ui-checkbox"><label class="ui-btn ui-corner-all ui-btn-inherit ui-btn-icon-left ui-checkbox-off" for="' + chkItemSelectId + '">Select</label><input id="' + chkItemSelectId + '" type="checkbox" class="chkItemSelect" data-enhanced="true" /></div></div>';
html += '<div class="itemSelectionPanel" onclick="return false;"><div class="ui-checkbox ui-mini"><label class="ui-btn ui-corner-all ui-btn-inherit ui-btn-icon-left ui-checkbox-off" for="' + chkItemSelectId + '">Select</label><input id="' + chkItemSelectId + '" type="checkbox" class="chkItemSelect" data-enhanced="true" /></div></div>';
}
@@ -1158,21 +1160,6 @@
}
},
getViewSummaryHtml: function (query, checkedSortOption) {
var html = '';
if (query.SortBy) {
var id = checkedSortOption[0].id;
var sortBy = checkedSortOption.siblings('label[for=' + id + ']').text();
html += 'Sorted by ' + sortBy.trim().toLowerCase() + ', ' + (query.SortOrder || 'ascending').toLowerCase();
}
return html;
},
getPagingHtml: function (query, totalRecordCount, updatePageSizeSetting, pageSizes, showLimit) {
if (query.Limit && updatePageSizeSetting !== false) {
+16 -9
View File
@@ -175,18 +175,25 @@
function splitVersions(id, page) {
Dashboard.showLoadingMsg();
Dashboard.confirm("Are you sure you wish to split the versions apart into separate items?", "Split Versions Apart", function (confirmResult) {
$.ajax({
type: "DELETE",
url: ApiClient.getUrl("Videos/" + id + "/AlternateVersions")
if (confirmResult) {
}).done(function () {
Dashboard.showLoadingMsg();
Dashboard.hideLoadingMsg();
$.ajax({
type: "DELETE",
url: ApiClient.getUrl("Videos/" + id + "/AlternateVersions")
$('.itemsContainer', page).trigger('needsrefresh');
}).done(function () {
Dashboard.hideLoadingMsg();
$('.itemsContainer', page).trigger('needsrefresh');
});
}
});
}
function getContextMenuOptions(elem) {
@@ -205,7 +212,7 @@
items.push({ type: 'divider' });
items.push({ type: 'header', text: 'Manage' });
items.push({ type: 'command', text: 'Split Versions', name: 'SplitVersions' });
items.push({ type: 'command', text: 'Split Versions Apart', name: 'SplitVersions' });
}
return items;
@@ -221,7 +228,7 @@
return;
}
if ($('.itemSelectionPanel', elem).length) {
if ($('.itemSelectionPanel:visible', elem).length) {
return;
}
-3
View File
@@ -28,9 +28,6 @@
if (result.TotalRecordCount) {
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "portrait",
-3
View File
@@ -29,9 +29,6 @@
updateFilterControls(page);
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
if (view == "Thumb") {
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
-3
View File
@@ -26,9 +26,6 @@
updateFilterControls(page);
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "portrait",
-3
View File
@@ -28,9 +28,6 @@
updateFilterControls(page);
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
if (view == "Poster") {
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
-3
View File
@@ -26,9 +26,6 @@
updateFilterControls(page);
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "square",
-3
View File
@@ -47,9 +47,6 @@
updateFilterControls(page);
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html += LibraryBrowser.getSongTableHtml(result.Items, {
showAlbum: true,
showArtist: true,
-3
View File
@@ -28,9 +28,6 @@
updateFilterControls(page);
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
if (view == "Thumb") {
html = LibraryBrowser.getPosterViewHtml({
+2 -3
View File
@@ -22,11 +22,10 @@
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
@@ -75,7 +74,7 @@
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+1 -1
View File
@@ -25,7 +25,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+1 -1
View File
@@ -28,7 +28,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>
+2 -3
View File
@@ -34,11 +34,10 @@
</div>
<div class="listTopPaging">
</div>
<div class="viewSummary"></div>
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="sortPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
@@ -78,7 +77,7 @@
</fieldset>
</form>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup" data-type="horizontal" style="margin-bottom: 1em;">
<legend>Filters:</legend>
+1 -1
View File
@@ -25,7 +25,7 @@
</div>
<div id="items" class="itemsContainer"></div>
</div>
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-theme="a" data-position-fixed="true">
<div data-role="panel" id="filterPanel" data-position="right" data-display="overlay" data-position-fixed="true">
<form>
<fieldset data-role="controlgroup">
<legend>