mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
switch to subtitle filter
This commit is contained in:
parent
c98448df25
commit
c55d6e3511
4 changed files with 46 additions and 51 deletions
|
@ -24,7 +24,6 @@
|
|||
<div class="readOnlyContent" style="max-width: 700px;">
|
||||
<div class="subtitleList"></div>
|
||||
</div>
|
||||
<br />
|
||||
<h1>${HeaderSearchForSubtitles}</h1>
|
||||
|
||||
<form class="subtitleSearchForm">
|
||||
|
|
|
@ -91,17 +91,25 @@
|
|||
|
||||
function fillSubtitleList(page, item) {
|
||||
|
||||
var html = '<ul data-role="listview" data-split-icon="delete"><li data-role="list-divider">Current Subtitles</li>';
|
||||
|
||||
var streams = item.MediaStreams || [];
|
||||
|
||||
html += streams.filter(function (s) {
|
||||
var subs = streams.filter(function (s) {
|
||||
|
||||
return s.Type == 'Subtitle';
|
||||
});
|
||||
|
||||
}).map(function (s) {
|
||||
var html = '';
|
||||
|
||||
var itemHtml = '<li><a class="btnViewSubtitles" href="#" data-index="' + s.Index + '">';
|
||||
if (subs.length) {
|
||||
|
||||
html += '<br/>';
|
||||
html += '<ul data-role="listview" data-split-icon="delete"><li data-role="list-divider">Current Subtitles</li>';
|
||||
|
||||
html += subs.map(function (s) {
|
||||
|
||||
var cssClass = s.Path ? 'btnViewSubtitles' : '';
|
||||
|
||||
var itemHtml = '<li><a class="' + cssClass + '" href="#" data-index="' + s.Index + '">';
|
||||
|
||||
itemHtml += '<p>' + (s.Language || 'Unknown language') + '</p>';
|
||||
|
||||
|
@ -140,6 +148,7 @@
|
|||
}).join('');
|
||||
|
||||
html += '</ul>';
|
||||
}
|
||||
|
||||
var elem = $('.subtitleList', page).html(html).trigger('create');
|
||||
|
||||
|
|
|
@ -76,31 +76,18 @@
|
|||
|
||||
function loadChildrenOfRootNode(page, callback, openItems, selectedId) {
|
||||
|
||||
var promise2 = ApiClient.getLiveTvInfo();
|
||||
var promise2 = ApiClient.getLiveTvChannels({limit: 0});
|
||||
|
||||
$.when(promise2).done(function (response2) {
|
||||
|
||||
var liveTvInfo = response2;
|
||||
var result = response2;
|
||||
|
||||
var nodes = [];
|
||||
|
||||
var i, length;
|
||||
|
||||
nodes.push({ attr: { id: 'MediaFolders', rel: 'folder', itemtype: 'mediafolders' }, data: 'Media Folders', state: 'open' });
|
||||
|
||||
for (i = 0, length = liveTvInfo.Services.length; i < length; i++) {
|
||||
|
||||
var service = liveTvInfo.Services[i];
|
||||
|
||||
var name = service.Name;
|
||||
|
||||
var htmlName = "<div class='editorNode'>";
|
||||
|
||||
htmlName += name;
|
||||
|
||||
htmlName += "</div>";
|
||||
|
||||
nodes.push({ attr: { id: name, rel: 'folder', itemtype: 'livetvservice' }, data: htmlName, state: 'closed' });
|
||||
if (result.TotalRecordCount) {
|
||||
nodes.push({ attr: { id: 'livetv', rel: 'folder', itemtype: 'livetv' }, data: 'Live TV', state: 'closed' });
|
||||
}
|
||||
|
||||
callback(nodes);
|
||||
|
@ -164,7 +151,7 @@
|
|||
|
||||
var itemtype = node.attr("itemtype");
|
||||
|
||||
if (itemtype == 'livetvservice') {
|
||||
if (itemtype == 'livetv') {
|
||||
|
||||
loadLiveTvChannels(id, openItems, callback);
|
||||
return;
|
||||
|
@ -256,7 +243,7 @@
|
|||
itemType: data.rslt.obj.attr("itemtype")
|
||||
};
|
||||
|
||||
if (eventData.itemType != 'livetvservice' && eventData.itemType != 'mediafolders') {
|
||||
if (eventData.itemType != 'livetv' && eventData.itemType != 'mediafolders') {
|
||||
$(this).trigger('itemclicked', [eventData]);
|
||||
}
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@
|
|||
});
|
||||
}
|
||||
|
||||
function getLibraryMenu(user, channelCount, items, liveTvInfo) {
|
||||
function getLibraryMenu() {
|
||||
|
||||
var panel = $('#libraryPanel');
|
||||
|
||||
|
@ -146,7 +146,7 @@
|
|||
html += '<a class="lnkMediaFolder viewMenuLink viewMenuTextLink homeViewMenu" href="index.html">Home</a>';
|
||||
html += '<div class="libraryMenuDivider"></div>';
|
||||
|
||||
html += getViewsHtml(user, channelCount, items, liveTvInfo);
|
||||
html += getViewsHtml();
|
||||
html += '</div>';
|
||||
|
||||
html += '</div>';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue