mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Migration of themeMediaPlayer to ES6 module
This commit is contained in:
parent
42ac558a17
commit
e813f64cd2
2 changed files with 88 additions and 88 deletions
|
@ -167,6 +167,7 @@
|
||||||
"src/components/syncPlay/playbackPermissionManager.js",
|
"src/components/syncPlay/playbackPermissionManager.js",
|
||||||
"src/components/syncPlay/syncPlayManager.js",
|
"src/components/syncPlay/syncPlayManager.js",
|
||||||
"src/components/syncPlay/timeSyncManager.js",
|
"src/components/syncPlay/timeSyncManager.js",
|
||||||
|
"src/components/themeMediaPlayer.js",
|
||||||
"src/components/toast/toast.js",
|
"src/components/toast/toast.js",
|
||||||
"src/components/upnextdialog/upnextdialog.js",
|
"src/components/upnextdialog/upnextdialog.js",
|
||||||
"src/components/viewContainer.js",
|
"src/components/viewContainer.js",
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
define(['playbackManager', 'userSettings', 'connectionManager'], function (playbackManager, userSettings, connectionManager) {
|
import playbackManager from 'playbackManager';
|
||||||
'use strict';
|
import userSettings from 'userSettings';
|
||||||
|
import connectionManager from 'connectionManager';
|
||||||
|
|
||||||
playbackManager = playbackManager.default || playbackManager;
|
let currentOwnerId;
|
||||||
|
let currentThemeIds = [];
|
||||||
|
|
||||||
var currentOwnerId;
|
function playThemeMedia(items, ownerId) {
|
||||||
var currentThemeIds = [];
|
const currentThemeItems = items.filter(function (i) {
|
||||||
|
|
||||||
function playThemeMedia(items, ownerId) {
|
|
||||||
var currentThemeItems = items.filter(function (i) {
|
|
||||||
return enabled(i.MediaType);
|
return enabled(i.MediaType);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -32,27 +31,27 @@ define(['playbackManager', 'userSettings', 'connectionManager'], function (playb
|
||||||
} else {
|
} else {
|
||||||
stopIfPlaying();
|
stopIfPlaying();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function stopIfPlaying() {
|
function stopIfPlaying() {
|
||||||
if (currentOwnerId) {
|
if (currentOwnerId) {
|
||||||
playbackManager.stop();
|
playbackManager.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
currentOwnerId = null;
|
currentOwnerId = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function enabled(mediaType) {
|
function enabled(mediaType) {
|
||||||
if (mediaType === 'Video') {
|
if (mediaType === 'Video') {
|
||||||
return userSettings.enableThemeVideos();
|
return userSettings.enableThemeVideos();
|
||||||
}
|
}
|
||||||
|
|
||||||
return userSettings.enableThemeSongs();
|
return userSettings.enableThemeSongs();
|
||||||
}
|
}
|
||||||
|
|
||||||
var excludeTypes = ['CollectionFolder', 'UserView', 'Program', 'SeriesTimer', 'Person', 'TvChannel', 'Channel'];
|
const excludeTypes = ['CollectionFolder', 'UserView', 'Program', 'SeriesTimer', 'Person', 'TvChannel', 'Channel'];
|
||||||
|
|
||||||
function loadThemeMedia(item) {
|
function loadThemeMedia(item) {
|
||||||
if (item.CollectionType) {
|
if (item.CollectionType) {
|
||||||
stopIfPlaying();
|
stopIfPlaying();
|
||||||
return;
|
return;
|
||||||
|
@ -63,41 +62,41 @@ define(['playbackManager', 'userSettings', 'connectionManager'], function (playb
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var apiClient = connectionManager.getApiClient(item.ServerId);
|
const apiClient = connectionManager.getApiClient(item.ServerId);
|
||||||
apiClient.getThemeMedia(apiClient.getCurrentUserId(), item.Id, true).then(function (themeMediaResult) {
|
apiClient.getThemeMedia(apiClient.getCurrentUserId(), item.Id, true).then(function (themeMediaResult) {
|
||||||
var ownerId = themeMediaResult.ThemeVideosResult.Items.length ? themeMediaResult.ThemeVideosResult.OwnerId : themeMediaResult.ThemeSongsResult.OwnerId;
|
const ownerId = themeMediaResult.ThemeVideosResult.Items.length ? themeMediaResult.ThemeVideosResult.OwnerId : themeMediaResult.ThemeSongsResult.OwnerId;
|
||||||
|
|
||||||
if (ownerId !== currentOwnerId) {
|
if (ownerId !== currentOwnerId) {
|
||||||
var items = themeMediaResult.ThemeVideosResult.Items.length ? themeMediaResult.ThemeVideosResult.Items : themeMediaResult.ThemeSongsResult.Items;
|
const items = themeMediaResult.ThemeVideosResult.Items.length ? themeMediaResult.ThemeVideosResult.Items : themeMediaResult.ThemeSongsResult.Items;
|
||||||
|
|
||||||
playThemeMedia(items, ownerId);
|
playThemeMedia(items, ownerId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
document.addEventListener('viewshow', function (e) {
|
document.addEventListener('viewshow', function (e) {
|
||||||
var state = e.detail.state || {};
|
const state = e.detail.state || {};
|
||||||
var item = state.item;
|
const item = state.item;
|
||||||
|
|
||||||
if (item && item.ServerId) {
|
if (item && item.ServerId) {
|
||||||
loadThemeMedia(item);
|
loadThemeMedia(item);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var viewOptions = e.detail.options || {};
|
const viewOptions = e.detail.options || {};
|
||||||
|
|
||||||
if (viewOptions.supportsThemeMedia) {
|
if (viewOptions.supportsThemeMedia) {
|
||||||
// Do nothing here, allow it to keep playing
|
// Do nothing here, allow it to keep playing
|
||||||
} else {
|
} else {
|
||||||
playThemeMedia([], null);
|
playThemeMedia([], null);
|
||||||
}
|
}
|
||||||
}, true);
|
}, true);
|
||||||
|
|
||||||
Events.on(playbackManager, 'playbackstart', function (e, player) {
|
Events.on(playbackManager, 'playbackstart', function (e, player) {
|
||||||
var item = playbackManager.currentItem(player);
|
const item = playbackManager.currentItem(player);
|
||||||
// User played something manually
|
// User played something manually
|
||||||
if (currentThemeIds.indexOf(item.Id) == -1) {
|
if (currentThemeIds.indexOf(item.Id) == -1) {
|
||||||
currentOwnerId = null;
|
currentOwnerId = null;
|
||||||
}
|
}
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue