mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update plugin catalog
This commit is contained in:
parent
65ed0d3d3c
commit
4094adb5a7
11 changed files with 425 additions and 438 deletions
|
@ -11,18 +11,16 @@
|
|||
<ul></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="editPageInnerContent" style="display: none;">
|
||||
<div class="editPageInnerContent">
|
||||
<h1 class="itemName editPageName"> </h1>
|
||||
<br />
|
||||
<paper-tabs>
|
||||
<paper-tab class="metadataTabButton">${TabMetadata}</paper-tab>
|
||||
<paper-tab class="subtitleTabButton">${TabSubtitles}</paper-tab>
|
||||
<paper-tab class="collectionItemsTabButton">${TabCollectionTitles}</paper-tab>
|
||||
<paper-tab class="subtitleTabButton hide">${TabSubtitles}</paper-tab>
|
||||
<paper-tab class="collectionItemsTabButton hide">${TabCollectionTitles}</paper-tab>
|
||||
<paper-tab class="imagesTabButton">${TabImages}</paper-tab>
|
||||
</paper-tabs>
|
||||
|
||||
<neon-animated-pages>
|
||||
<neon-animatable>
|
||||
<div class="editorTab">
|
||||
|
||||
<form class="editItemMetadataForm editMetadataForm">
|
||||
|
@ -229,6 +227,7 @@
|
|||
<paper-input id="txtDisplayMediaType" type="text" label="${LabelTreatImageAs}"></paper-input>
|
||||
</div>
|
||||
<div id="fldDisplaySpecialsInline" class="fldDisplaySetting">
|
||||
<br/>
|
||||
<paper-checkbox id="chkDisplaySpecialsInline">${LabelDisplaySpecialsWithinSeasons}</paper-checkbox>
|
||||
</div>
|
||||
<div id="fldDisplayOrder" class="fldDisplaySetting">
|
||||
|
@ -339,13 +338,12 @@
|
|||
|
||||
</form>
|
||||
</div>
|
||||
</neon-animatable>
|
||||
<neon-animatable>
|
||||
<div class="editorTab subtitleTabContent">
|
||||
<br />
|
||||
<div class="readOnlyContent" style="max-width: 700px;">
|
||||
<div class="subtitleList"></div>
|
||||
</div>
|
||||
<br/>
|
||||
<h1>${HeaderSearchForSubtitles}</h1>
|
||||
|
||||
<form class="subtitleSearchForm">
|
||||
|
@ -363,8 +361,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</neon-animatable>
|
||||
<neon-animatable>
|
||||
<div class="editorTab collectionItemsTabContent">
|
||||
<p style="margin:1.5em 0;">
|
||||
${EditCollectionItemsHelp}
|
||||
|
@ -377,8 +373,6 @@
|
|||
<br />
|
||||
<div class="collectionItems"></div>
|
||||
</div>
|
||||
</neon-animatable>
|
||||
<neon-animatable>
|
||||
<div class="editorTab imageEditorTab">
|
||||
<div style="margin:2em 0 .5em;text-align:center;">
|
||||
|
||||
|
@ -406,8 +400,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</neon-animatable>
|
||||
</neon-animated-pages>
|
||||
</div>
|
||||
</div>
|
||||
<div data-role="content">
|
||||
|
|
|
@ -254,7 +254,7 @@
|
|||
|
||||
$('.collectionItemSearchForm').off('submit', onSearchFormSubmit).on('submit', onSearchFormSubmit);
|
||||
|
||||
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
|
||||
$(page.querySelector('paper-tabs')).on('tabchange', function () {
|
||||
|
||||
if (parseInt(this.selected) == 2) {
|
||||
var tabContent = page.querySelector('.collectionItemsTabContent');
|
||||
|
|
|
@ -565,7 +565,7 @@
|
|||
return false;
|
||||
});
|
||||
|
||||
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
|
||||
$(page.querySelector('paper-tabs')).on('tabchange', function () {
|
||||
|
||||
if (parseInt(this.selected) == 3) {
|
||||
var tabContent = page.querySelector('.imageEditorTab');
|
||||
|
|
|
@ -47,15 +47,15 @@
|
|||
fillItemInfo(page, item, metadataEditorInfo.ParentalRatingOptions);
|
||||
|
||||
if (item.Type == "BoxSet") {
|
||||
$('.collectionItemsTabButton', page).show();
|
||||
page.querySelector('.collectionItemsTabButton').classList.remove('hide');
|
||||
} else {
|
||||
$('.collectionItemsTabButton', page).hide();
|
||||
page.querySelector('.collectionItemsTabButton').classList.add('hide');
|
||||
}
|
||||
|
||||
if (item.MediaType == "Video" && item.LocationType == "FileSystem" && item.Type !== 'TvChannel') {
|
||||
$('.subtitleTabButton', page).show();
|
||||
page.querySelector('.subtitleTabButton').classList.remove('hide');
|
||||
} else {
|
||||
$('.subtitleTabButton', page).hide();
|
||||
page.querySelector('.subtitleTabButton').classList.add('hide');
|
||||
}
|
||||
|
||||
if (item.MediaType == 'Photo') {
|
||||
|
@ -1415,6 +1415,11 @@
|
|||
});
|
||||
}
|
||||
|
||||
function showTab(page, index) {
|
||||
|
||||
$('.editorTab', page).addClass('hide')[index].classList.remove('hide');
|
||||
}
|
||||
|
||||
$(document).on('pageinitdepends', "#editItemMetadataPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
@ -1455,7 +1460,7 @@
|
|||
|
||||
//$.mobile.urlHistory.ignoreNextHashChange = true;
|
||||
window.location.hash = 'editItemMetadataPage?id=' + data.id;
|
||||
$(page.querySelector('neon-animated-pages')).trigger('tabchange');
|
||||
$(page.querySelector('paper-tabs')).trigger('tabchange');
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -1470,22 +1475,16 @@
|
|||
$('.popupAdvancedRefreshForm').off('submit', EditItemMetadataPage.onRefreshFormSubmit).on('submit', EditItemMetadataPage.onRefreshFormSubmit);
|
||||
$('.identifyOptionsForm').off('submit', EditItemMetadataPage.onIdentificationOptionsSubmit).on('submit', EditItemMetadataPage.onIdentificationOptionsSubmit);
|
||||
|
||||
$(page.querySelector('paper-tabs')).on('iron-select', function () {
|
||||
page.querySelector('neon-animated-pages').selected = this.selected;
|
||||
});
|
||||
|
||||
var tabs = page.querySelector('paper-tabs');
|
||||
var pages = page.querySelector('neon-animated-pages');
|
||||
|
||||
configurePaperLibraryTabs(page, tabs, pages);
|
||||
configurePaperLibraryTabs(page, tabs);
|
||||
|
||||
$(tabs).on('iron-select', function () {
|
||||
Events.trigger(this, 'tabchange');
|
||||
|
||||
}).on('tabchange', function () {
|
||||
var selected = this.selected;
|
||||
|
||||
page.querySelector('neon-animated-pages').selected = selected;
|
||||
});
|
||||
|
||||
$(pages).on('tabchange', function () {
|
||||
showTab(page, selected);
|
||||
loadTab(page, parseInt(this.selected));
|
||||
});
|
||||
|
||||
|
@ -1503,15 +1502,7 @@
|
|||
|
||||
var selected = parseInt(getParameterByName('tab') || '0');
|
||||
|
||||
page.querySelector('paper-tabs').selected = 0;
|
||||
|
||||
if (selected) {
|
||||
|
||||
// Looks like a bug in paper-tabs. It won't set the tab if we try to do it too quickly
|
||||
setTimeout(function () {
|
||||
page.querySelector('paper-tabs').selected = selected;
|
||||
}, 700);
|
||||
}
|
||||
|
||||
}).on('pagebeforehide', "#editItemMetadataPage", function () {
|
||||
|
||||
|
@ -1522,21 +1513,30 @@
|
|||
|
||||
});
|
||||
|
||||
function configurePaperLibraryTabs(ownerpage, tabs, pages) {
|
||||
function configurePaperLibraryTabs(ownerpage, tabs) {
|
||||
|
||||
tabs.hideScrollButtons = true;
|
||||
tabs.noSlide = true;
|
||||
tabs.noink = true;
|
||||
|
||||
$(ownerpage).on('pagebeforeshowready', LibraryBrowser.onTabbedPageBeforeShowReady);
|
||||
$(ownerpage).on('pagebeforeshowready', function () {
|
||||
|
||||
$(pages).on('iron-select', function () {
|
||||
var selected = tabs.selected;
|
||||
|
||||
// When transition animations are used, add a content loading delay to allow the animations to finish
|
||||
// Otherwise with both operations happening at the same time, it can cause the animation to not run at full speed.
|
||||
var delay = 500;
|
||||
var pgs = this;
|
||||
setTimeout(function () {
|
||||
$(pgs).trigger('tabchange');
|
||||
}, delay);
|
||||
if (selected == null) {
|
||||
|
||||
Logger.log('selected tab is null, checking query string');
|
||||
|
||||
selected = parseInt(getParameterByName('tab') || '0');
|
||||
|
||||
Logger.log('selected tab will be ' + selected);
|
||||
|
||||
tabs.selected = selected;
|
||||
Events.trigger(tabs, 'tabchange');
|
||||
|
||||
} else {
|
||||
Events.trigger(tabs, 'tabchange');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1548,6 +1548,7 @@
|
|||
reload(page);
|
||||
break;
|
||||
default:
|
||||
reload(page);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -287,7 +287,7 @@
|
|||
|
||||
$('.subtitleSearchForm').off('submit', onSearchSubmit).on('submit', onSearchSubmit);
|
||||
|
||||
$(page.querySelector('neon-animated-pages')).on('tabchange', function () {
|
||||
$(page.querySelector('paper-tabs')).on('tabchange', function () {
|
||||
|
||||
if (parseInt(this.selected) == 1) {
|
||||
var tabContent = page.querySelector('.subtitleTabContent');
|
||||
|
|
|
@ -402,8 +402,6 @@
|
|||
|
||||
}).on('pagebeforeshowready', ".metadataEditorPage", function () {
|
||||
|
||||
window.MetadataEditor = new metadataEditor();
|
||||
|
||||
var page = this;
|
||||
|
||||
Dashboard.getCurrentUser().done(function (user) {
|
||||
|
@ -430,6 +428,7 @@
|
|||
}).on('pageinitdepends', ".metadataEditorPage", function () {
|
||||
|
||||
Dashboard.importCss('css/metadataeditor.css');
|
||||
window.MetadataEditor = new metadataEditor();
|
||||
|
||||
}).on('pagebeforehide', ".metadataEditorPage", function () {
|
||||
|
||||
|
@ -482,7 +481,6 @@
|
|||
return query;
|
||||
};
|
||||
|
||||
|
||||
self.loadJsTree = function () {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
|
|
@ -336,11 +336,12 @@
|
|||
|
||||
requiresSettingStartTimeOnStart = false;
|
||||
var startTime = getStartTime(val);
|
||||
var playNow = false;
|
||||
|
||||
if (elem.tagName.toLowerCase() == 'audio') {
|
||||
|
||||
elem.src = val;
|
||||
elem.play();
|
||||
playNow = true;
|
||||
|
||||
}
|
||||
else {
|
||||
|
@ -376,10 +377,12 @@
|
|||
} else {
|
||||
|
||||
elem.src = val;
|
||||
elem.autoplay = true;
|
||||
|
||||
setTracks(elem, tracks);
|
||||
|
||||
$(elem).one("loadedmetadata", onLoadedMetadata);
|
||||
playNow = true;
|
||||
}
|
||||
|
||||
var currentTrackIndex = -1;
|
||||
|
@ -394,6 +397,10 @@
|
|||
}
|
||||
|
||||
currentSrc = val;
|
||||
|
||||
if (playNow) {
|
||||
elem.play();
|
||||
}
|
||||
};
|
||||
|
||||
function setTracks(elem, tracks) {
|
||||
|
|
|
@ -563,10 +563,8 @@
|
|||
}
|
||||
|
||||
if (user.Policy.IsAdministrator) {
|
||||
if (item.Type != "Recording" && item.Type != "Program") {
|
||||
commands.push('edit');
|
||||
}
|
||||
}
|
||||
|
||||
commands.push('refresh');
|
||||
|
||||
|
@ -1216,9 +1214,7 @@
|
|||
// itemCommands.push('playmenu');
|
||||
//}
|
||||
|
||||
if (item.Type != "Recording" && item.Type != "Program") {
|
||||
itemCommands.push('edit');
|
||||
}
|
||||
|
||||
if (item.LocalTrailerCount) {
|
||||
itemCommands.push('trailer');
|
||||
|
|
|
@ -946,15 +946,17 @@
|
|||
// This will start the transcoding process before actually feeding the video url into the player
|
||||
if ($.browser.safari && !mediaSource.RunTimeTicks) {
|
||||
|
||||
Dashboard.showModalLoadingMsg();
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ApiClient.ajax({
|
||||
type: 'GET',
|
||||
url: streamInfo.url.replace('master.m3u8', 'live.m3u8')
|
||||
}).always(function () {
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
||||
}).done(function () {
|
||||
self.playVideoInternal(item, mediaSource, startPosition, streamInfo, callback);
|
||||
}).fail(function() {
|
||||
Dashboard.hideModalLoadingMsg();
|
||||
});
|
||||
|
||||
} else {
|
||||
|
@ -1057,8 +1059,6 @@
|
|||
|
||||
}).one("playing.mediaplayerevent", function () {
|
||||
|
||||
Dashboard.hideModalLoadingMsg();
|
||||
|
||||
// For some reason this is firing at the start, so don't bind until playback has begun
|
||||
$(this).on("ended", self.onPlaybackStopped).one('ended', self.playNextAfterEnded);
|
||||
|
||||
|
@ -1091,7 +1091,6 @@
|
|||
|
||||
}).on("error.mediaplayerevent", function () {
|
||||
|
||||
Dashboard.hideModalLoadingMsg();
|
||||
self.stop();
|
||||
|
||||
var errorMsg = Globalize.translate('MessageErrorPlayingVideo');
|
||||
|
|
|
@ -1018,6 +1018,7 @@
|
|||
|
||||
function playInternalPostMediaSourceSelection(item, mediaSource, startPosition, callback) {
|
||||
|
||||
Dashboard.hideModalLoadingMsg();
|
||||
|
||||
self.currentMediaSource = mediaSource;
|
||||
self.currentItem = item;
|
||||
|
@ -1030,7 +1031,6 @@
|
|||
|
||||
} else if (item.MediaType === "Audio") {
|
||||
|
||||
Dashboard.hideModalLoadingMsg();
|
||||
playAudio(item, self.currentMediaSource, startPosition, callback);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,13 +88,6 @@
|
|||
return -1;
|
||||
}
|
||||
|
||||
if (a.installs > b.installs) {
|
||||
return 1;
|
||||
}
|
||||
if (b.installs > a.installs) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
});
|
||||
|
||||
|
@ -108,7 +101,7 @@
|
|||
html += '<div class="detailSectionHeader">' + currentCategory + '</div>';
|
||||
var topPlugins = allPlugins.slice(0).sort(function (a, b) {
|
||||
|
||||
if (a.installs > b.installs) {
|
||||
if (a.installs < b.installs) {
|
||||
return 1;
|
||||
}
|
||||
if (b.installs > a.installs) {
|
||||
|
@ -129,6 +122,7 @@
|
|||
});
|
||||
|
||||
var limit = screen.availWidth >= 1920 ? 15 : 12;
|
||||
|
||||
for (i = 0, length = Math.min(topPlugins.length, limit) ; i < length; i++) {
|
||||
html += getPluginHtml(topPlugins[i], options, installedPlugins);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue