mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Added poor man's multi-file movie support
This commit is contained in:
parent
3c1648cc63
commit
eba6f4b630
4 changed files with 52 additions and 3 deletions
21
ApiClient.js
21
ApiClient.js
|
@ -2047,6 +2047,27 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
|
|||
});
|
||||
};
|
||||
|
||||
self.getAdditionalVideoParts = function (userId, itemId) {
|
||||
|
||||
if (!itemId) {
|
||||
throw new Error("null itemId");
|
||||
}
|
||||
|
||||
var options = {};
|
||||
|
||||
if (userId) {
|
||||
options.userId = userId;
|
||||
}
|
||||
|
||||
var url = self.getUrl("Videos/" + itemId + "/AdditionalParts", options);
|
||||
|
||||
return self.ajax({
|
||||
type: "GET",
|
||||
url: url,
|
||||
dataType: "json"
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Gets theme songs for an item
|
||||
*/
|
||||
|
|
|
@ -159,6 +159,12 @@
|
|||
<div class="detailSectionHeader"><span id="childrenTitle"></span></div>
|
||||
<div id="childrenContent" class="detailSectionContent"></div>
|
||||
</div>
|
||||
<div id="additionalPartsCollapsible" class="detailSection inlineDetailSection hide">
|
||||
<div class="detailSectionHeader">
|
||||
Additional Parts
|
||||
</div>
|
||||
<div id="additionalPartsContent" class="detailSectionContent"></div>
|
||||
</div>
|
||||
<div id="trailersCollapsible" class="detailSection inlineDetailSection hide">
|
||||
<div class="detailSectionHeader">
|
||||
Trailers
|
||||
|
|
|
@ -148,6 +148,13 @@
|
|||
renderCast(page, item, context, 10);
|
||||
}
|
||||
|
||||
if (!item.PartCount || item.PartCount < 2) {
|
||||
$('#additionalPartsCollapsible', page).addClass('hide');
|
||||
} else {
|
||||
$('#additionalPartsCollapsible', page).removeClass('hide');
|
||||
renderAdditionalParts(page, item);
|
||||
}
|
||||
|
||||
$('#themeSongsCollapsible', page).hide();
|
||||
$('#themeVideosCollapsible', page).hide();
|
||||
|
||||
|
@ -560,6 +567,21 @@
|
|||
|
||||
}
|
||||
|
||||
function renderAdditionalParts(page, item) {
|
||||
|
||||
ApiClient.getAdditionalVideoParts(Dashboard.getCurrentUserId(), item.Id).done(function (result) {
|
||||
|
||||
if (result.Items.length) {
|
||||
|
||||
$('#additionalPartsCollapsible', page).show();
|
||||
|
||||
$('#additionalPartsContent', page).html(getVideosHtml(result.Items)).trigger('create');
|
||||
} else {
|
||||
$('#additionalPartsCollapsible', page).hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function renderScenes(page, item, limit) {
|
||||
var html = '';
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.123" targetFramework="net45" />
|
||||
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.124" targetFramework="net45" />
|
||||
<package id="ServiceStack.Common" version="3.9.46" targetFramework="net45" />
|
||||
<package id="ServiceStack.Text" version="3.9.45" targetFramework="net45" />
|
||||
</packages>
|
Loading…
Add table
Add a link
Reference in a new issue