1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Added album soundtrack links

This commit is contained in:
Luke Pulverenti 2013-07-16 12:03:28 -04:00
parent c977f4a919
commit 8bcb6d55a4
5 changed files with 92 additions and 33 deletions

View file

@ -178,6 +178,7 @@
<div data-role="collapsible"> <div data-role="collapsible">
<h3>External Id's</h3> <h3>External Id's</h3>
<div> <div>
<p id="albumAssociationMessage" style="display: none;">Associate this album with a movie, tv series and/or game, and we'll be able to link it to other items in your library.</p>
<div data-role="fieldcontain" id="fldGamesDb" style="display: none;"> <div data-role="fieldcontain" id="fldGamesDb" style="display: none;">
<label for="txtGamesDb">GamesDb:</label> <label for="txtGamesDb">GamesDb:</label>
<input id="txtGamesDb" name="txtGamesDb" data-mini="true" /> <input id="txtGamesDb" name="txtGamesDb" data-mini="true" />
@ -216,10 +217,10 @@
<h3>Internet Provider Settings</h3> <h3>Internet Provider Settings</h3>
<div> <div>
<div data-role="fieldcontain"> <div data-role="fieldcontain">
<input type="checkbox" name="enableInternetProviders" id="enableInternetProviders" onchange="EditItemMetadataPage.setProviderSettingsContainerVisibility(this)" /> <input type="checkbox" name="enableInternetProviders" id="Checkbox1" onchange="EditItemMetadataPage.setProviderSettingsContainerVisibility(this)" />
<label for="enableInternetProviders">Enable internet metadata providers for this item.</label> <label for="enableInternetProviders">Enable internet metadata providers for this item.</label>
</div> </div>
<div id="providerSettingsContainer" style="display: none"> <div id="Div1" style="display: none">
</div> </div>
</div> </div>
</div> </div>

View file

@ -183,6 +183,12 @@
</div> </div>
<div id="castContent" class="detailSectionContent"></div> <div id="castContent" class="detailSectionContent"></div>
</div> </div>
<div id="soundtracksCollapsible" style="display: none;" class="detailSection">
<div id="soundtracksHeader" class="detailSectionHeader">
Soundtracks
</div>
<div id="soundtracksContent" class="detailSectionContent"></div>
</div>
<div id="similarCollapsible" style="display: none;" class="detailSection"> <div id="similarCollapsible" style="display: none;" class="detailSection">
<div class="detailSectionHeader"> <div class="detailSectionHeader">
Similar Similar

View file

@ -158,6 +158,13 @@
$('#themeSongsCollapsible', page).hide(); $('#themeSongsCollapsible', page).hide();
$('#themeVideosCollapsible', page).hide(); $('#themeVideosCollapsible', page).hide();
if (!item.SoundtrackIds || !item.SoundtrackIds.length) {
$('#soundtracksCollapsible', page).hide();
} else {
$('#soundtracksCollapsible', page).show();
renderSoundtracks(page, item);
}
renderThemeSongs(page, item); renderThemeSongs(page, item);
renderThemeVideos(page, item); renderThemeVideos(page, item);
renderCriticReviews(page, item, 1); renderCriticReviews(page, item, 1);
@ -241,6 +248,33 @@
$('.itemPath', page).hide(); $('.itemPath', page).hide();
} }
} }
function renderSoundtracks(page, item) {
if (item.Type == "MusicAlbum") {
$('#soundtracksHeader', page).html("This album is the soundtrack for ...");
} else {
$('#soundtracksHeader', page).html("Soundtrack(s)");
}
ApiClient.getItems(Dashboard.getCurrentUserId(), {
Ids: item.SoundtrackIds.join(","),
ItemFields: "PrimaryImageAspectRatio,ItemCounts,DisplayMediaType,DateCreated,UserData,AudioInfo",
SortBy: "SortName"
}).done(function (result) {
var html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
useAverageAspectRatio: true,
showNewIndicator: true,
shape: item.Type == "MusicAlbum" ? "portrait" : "square"
});
$('#soundtracksContent', page).html(html);
});
}
function renderSiblingLinks(page, item) { function renderSiblingLinks(page, item) {

View file

@ -96,14 +96,24 @@
$('#fldRevenue', page).hide(); $('#fldRevenue', page).hide();
} }
if (item.MediaType == "Game") { if (item.Type == "MusicAlbum") {
$('#fldPlayers', page).show(); $('#albumAssociationMessage', page).show();
} else {
$('#albumAssociationMessage', page).hide();
}
if (item.MediaType == "Game" || item.Type == "MusicAlbum") {
$('#fldGamesDb', page).show(); $('#fldGamesDb', page).show();
} else { } else {
$('#fldPlayers', page).hide();
$('#fldGamesDb', page).hide(); $('#fldGamesDb', page).hide();
} }
if (item.MediaType == "Game") {
$('#fldPlayers', page).show();
} else {
$('#fldPlayers', page).hide();
}
if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "MusicVideo") { if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "MusicVideo") {
$('#fldCriticRating', page).show(); $('#fldCriticRating', page).show();
$('#fldCriticRatingSummary', page).show(); $('#fldCriticRatingSummary', page).show();
@ -114,19 +124,26 @@
$('#fldRottenTomatoes', page).hide(); $('#fldRottenTomatoes', page).hide();
} }
if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "Person" || item.Type == "BoxSet") { if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "Person" || item.Type == "BoxSet" || item.Type == "MusicAlbum") {
$('#fldTmdb', page).show(); $('#fldTmdb', page).show();
} else { } else {
$('#fldTmdb', page).hide(); $('#fldTmdb', page).hide();
} }
if (item.Type == "Series" || item.Type == "Season" || item.Type == "Episode") { if (item.Type == "Series" || item.Type == "Season" || item.Type == "Episode" || item.Type == "MusicAlbum") {
$('#fldTvdb', page).show(); $('#fldTvdb', page).show();
$('#fldTvCom', page).show(); $('#fldTvCom', page).show();
} else { } else {
$('#fldTvdb', page).hide(); $('#fldTvdb', page).hide();
$('#fldTvCom', page).hide(); $('#fldTvCom', page).hide();
} }
if (item.Type == "Series" || item.Type == "Season" || item.Type == "Episode") {
$('#fldTvCom', page).show();
} else {
$('#fldTvCom', page).hide();
}
if (item.Type == "Series") { if (item.Type == "Series") {
$('#fldStatus', page).show(); $('#fldStatus', page).show();
$('#fldAirDays', page).show(); $('#fldAirDays', page).show();

View file

@ -48,13 +48,17 @@ var Dashboard = {
getCurrentUser: function () { getCurrentUser: function () {
if (!Dashboard.getUserPromise) { if (!Dashboard.getUserPromise) {
Dashboard.getUserPromise = ApiClient.getUser(Dashboard.getCurrentUserId()).fail(Dashboard.logout);
var userId = Dashboard.getCurrentUserId();
Dashboard.getUserPromise = ApiClient.getUser(userId).fail(Dashboard.logout);
} }
return Dashboard.getUserPromise; return Dashboard.getUserPromise;
}, },
validateCurrentUser: function (page) { validateCurrentUser: function (page) {
Dashboard.getUserPromise = null; Dashboard.getUserPromise = null;
if (Dashboard.getCurrentUserId()) { if (Dashboard.getCurrentUserId()) {
@ -68,7 +72,14 @@ var Dashboard = {
if (header.length) { if (header.length) {
// Re-render the header // Re-render the header
header.remove(); header.remove();
Dashboard.ensureHeader(page);
if (Dashboard.getUserPromise) {
Dashboard.getUserPromise.done(function(user) {
Dashboard.ensureHeader(page, user);
});
} else {
Dashboard.ensureHeader(page);
}
} }
}, },
@ -508,22 +519,11 @@ var Dashboard = {
Dashboard.getPluginSecurityInfoPromise = null; Dashboard.getPluginSecurityInfoPromise = null;
}, },
ensureHeader: function (page) { ensureHeader: function (page, user) {
if (!page.hasClass('libraryPage') && !$('.headerButtons', page).length) { if (!page.hasClass('libraryPage') && !$('.headerButtons', page).length) {
var isLoggedIn = Dashboard.getCurrentUserId(); Dashboard.renderHeader(page, user);
if (isLoggedIn) {
Dashboard.getCurrentUser().done(function (user) {
Dashboard.renderHeader(page, user);
});
} else {
Dashboard.renderHeader(page);
}
} }
}, },
@ -768,7 +768,7 @@ var Dashboard = {
else if (msg.MessageType === "ScheduledTaskEnded") { else if (msg.MessageType === "ScheduledTaskEnded") {
Dashboard.getCurrentUser().done(function (currentUser) { Dashboard.getCurrentUser().done(function (currentUser) {
if (currentUser.Configuration.IsAdministrator) { if (currentUser.Configuration.IsAdministrator) {
Dashboard.showTaskCompletionNotification(msg.Data); Dashboard.showTaskCompletionNotification(msg.Data);
} }
@ -1098,7 +1098,7 @@ $(function () {
Dashboard.jQueryMobileInit(); Dashboard.jQueryMobileInit();
$(document).on('pageinit', ".page", function () { $(document).on('pagebeforeshow', ".page", function () {
var page = $(this); var page = $(this);
@ -1110,7 +1110,12 @@ $(document).on('pageinit', ".page", function () {
if (this.id !== "loginPage" && !page.hasClass('wizardPage')) { if (this.id !== "loginPage" && !page.hasClass('wizardPage')) {
Dashboard.logout(); Dashboard.logout();
return;
} }
Dashboard.ensureHeader(page);
Dashboard.ensurePageTitle(page);
Dashboard.refreshSystemInfoFromServer();
} }
else { else {
@ -1120,16 +1125,12 @@ $(document).on('pageinit', ".page", function () {
if (user.Configuration.IsAdministrator) { if (user.Configuration.IsAdministrator) {
Dashboard.ensureToolsMenu(page); Dashboard.ensureToolsMenu(page);
} }
Dashboard.ensureHeader(page, user);
Dashboard.ensurePageTitle(page);
}); });
Dashboard.refreshSystemInfoFromServer();
} }
}).on('pagebeforeshow', ".page", function () {
Dashboard.refreshSystemInfoFromServer();
var page = $(this);
Dashboard.ensureHeader(page);
Dashboard.ensurePageTitle(page);
}); });