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

added theme song support

This commit is contained in:
Luke Pulverenti 2013-04-24 12:03:10 -04:00
parent f6366f3b22
commit 38fa3ccfe4
7 changed files with 51 additions and 8 deletions

View file

@ -1712,6 +1712,27 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
});
};
/**
* Gets theme songs for an item
*/
self.getThemeSongs = function (userId, itemId) {
if (!userId) {
throw new Error("null userId");
}
if (!itemId) {
throw new Error("null itemId");
}
var url = self.getUrl("Users/" + userId + "/Items/" + itemId + "/ThemeSongs");
return self.ajax({
type: "GET",
url: url,
dataType: "json"
});
};
/**
* Gets special features for an item
*/

View file

@ -559,7 +559,7 @@
.detailTable {
border-collapse: collapse;
border-spacing: 0;
width: 70%;
width: 100%;
max-width: 1200px;
text-align: left;
}

View file

@ -143,9 +143,9 @@
</div>
</div>
<div style="display: inline-block; vertical-align: top;">
<div data-role="collapsible" id="scenesCollapsible" style="display: none;" data-mini="true" data-collapsed="false" data-corners="false">
<h3>Scenes</h3>
<div id="scenesContent"></div>
<div data-role="collapsible" id="themeSongsCollapsible" style="display: none;" data-mini="true" data-collapsed="false" data-corners="false">
<h3>Theme Songs</h3>
<div id="themeSongsContent"></div>
</div>
</div>
<div style="display: inline-block; vertical-align: top;">
@ -154,6 +154,12 @@
<div id="castContent"></div>
</div>
</div>
<div style="display: inline-block; vertical-align: top;">
<div data-role="collapsible" id="scenesCollapsible" style="display: none;" data-mini="true" data-collapsed="false" data-corners="false">
<h3>Scenes</h3>
<div id="scenesContent"></div>
</div>
</div>
</div>
<div data-role="popup" id="playMenu" data-corners="false" data-theme="c">

View file

@ -70,7 +70,7 @@
<legend></legend>
<input class="chkIsOnTour" type="checkbox" name="chkIsOnTour" id="chkIsOnTour" data-theme="c" data-mini="true">
<label for="chkIsOnTour">Is on tour</label>
<label for="chkIsOnTour">On tour</label>
</fieldset>
</form>
</div>

View file

@ -33,7 +33,7 @@
$('#seriesName', page).html('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.SeriesId + '">' + item.SeriesName + '</a>').show().trigger('create');
}
else if (item.Album && item.Type == "Audio") {
else if (item.Album && item.Type == "Audio" && item.ParentId) {
$('#seriesName', page).html('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.ParentId + '">' + item.Album + '</a>').show().trigger('create');
}
@ -198,6 +198,12 @@
$('#castCollapsible', page).show();
renderCast(page, item, context);
}
$('#themeSongsCollapsible', page).hide();
ApiClient.getThemeSongs(Dashboard.getCurrentUserId(), item.Id).done(function(songs) {
renderThemeSongs(page, item, songs);
});
}
function renderDetails(page, item, context) {
@ -273,6 +279,16 @@
$('#itemRatings', page).html(LibraryBrowser.getUserDataIconsHtml(item));
}
function renderThemeSongs(page, item, songs) {
if (songs.length) {
$('#themeSongsCollapsible', page).show();
$('#themeSongsContent', page).html(LibraryBrowser.getSongTableHtml(songs, {})).trigger('create');
}
}
function renderScenes(page, item) {
var html = '';

View file

@ -245,7 +245,7 @@
html += '<td><a href="' + LibraryBrowser.getHref(item, "music") + '">' + (item.Name || "") + '</a></td>';
if (options.showAlbum) {
if (item.Album) {
if (item.Album && item.ParentId) {
html += '<td><a href="itemdetails.html?id=' + item.ParentId + '">' + item.Album + '</a></td>';
} else {
html += '<td></td>';

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.85" targetFramework="net45" />
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.86" targetFramework="net45" />
<package id="ServiceStack.Common" version="3.9.43" targetFramework="net45" />
<package id="ServiceStack.Text" version="3.9.43" targetFramework="net45" />
</packages>