1
0
Fork 0
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:
Luke Pulverenti 2014-06-10 13:36:06 -04:00
parent c98448df25
commit c55d6e3511
4 changed files with 46 additions and 51 deletions

View file

@ -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">

View file

@ -91,55 +91,64 @@
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) {
itemHtml += '<p>' + (s.Language || 'Unknown language') + '</p>'; html += '<br/>';
html += '<ul data-role="listview" data-split-icon="delete"><li data-role="list-divider">Current Subtitles</li>';
if (s.IsDefault || s.IsForced) { html += subs.map(function (s) {
var atts = []; var cssClass = s.Path ? 'btnViewSubtitles' : '';
if (s.IsDefault) { var itemHtml = '<li><a class="' + cssClass + '" href="#" data-index="' + s.Index + '">';
atts.push('Default'); itemHtml += '<p>' + (s.Language || 'Unknown language') + '</p>';
}
if (s.IsForced) {
atts.push('Forced'); if (s.IsDefault || s.IsForced) {
var atts = [];
if (s.IsDefault) {
atts.push('Default');
}
if (s.IsForced) {
atts.push('Forced');
}
itemHtml += '<p>' + atts.join(', ') + '</p>';
} }
itemHtml += '<p>' + atts.join(', ') + '</p>'; if (s.Path) {
} itemHtml += '<p>' + (s.Path) + '</p>';
}
if (s.Path) { itemHtml += '</a>';
itemHtml += '<p>' + (s.Path) + '</p>';
}
itemHtml += '</a>'; if (s.Path) {
itemHtml += '<a href="#" data-icon="delete" class="btnDelete" data-index="' + s.Index + '">' + Globalize.translate('Delete') + '</a>';
} else {
itemHtml += '<a href="#" data-icon="delete" style="display:none;" class="btnDelete" data-index="' + s.Index + '">' + Globalize.translate('Delete') + '</a>';
}
if (s.Path) { itemHtml += '</li>';
itemHtml += '<a href="#" data-icon="delete" class="btnDelete" data-index="' + s.Index + '">' + Globalize.translate('Delete') + '</a>';
} else {
itemHtml += '<a href="#" data-icon="delete" style="display:none;" class="btnDelete" data-index="' + s.Index + '">' + Globalize.translate('Delete') + '</a>';
}
itemHtml += '</li>'; return itemHtml;
return itemHtml; }).join('');
}).join(''); html += '</ul>';
}
html += '</ul>';
var elem = $('.subtitleList', page).html(html).trigger('create'); var elem = $('.subtitleList', page).html(html).trigger('create');

View file

@ -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]);
} }

View file

@ -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>';