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="readOnlyContent" style="max-width: 700px;">
|
||||||
<div class="subtitleList"></div>
|
<div class="subtitleList"></div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
|
||||||
<h1>${HeaderSearchForSubtitles}</h1>
|
<h1>${HeaderSearchForSubtitles}</h1>
|
||||||
|
|
||||||
<form class="subtitleSearchForm">
|
<form class="subtitleSearchForm">
|
||||||
|
|
|
@ -91,17 +91,25 @@
|
||||||
|
|
||||||
function fillSubtitleList(page, item) {
|
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 || [];
|
var streams = item.MediaStreams || [];
|
||||||
|
|
||||||
html += streams.filter(function (s) {
|
var subs = streams.filter(function (s) {
|
||||||
|
|
||||||
return s.Type == 'Subtitle';
|
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>';
|
itemHtml += '<p>' + (s.Language || 'Unknown language') + '</p>';
|
||||||
|
|
||||||
|
@ -140,6 +148,7 @@
|
||||||
}).join('');
|
}).join('');
|
||||||
|
|
||||||
html += '</ul>';
|
html += '</ul>';
|
||||||
|
}
|
||||||
|
|
||||||
var elem = $('.subtitleList', page).html(html).trigger('create');
|
var elem = $('.subtitleList', page).html(html).trigger('create');
|
||||||
|
|
||||||
|
|
|
@ -76,31 +76,18 @@
|
||||||
|
|
||||||
function loadChildrenOfRootNode(page, callback, openItems, selectedId) {
|
function loadChildrenOfRootNode(page, callback, openItems, selectedId) {
|
||||||
|
|
||||||
var promise2 = ApiClient.getLiveTvInfo();
|
var promise2 = ApiClient.getLiveTvChannels({limit: 0});
|
||||||
|
|
||||||
$.when(promise2).done(function (response2) {
|
$.when(promise2).done(function (response2) {
|
||||||
|
|
||||||
var liveTvInfo = response2;
|
var result = response2;
|
||||||
|
|
||||||
var nodes = [];
|
var nodes = [];
|
||||||
|
|
||||||
var i, length;
|
|
||||||
|
|
||||||
nodes.push({ attr: { id: 'MediaFolders', rel: 'folder', itemtype: 'mediafolders' }, data: 'Media Folders', state: 'open' });
|
nodes.push({ attr: { id: 'MediaFolders', rel: 'folder', itemtype: 'mediafolders' }, data: 'Media Folders', state: 'open' });
|
||||||
|
|
||||||
for (i = 0, length = liveTvInfo.Services.length; i < length; i++) {
|
if (result.TotalRecordCount) {
|
||||||
|
nodes.push({ attr: { id: 'livetv', rel: 'folder', itemtype: 'livetv' }, data: 'Live TV', state: 'closed' });
|
||||||
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' });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
callback(nodes);
|
callback(nodes);
|
||||||
|
@ -164,7 +151,7 @@
|
||||||
|
|
||||||
var itemtype = node.attr("itemtype");
|
var itemtype = node.attr("itemtype");
|
||||||
|
|
||||||
if (itemtype == 'livetvservice') {
|
if (itemtype == 'livetv') {
|
||||||
|
|
||||||
loadLiveTvChannels(id, openItems, callback);
|
loadLiveTvChannels(id, openItems, callback);
|
||||||
return;
|
return;
|
||||||
|
@ -256,7 +243,7 @@
|
||||||
itemType: data.rslt.obj.attr("itemtype")
|
itemType: data.rslt.obj.attr("itemtype")
|
||||||
};
|
};
|
||||||
|
|
||||||
if (eventData.itemType != 'livetvservice' && eventData.itemType != 'mediafolders') {
|
if (eventData.itemType != 'livetv' && eventData.itemType != 'mediafolders') {
|
||||||
$(this).trigger('itemclicked', [eventData]);
|
$(this).trigger('itemclicked', [eventData]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -131,7 +131,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLibraryMenu(user, channelCount, items, liveTvInfo) {
|
function getLibraryMenu() {
|
||||||
|
|
||||||
var panel = $('#libraryPanel');
|
var panel = $('#libraryPanel');
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@
|
||||||
html += '<a class="lnkMediaFolder viewMenuLink viewMenuTextLink homeViewMenu" href="index.html">Home</a>';
|
html += '<a class="lnkMediaFolder viewMenuLink viewMenuTextLink homeViewMenu" href="index.html">Home</a>';
|
||||||
html += '<div class="libraryMenuDivider"></div>';
|
html += '<div class="libraryMenuDivider"></div>';
|
||||||
|
|
||||||
html += getViewsHtml(user, channelCount, items, liveTvInfo);
|
html += getViewsHtml();
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue