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 * Gets special features for an item
*/ */

View file

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

View file

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

View file

@ -70,7 +70,7 @@
<legend></legend> <legend></legend>
<input class="chkIsOnTour" type="checkbox" name="chkIsOnTour" id="chkIsOnTour" data-theme="c" data-mini="true"> <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> </fieldset>
</form> </form>
</div> </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'); $('#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'); $('#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(); $('#castCollapsible', page).show();
renderCast(page, item, context); 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) { function renderDetails(page, item, context) {
@ -273,6 +279,16 @@
$('#itemRatings', page).html(LibraryBrowser.getUserDataIconsHtml(item)); $('#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) { function renderScenes(page, item) {
var html = ''; var html = '';

View file

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

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <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.Common" version="3.9.43" targetFramework="net45" />
<package id="ServiceStack.Text" version="3.9.43" targetFramework="net45" /> <package id="ServiceStack.Text" version="3.9.43" targetFramework="net45" />
</packages> </packages>