mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update polymer
This commit is contained in:
parent
568fabb9ca
commit
319d838d6e
48 changed files with 3045 additions and 2348 deletions
|
@ -60,6 +60,42 @@
|
|||
}
|
||||
}
|
||||
|
||||
var viblastKey = 'N8FjNTQ3NDdhZqZhNGI5NWU5ZTI=';
|
||||
|
||||
function requireViblast(callback) {
|
||||
require(['thirdparty/viblast/viblast.js'], function () {
|
||||
|
||||
if (htmlMediaRenderer.customViblastKey) {
|
||||
callback();
|
||||
} else {
|
||||
downloadViblastKey(callback);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function downloadViblastKey(callback) {
|
||||
|
||||
var headers = {};
|
||||
headers['X-Emby-Token'] = 'EMBY_SERVER';
|
||||
|
||||
HttpClient.send({
|
||||
type: 'GET',
|
||||
url: 'https://mb3admin.com/admin/service/registration/getViBlastKey',
|
||||
headers: headers
|
||||
|
||||
}).done(function (key) {
|
||||
|
||||
htmlMediaRenderer.customViblastKey = key;
|
||||
callback();
|
||||
}).fail(function () {
|
||||
callback();
|
||||
});
|
||||
}
|
||||
|
||||
function getViblastKey() {
|
||||
return htmlMediaRenderer.customViblastKey || viblastKey;
|
||||
}
|
||||
|
||||
function onOneVideoPlaying() {
|
||||
|
||||
var requiresNativeControls = !self.enableCustomVideoControls();
|
||||
|
@ -85,7 +121,7 @@
|
|||
var element = this;
|
||||
setTimeout(function () {
|
||||
element.currentTime = startPositionInSeekParam;
|
||||
}, 3000);
|
||||
}, 2500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -175,6 +211,8 @@
|
|||
.on('error', onError)[0];
|
||||
}
|
||||
|
||||
// Save this for when playback stops, because querying the time at that point might return 0
|
||||
var _currentTime;
|
||||
self.currentTime = function (val) {
|
||||
|
||||
if (mediaElement) {
|
||||
|
@ -183,6 +221,10 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if (_currentTime) {
|
||||
return _currentTime * 1000;
|
||||
}
|
||||
|
||||
return (mediaElement.currentTime || 0) * 1000;
|
||||
}
|
||||
};
|
||||
|
@ -201,11 +243,10 @@
|
|||
mediaElement.pause();
|
||||
|
||||
if (isViblastStarted) {
|
||||
requirejs(['thirdparty/viblast.js'], function () {
|
||||
_currentTime = mediaElement.currentTime;
|
||||
|
||||
viblast(mediaElement).stop();
|
||||
isViblastStarted = false;
|
||||
});
|
||||
viblast(mediaElement).stop();
|
||||
isViblastStarted = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -270,7 +311,7 @@
|
|||
setTracks(elem, tracks || []);
|
||||
|
||||
viblast(elem).setup({
|
||||
key: 'N8FjNTQ3NDdhZqZhNGI5NWU5ZTI=',
|
||||
key: getViblastKey(),
|
||||
stream: val
|
||||
});
|
||||
|
||||
|
@ -322,6 +363,7 @@
|
|||
self.cleanup = function (destroyRenderer) {
|
||||
|
||||
self.setCurrentSrc(null);
|
||||
_currentTime = null;
|
||||
|
||||
var elem = mediaElement;
|
||||
|
||||
|
@ -459,7 +501,7 @@
|
|||
|
||||
if (options.type == 'video' && enableViblast()) {
|
||||
|
||||
requirejs(['thirdparty/viblast.js'], function () {
|
||||
requireViblast(function () {
|
||||
|
||||
deferred.resolve();
|
||||
});
|
||||
|
|
|
@ -135,9 +135,7 @@
|
|||
name = item.ParentIndexNumber + "." + name;
|
||||
}
|
||||
|
||||
$('#itemName', page).html(name);
|
||||
|
||||
Dashboard.setPageTitle(name);
|
||||
LibraryMenu.setTitle(name);
|
||||
|
||||
$(page).trigger('displayingitem', [{
|
||||
|
||||
|
@ -147,16 +145,6 @@
|
|||
LibraryBrowser.setLastRefreshed(page);
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
|
||||
Dashboard.getCurrentUser().done(function (user) {
|
||||
|
||||
if (user.Policy.IsAdministrator && query.ParentId && !AppInfo.isNativeApp) {
|
||||
$('#editButtonContainer', page).show();
|
||||
} else {
|
||||
$('#editButtonContainer', page).hide();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function updateFilterControls(page) {
|
||||
|
@ -247,11 +235,6 @@
|
|||
LibraryBrowser.saveViewSetting(getParameterByName('parentId'), view);
|
||||
});
|
||||
|
||||
$('#btnEdit', page).on('click', function () {
|
||||
|
||||
Dashboard.navigate("edititemmetadata.html?id=" + currentItem.Id);
|
||||
});
|
||||
|
||||
$('.alphabetPicker', this).on('alphaselect', function (e, character) {
|
||||
|
||||
var query = getQuery();
|
||||
|
|
|
@ -372,7 +372,7 @@
|
|||
var section = this.getElementsByClassName('sectionName')[0];
|
||||
var text = section ? section.innerHTML : this.innerHTML;
|
||||
|
||||
document.querySelector('.libraryMenuButtonText').innerHTML = text;
|
||||
LibraryMenu.setTitle(text);
|
||||
}
|
||||
|
||||
function updateLibraryMenu(user) {
|
||||
|
@ -495,11 +495,6 @@
|
|||
});
|
||||
}
|
||||
|
||||
function setLibraryMenuText(text) {
|
||||
|
||||
document.querySelector('.libraryMenuButtonText').innerHTML = '<span>' + text + '</span>';
|
||||
}
|
||||
|
||||
function getTopParentId() {
|
||||
|
||||
return getParameterByName('topParentId') || null;
|
||||
|
@ -508,8 +503,6 @@
|
|||
window.LibraryMenu = {
|
||||
getTopParentId: getTopParentId,
|
||||
|
||||
setText: setLibraryMenuText,
|
||||
|
||||
onLinkClicked: function (event, link) {
|
||||
|
||||
if (event.which != 1) {
|
||||
|
@ -558,6 +551,10 @@
|
|||
// There doesn't seem to be a way to detect if the drawer is in the process of opening, so try to handle that here
|
||||
Dashboard.navigate('dashboard.html');
|
||||
return false;
|
||||
},
|
||||
|
||||
setTitle: function (title) {
|
||||
document.querySelector('.libraryMenuButtonText').innerHTML = title;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -647,20 +644,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
function updateContextText(page) {
|
||||
|
||||
var name = page.getAttribute('data-contextname');
|
||||
|
||||
if (name) {
|
||||
|
||||
document.querySelector('.libraryMenuButtonText').innerHTML = '<span>' + name + '</span>';
|
||||
|
||||
}
|
||||
else if (page.classList.contains('allLibraryPage') || page.classList.contains('type-interior')) {
|
||||
document.querySelector('.libraryMenuButtonText').innerHTML = Globalize.translate('ButtonHome');
|
||||
}
|
||||
}
|
||||
|
||||
function onWebSocketMessage(e, data) {
|
||||
|
||||
var msg = data;
|
||||
|
@ -700,14 +683,12 @@
|
|||
updateCastIcon();
|
||||
|
||||
updateLibraryNavLinks(page);
|
||||
updateContextText(page);
|
||||
requiresViewMenuRefresh = false;
|
||||
|
||||
ConnectionManager.user(window.ApiClient).done(addUserToHeader);
|
||||
|
||||
} else {
|
||||
viewMenuBar.classList.remove('hide');
|
||||
updateContextText(page);
|
||||
updateLibraryNavLinks(page);
|
||||
updateViewMenuBarHeadroom(page, viewMenuBar);
|
||||
requiresViewMenuRefresh = false;
|
||||
|
@ -743,10 +724,16 @@
|
|||
var isLibraryPage = page.classList.contains('libraryPage');
|
||||
var darkDrawer = false;
|
||||
|
||||
var title = page.getAttribute('data-title') || page.getAttribute('data-contextname');
|
||||
|
||||
if (title) {
|
||||
LibraryMenu.setTitle(title);
|
||||
}
|
||||
|
||||
var titleKey = getParameterByName('titlekey');
|
||||
|
||||
if (titleKey) {
|
||||
document.querySelector('.libraryMenuButtonText').innerHTML = Globalize.translate(titleKey);
|
||||
LibraryMenu.setTitle(Globalize.translate(titleKey));
|
||||
}
|
||||
|
||||
if (page.getAttribute('data-menubutton') == 'false') {
|
||||
|
|
|
@ -1102,14 +1102,6 @@
|
|||
errorMsg += '</p>';
|
||||
}
|
||||
|
||||
if ($.browser.msie && !$.browser.mobile && !self.canPlayWebm()) {
|
||||
errorMsg += '<p>';
|
||||
errorMsg += '<a href="https://tools.google.com/dlpage/webmmf/" target="_blank">';
|
||||
errorMsg += Globalize.translate('MessageInternetExplorerWebm');
|
||||
errorMsg += '</a>';
|
||||
errorMsg += '</p>';
|
||||
}
|
||||
|
||||
Dashboard.alert({
|
||||
title: Globalize.translate('HeaderVideoError'),
|
||||
message: errorMsg
|
||||
|
|
|
@ -545,14 +545,14 @@
|
|||
|
||||
// viblast can help us here
|
||||
//return true;
|
||||
//return window.MediaSource != null;
|
||||
return window.MediaSource != null;
|
||||
}
|
||||
|
||||
if ($.browser.msie) {
|
||||
|
||||
// viblast can help us here
|
||||
//return true;
|
||||
//return window.MediaSource != null;
|
||||
return window.MediaSource != null;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -742,6 +742,8 @@
|
|||
|
||||
self.play = function (options) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
Dashboard.getCurrentUser().done(function (user) {
|
||||
|
||||
if (options.items) {
|
||||
|
@ -775,6 +777,11 @@
|
|||
|
||||
var firstItem = items[0];
|
||||
|
||||
if (firstItem.MediaType === "Video") {
|
||||
|
||||
Dashboard.showModalLoadingMsg();
|
||||
}
|
||||
|
||||
if (options.startPositionTicks || firstItem.MediaType !== 'Video') {
|
||||
|
||||
self.playInternal(firstItem, options.startPositionTicks, function () {
|
||||
|
@ -929,6 +936,7 @@
|
|||
}
|
||||
|
||||
if (item.IsPlaceHolder) {
|
||||
Dashboard.hideModalLoadingMsg();
|
||||
MediaController.showPlaybackInfoErrorMessage('PlaceHolder');
|
||||
return;
|
||||
}
|
||||
|
@ -1666,7 +1674,13 @@
|
|||
|
||||
function sendProgressUpdate() {
|
||||
|
||||
var state = self.getPlayerStateInternal(self.currentMediaRenderer, self.currentItem, self.currentMediaSource);
|
||||
var mediaRenderer = self.currentMediaRenderer;
|
||||
|
||||
if (mediaRenderer.enableProgressReporting === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
var state = self.getPlayerStateInternal(mediaRenderer, self.currentItem, self.currentMediaSource);
|
||||
|
||||
var info = {
|
||||
QueueableMediaTypes: state.NowPlayingItem.MediaType,
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
var user = response2[0];
|
||||
var item = response3[0];
|
||||
|
||||
$('.playlistName', page).html(item.Name);
|
||||
LibraryMenu.setTitle(item.Name);
|
||||
|
||||
_childrenItemsFunction = getItemsFunction(query);
|
||||
|
||||
|
|
|
@ -72,7 +72,6 @@
|
|||
items: result.Items,
|
||||
shape: "backdrop",
|
||||
preferThumb: true,
|
||||
context: 'tv',
|
||||
lazy: true,
|
||||
overlayText: true
|
||||
});
|
||||
|
@ -84,7 +83,6 @@
|
|||
items: result.Items,
|
||||
shape: "backdrop",
|
||||
preferThumb: true,
|
||||
context: 'tv',
|
||||
lazy: true,
|
||||
cardLayout: true,
|
||||
showTitle: true,
|
||||
|
@ -97,7 +95,6 @@
|
|||
items: result.Items,
|
||||
shape: "banner",
|
||||
preferBanner: true,
|
||||
context: 'tv',
|
||||
lazy: true
|
||||
});
|
||||
}
|
||||
|
@ -105,33 +102,38 @@
|
|||
|
||||
html = LibraryBrowser.getListViewHtml({
|
||||
items: result.Items,
|
||||
context: 'tv',
|
||||
sortBy: query.SortBy
|
||||
});
|
||||
trigger = true;
|
||||
}
|
||||
else if (view == "PosterCard") {
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "portrait",
|
||||
context: 'tv',
|
||||
showTitle: true,
|
||||
showYear: true,
|
||||
lazy: true,
|
||||
cardLayout: true
|
||||
});
|
||||
}
|
||||
else {
|
||||
|
||||
// Poster
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
var posterOptions = {
|
||||
items: result.Items,
|
||||
shape: "portrait",
|
||||
context: 'tv',
|
||||
shape: "auto",
|
||||
centerText: true,
|
||||
lazy: true,
|
||||
overlayText: true
|
||||
});
|
||||
};
|
||||
|
||||
if (query.IncludeItemTypes == "MusicAlbum") {
|
||||
posterOptions.overlayText = false;
|
||||
posterOptions.showParentTitle = true;
|
||||
posterOptions.overlayPlayButton = true;
|
||||
}
|
||||
else if (query.IncludeItemTypes == "MusicArtist") {
|
||||
posterOptions.overlayText = false;
|
||||
posterOptions.overlayPlayButton = true;
|
||||
}
|
||||
else if (query.IncludeItemTypes == "Episode") {
|
||||
posterOptions.overlayText = false;
|
||||
posterOptions.showParentTitle = true;
|
||||
posterOptions.overlayPlayButton = true;
|
||||
posterOptions.centerText = false;
|
||||
}
|
||||
|
||||
// Poster
|
||||
html = LibraryBrowser.getPosterViewHtml(posterOptions);
|
||||
}
|
||||
|
||||
var elem = page.querySelector('#items');
|
||||
|
|
|
@ -332,7 +332,7 @@
|
|||
|
||||
var text = textElem.html();
|
||||
|
||||
LibraryMenu.setText(text);
|
||||
LibraryMenu.setTitle(text);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue