From a71b0314d4652d17dbc22b9c551d146df6493fc9 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 8 Sep 2020 02:05:02 -0400 Subject: [PATCH] Fix apiclient imports --- src/components/activitylog.js | 6 +- src/components/appRouter.js | 12 +- src/components/apphost.js | 4 +- .../displaySettings/displaySettings.js | 4 +- src/components/filterdialog/filterdialog.js | 4 +- src/components/guide/guide.js | 22 ++-- .../homeScreenSettings/homeScreenSettings.js | 4 +- src/components/htmlMediaHelper.js | 6 +- src/components/itemsrefresher.js | 6 +- src/components/layoutManager.js | 4 +- src/components/maintabsmanager.js | 6 +- src/components/notifications/notifications.js | 18 +-- src/components/nowPlayingBar/nowPlayingBar.js | 40 +++---- src/components/playback/brightnessosd.js | 12 +- src/components/playback/mediasession.js | 28 ++--- src/components/playback/playbackmanager.js | 108 +++++++++--------- .../playback/playbackorientation.js | 6 +- .../playback/playerSelectionMenu.js | 10 +- .../playback/remotecontrolautoplay.js | 4 +- src/components/playback/volumeosd.js | 12 +- .../playbackSettings/playbackSettings.js | 4 +- src/components/playerstats/playerstats.js | 6 +- src/components/pluginManager.js | 4 +- .../recordingcreator/recordingcreator.js | 6 +- .../recordingcreator/recordingfields.js | 22 ++-- src/components/remotecontrol/remotecontrol.js | 54 ++++----- src/components/search/searchfields.js | 4 +- .../subtitlesettings/subtitlesettings.js | 4 +- src/components/syncPlay/groupSelectionMenu.js | 4 +- src/components/syncPlay/syncPlayManager.js | 62 +++++----- src/components/syncPlay/timeSyncManager.js | 6 +- src/components/upnextdialog/upnextdialog.js | 4 +- src/controllers/dashboard/dashboard.js | 30 ++--- .../scheduledtasks/scheduledtasks.js | 6 +- src/controllers/itemDetails/index.js | 10 +- src/controllers/livetv/livetvchannels.js | 4 +- src/controllers/livetvguideprovider.js | 4 +- src/controllers/movies/movies.js | 4 +- src/controllers/movies/moviesrecommended.js | 4 +- src/controllers/movies/movietrailers.js | 4 +- src/controllers/music/musicalbums.js | 5 +- src/controllers/music/musicartists.js | 4 +- src/controllers/music/songs.js | 4 +- src/controllers/playback/video/index.js | 48 ++++---- src/controllers/searchpage.js | 4 +- src/controllers/shows/episodes.js | 4 +- src/controllers/shows/tvrecommended.js | 10 +- src/controllers/shows/tvshows.js | 4 +- .../emby-itemrefreshindicator.js | 6 +- .../emby-itemscontainer.js | 6 +- .../emby-playstatebutton.js | 6 +- .../emby-ratingbutton/emby-ratingbutton.js | 6 +- src/libraries/screensavermanager.js | 4 +- src/plugins/bookPlayer/plugin.js | 4 +- .../chromecastPlayer/chromecastHelper.js | 6 +- src/plugins/chromecastPlayer/plugin.js | 30 ++--- src/plugins/htmlAudioPlayer/plugin.js | 14 +-- src/plugins/htmlVideoPlayer/plugin.js | 24 ++-- src/plugins/sessionPlayer/plugin.js | 6 +- src/plugins/youtubePlayer/plugin.js | 12 +- src/scripts/autoThemes.js | 4 +- src/scripts/globalize.js | 4 +- src/scripts/libraryMenu.js | 16 +-- src/scripts/mouseManager.js | 8 +- src/scripts/serverNotifications.js | 12 +- src/scripts/settings/appSettings.js | 8 +- src/scripts/settings/userSettings.js | 4 +- src/scripts/site.js | 6 +- src/scripts/taskbutton.js | 6 +- src/scripts/touchHelper.js | 10 +- webpack.dev.js | 2 +- 71 files changed, 424 insertions(+), 425 deletions(-) diff --git a/src/components/activitylog.js b/src/components/activitylog.js index c00856e3a..d929d6f58 100644 --- a/src/components/activitylog.js +++ b/src/components/activitylog.js @@ -1,4 +1,4 @@ -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import globalize from '../scripts/globalize'; import dom from '../scripts/dom'; import * as datefns from 'date-fns'; @@ -144,7 +144,7 @@ class ActivityLog { reloadData(this, element, apiClient); const onUpdate = onActivityLogUpdate.bind(this); this.updateFn = onUpdate; - events.on(serverNotifications, 'ActivityLogEntry', onUpdate); + Events.on(serverNotifications, 'ActivityLogEntry', onUpdate); apiClient.sendMessage('ActivityLogEntryStart', '0,1500'); } destroy() { @@ -158,7 +158,7 @@ class ActivityLog { const onUpdate = this.updateFn; if (onUpdate) { - events.off(serverNotifications, 'ActivityLogEntry', onUpdate); + Events.off(serverNotifications, 'ActivityLogEntry', onUpdate); } this.items = null; diff --git a/src/components/appRouter.js b/src/components/appRouter.js index 2ec42be3a..e396cfcb0 100644 --- a/src/components/appRouter.js +++ b/src/components/appRouter.js @@ -2,7 +2,7 @@ import { appHost } from './apphost'; import appSettings from '../scripts/settings/appSettings'; import backdrop from './backdrop/backdrop'; import browser from '../scripts/browser'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import globalize from '../scripts/globalize'; import itemHelper from './itemHelper'; import loading from './loading/loading'; @@ -150,8 +150,8 @@ class AppRouter { loading.show(); this.initApiClients(); - events.on(appHost, 'beforeexit', this.onBeforeExit); - events.on(appHost, 'resume', this.onAppResume); + Events.on(appHost, 'beforeexit', this.onBeforeExit); + Events.on(appHost, 'resume', this.onAppResume); window.ConnectionManager.connect({ enableAutoLogin: appSettings.enableAutoLogin() @@ -484,8 +484,8 @@ class AppRouter { newApiClient.getMaxBandwidth = this.getMaxBandwidth; } - events.off(newApiClient, 'requestfail', this.onRequestFail); - events.on(newApiClient, 'requestfail', this.onRequestFail); + Events.off(newApiClient, 'requestfail', this.onRequestFail); + Events.on(newApiClient, 'requestfail', this.onRequestFail); } initApiClient(apiClient, instance) { @@ -497,7 +497,7 @@ class AppRouter { this.initApiClient(apiClient, this); }); - events.on(window.ConnectionManager, 'apiclientcreated', this.onApiClientCreated); + Events.on(window.ConnectionManager, 'apiclientcreated', this.onApiClientCreated); } onAppResume() { diff --git a/src/components/apphost.js b/src/components/apphost.js index 281e070c7..2080e785d 100644 --- a/src/components/apphost.js +++ b/src/components/apphost.js @@ -1,7 +1,7 @@ import appSettings from '../scripts/settings/appSettings'; import browser from '../scripts/browser'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import * as htmlMediaHelper from '../components/htmlMediaHelper'; import * as webSettings from '../scripts/settings/webSettings'; import globalize from '../scripts/globalize'; @@ -173,7 +173,7 @@ function supportsCue() { function onAppVisible() { if (isHidden) { isHidden = false; - events.trigger(appHost, 'resume'); + Events.trigger(appHost, 'resume'); } } diff --git a/src/components/displaySettings/displaySettings.js b/src/components/displaySettings/displaySettings.js index 575858648..da683eacc 100644 --- a/src/components/displaySettings/displaySettings.js +++ b/src/components/displaySettings/displaySettings.js @@ -7,7 +7,7 @@ import datetime from '../../scripts/datetime'; import globalize from '../../scripts/globalize'; import loading from '../loading/loading'; import skinManager from '../../scripts/themeManager'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import '../../elements/emby-select/emby-select'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-button/emby-button'; @@ -172,7 +172,7 @@ import '../../elements/emby-button/emby-button'; toast(globalize.translate('SettingsSaved')); }); } - events.trigger(instance, 'saved'); + Events.trigger(instance, 'saved'); }, () => { loading.hide(); }); diff --git a/src/components/filterdialog/filterdialog.js b/src/components/filterdialog/filterdialog.js index 6c694c18f..e547d261e 100644 --- a/src/components/filterdialog/filterdialog.js +++ b/src/components/filterdialog/filterdialog.js @@ -1,7 +1,7 @@ import dom from '../../scripts/dom'; import dialogHelper from '../dialogHelper/dialogHelper'; import globalize from '../../scripts/globalize'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-collapse/emby-collapse'; import './style.css'; @@ -108,7 +108,7 @@ import './style.css'; * @param instance {FilterDialog} An instance of FilterDialog */ function triggerChange(instance) { - events.trigger(instance, 'filterchange'); + Events.trigger(instance, 'filterchange'); } function setVisibility(context, options) { diff --git a/src/components/guide/guide.js b/src/components/guide/guide.js index 16d6813bd..346b991b2 100644 --- a/src/components/guide/guide.js +++ b/src/components/guide/guide.js @@ -1,7 +1,7 @@ import inputManager from '../../scripts/inputManager'; import browser from '../../scripts/browser'; import globalize from '../../scripts/globalize'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import scrollHelper from '../../scripts/scrollHelper'; import serverNotifications from '../../scripts/serverNotifications'; import loading from '../loading/loading'; @@ -164,10 +164,10 @@ function Guide(options) { self.destroy = function () { stopAutoRefresh(); - events.off(serverNotifications, 'TimerCreated', onTimerCreated); - events.off(serverNotifications, 'SeriesTimerCreated', onSeriesTimerCreated); - events.off(serverNotifications, 'TimerCancelled', onTimerCancelled); - events.off(serverNotifications, 'SeriesTimerCancelled', onSeriesTimerCancelled); + Events.off(serverNotifications, 'TimerCreated', onTimerCreated); + Events.off(serverNotifications, 'SeriesTimerCreated', onSeriesTimerCreated); + Events.off(serverNotifications, 'TimerCancelled', onTimerCancelled); + Events.off(serverNotifications, 'SeriesTimerCancelled', onSeriesTimerCancelled); setScrollEvents(options.element, false); itemShortcuts.off(options.element); @@ -1001,7 +1001,7 @@ function Guide(options) { const item = items[id]; if (item) { - events.trigger(self, 'focus', [ + Events.trigger(self, 'focus', [ { item: item }]); @@ -1183,12 +1183,12 @@ function Guide(options) { setScrollEvents(context, true); itemShortcuts.on(context); - events.trigger(self, 'load'); + Events.trigger(self, 'load'); - events.on(serverNotifications, 'TimerCreated', onTimerCreated); - events.on(serverNotifications, 'SeriesTimerCreated', onSeriesTimerCreated); - events.on(serverNotifications, 'TimerCancelled', onTimerCancelled); - events.on(serverNotifications, 'SeriesTimerCancelled', onSeriesTimerCancelled); + Events.on(serverNotifications, 'TimerCreated', onTimerCreated); + Events.on(serverNotifications, 'SeriesTimerCreated', onSeriesTimerCreated); + Events.on(serverNotifications, 'TimerCancelled', onTimerCancelled); + Events.on(serverNotifications, 'SeriesTimerCancelled', onSeriesTimerCancelled); self.refresh(); }); diff --git a/src/components/homeScreenSettings/homeScreenSettings.js b/src/components/homeScreenSettings/homeScreenSettings.js index 6c6228332..bbec3efe9 100644 --- a/src/components/homeScreenSettings/homeScreenSettings.js +++ b/src/components/homeScreenSettings/homeScreenSettings.js @@ -3,7 +3,7 @@ import layoutManager from '../layoutManager'; import focusManager from '../focusManager'; import globalize from '../../scripts/globalize'; import loading from '../loading/loading'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import homeSections from '../homesections/homesections'; import dom from '../../scripts/dom'; import '../listview/listview.css'; @@ -375,7 +375,7 @@ import '../../elements/emby-checkbox/emby-checkbox'; }); } - events.trigger(instance, 'saved'); + Events.trigger(instance, 'saved'); }, () => { loading.hide(); }); diff --git a/src/components/htmlMediaHelper.js b/src/components/htmlMediaHelper.js index 45ab7f1e8..4f803aa4b 100644 --- a/src/components/htmlMediaHelper.js +++ b/src/components/htmlMediaHelper.js @@ -3,7 +3,7 @@ import appSettings from '../scripts/settings/appSettings' ; import browser from '../scripts/browser'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; export function getSavedVolume() { return appSettings.get('volume') || 1; @@ -115,7 +115,7 @@ import { events } from 'jellyfin-apiclient'; instance.destroyCustomTrack(instance._mediaElement); } - events.trigger(instance, 'error', [ + Events.trigger(instance, 'error', [ { type: type } @@ -360,7 +360,7 @@ import { events } from 'jellyfin-apiclient'; src: instance._currentSrc }; - events.trigger(instance, 'stopped', [stopInfo]); + Events.trigger(instance, 'stopped', [stopInfo]); instance._currentTime = null; instance._currentSrc = null; diff --git a/src/components/itemsrefresher.js b/src/components/itemsrefresher.js index 9960cac33..b5a73f5c4 100644 --- a/src/components/itemsrefresher.js +++ b/src/components/itemsrefresher.js @@ -1,6 +1,6 @@ import { playbackManager } from './playback/playbackmanager'; import serverNotifications from '../scripts/serverNotifications'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; function onUserDataChanged(e, apiClient, userData) { const instance = this; @@ -110,7 +110,7 @@ function onPlaybackStopped(e, stopInfo) { function addNotificationEvent(instance, name, handler, owner) { const localHandler = handler.bind(instance); owner = owner || serverNotifications; - events.on(owner, name, localHandler); + Events.on(owner, name, localHandler); instance['event_' + name] = localHandler; } @@ -118,7 +118,7 @@ function removeNotificationEvent(instance, name, owner) { const handler = instance['event_' + name]; if (handler) { owner = owner || serverNotifications; - events.off(owner, name, handler); + Events.off(owner, name, handler); instance['event_' + name] = null; } } diff --git a/src/components/layoutManager.js b/src/components/layoutManager.js index eaa1dc50b..c1b98d2b0 100644 --- a/src/components/layoutManager.js +++ b/src/components/layoutManager.js @@ -2,7 +2,7 @@ import { appHost } from './apphost'; import browser from '../scripts/browser'; import { set, get } from '../scripts/settings/appSettings'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; function setLayout(instance, layout, selectedLayout) { if (layout === selectedLayout) { @@ -32,7 +32,7 @@ class LayoutManager { } } - events.trigger(this, 'modechange'); + Events.trigger(this, 'modechange'); } getSavedLayout() { diff --git a/src/components/maintabsmanager.js b/src/components/maintabsmanager.js index 2884794bc..393a2171a 100644 --- a/src/components/maintabsmanager.js +++ b/src/components/maintabsmanager.js @@ -1,6 +1,6 @@ import dom from '../scripts/dom'; import browser from '../scripts/browser'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import '../elements/emby-tabs/emby-tabs'; import '../elements/emby-button/emby-button'; @@ -68,8 +68,8 @@ import '../elements/emby-button/emby-button'; import('../scripts/touchHelper').then((TouchHelper) => { const touchHelper = new TouchHelper(view.parentNode.parentNode); - events.on(touchHelper, 'swipeleft', onSwipeLeft); - events.on(touchHelper, 'swiperight', onSwipeRight); + Events.on(touchHelper, 'swipeleft', onSwipeLeft); + Events.on(touchHelper, 'swiperight', onSwipeRight); view.addEventListener('viewdestroy', function () { touchHelper.destroy(); diff --git a/src/components/notifications/notifications.js b/src/components/notifications/notifications.js index c50fbc68e..0267c378c 100644 --- a/src/components/notifications/notifications.js +++ b/src/components/notifications/notifications.js @@ -1,6 +1,6 @@ import serverNotifications from '../../scripts/serverNotifications'; import { playbackManager } from '../playback/playbackmanager'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import globalize from '../../scripts/globalize'; function onOneDocumentClick() { @@ -199,27 +199,27 @@ function showPackageInstallNotification(apiClient, installation, status) { }); } -events.on(serverNotifications, 'LibraryChanged', function (e, apiClient, data) { +Events.on(serverNotifications, 'LibraryChanged', function (e, apiClient, data) { onLibraryChanged(data, apiClient); }); -events.on(serverNotifications, 'PackageInstallationCompleted', function (e, apiClient, data) { +Events.on(serverNotifications, 'PackageInstallationCompleted', function (e, apiClient, data) { showPackageInstallNotification(apiClient, data, 'completed'); }); -events.on(serverNotifications, 'PackageInstallationFailed', function (e, apiClient, data) { +Events.on(serverNotifications, 'PackageInstallationFailed', function (e, apiClient, data) { showPackageInstallNotification(apiClient, data, 'failed'); }); -events.on(serverNotifications, 'PackageInstallationCancelled', function (e, apiClient, data) { +Events.on(serverNotifications, 'PackageInstallationCancelled', function (e, apiClient, data) { showPackageInstallNotification(apiClient, data, 'cancelled'); }); -events.on(serverNotifications, 'PackageInstalling', function (e, apiClient, data) { +Events.on(serverNotifications, 'PackageInstalling', function (e, apiClient, data) { showPackageInstallNotification(apiClient, data, 'progress'); }); -events.on(serverNotifications, 'ServerShuttingDown', function (e, apiClient, data) { +Events.on(serverNotifications, 'ServerShuttingDown', function (e, apiClient, data) { const serverId = apiClient.serverInfo().Id; const notification = { tag: 'restart' + serverId, @@ -228,7 +228,7 @@ events.on(serverNotifications, 'ServerShuttingDown', function (e, apiClient, dat showNotification(notification, 0, apiClient); }); -events.on(serverNotifications, 'ServerRestarting', function (e, apiClient, data) { +Events.on(serverNotifications, 'ServerRestarting', function (e, apiClient, data) { const serverId = apiClient.serverInfo().Id; const notification = { tag: 'restart' + serverId, @@ -237,7 +237,7 @@ events.on(serverNotifications, 'ServerRestarting', function (e, apiClient, data) showNotification(notification, 0, apiClient); }); -events.on(serverNotifications, 'RestartRequired', function (e, apiClient) { +Events.on(serverNotifications, 'RestartRequired', function (e, apiClient) { const serverId = apiClient.serverInfo().Id; const notification = { tag: 'restart' + serverId, diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js index 4a794c956..5d85979a6 100644 --- a/src/components/nowPlayingBar/nowPlayingBar.js +++ b/src/components/nowPlayingBar/nowPlayingBar.js @@ -1,5 +1,5 @@ import datetime from '../../scripts/datetime'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import browser from '../../scripts/browser'; import imageLoader from '../../scripts/imagehelper'; import layoutManager from '../layoutManager'; @@ -707,15 +707,15 @@ import '../../elements/emby-ratingbutton/emby-ratingbutton'; const player = currentPlayer; if (player) { - events.off(player, 'playbackstart', onPlaybackStart); - events.off(player, 'statechange', onPlaybackStart); - events.off(player, 'repeatmodechange', onRepeatModeChange); - events.off(player, 'shufflequeuemodechange', onQueueShuffleModeChange); - events.off(player, 'playbackstop', onPlaybackStopped); - events.off(player, 'volumechange', onVolumeChanged); - events.off(player, 'pause', onPlayPauseStateChanged); - events.off(player, 'unpause', onPlayPauseStateChanged); - events.off(player, 'timeupdate', onTimeUpdate); + Events.off(player, 'playbackstart', onPlaybackStart); + Events.off(player, 'statechange', onPlaybackStart); + Events.off(player, 'repeatmodechange', onRepeatModeChange); + Events.off(player, 'shufflequeuemodechange', onQueueShuffleModeChange); + Events.off(player, 'playbackstop', onPlaybackStopped); + Events.off(player, 'volumechange', onVolumeChanged); + Events.off(player, 'pause', onPlayPauseStateChanged); + Events.off(player, 'unpause', onPlayPauseStateChanged); + Events.off(player, 'timeupdate', onTimeUpdate); currentPlayer = null; hideNowPlayingBar(); @@ -753,18 +753,18 @@ import '../../elements/emby-ratingbutton/emby-ratingbutton'; refreshFromPlayer(player); - events.on(player, 'playbackstart', onPlaybackStart); - events.on(player, 'statechange', onPlaybackStart); - events.on(player, 'repeatmodechange', onRepeatModeChange); - events.on(player, 'shufflequeuemodechange', onQueueShuffleModeChange); - events.on(player, 'playbackstop', onPlaybackStopped); - events.on(player, 'volumechange', onVolumeChanged); - events.on(player, 'pause', onPlayPauseStateChanged); - events.on(player, 'unpause', onPlayPauseStateChanged); - events.on(player, 'timeupdate', onTimeUpdate); + Events.on(player, 'playbackstart', onPlaybackStart); + Events.on(player, 'statechange', onPlaybackStart); + Events.on(player, 'repeatmodechange', onRepeatModeChange); + Events.on(player, 'shufflequeuemodechange', onQueueShuffleModeChange); + Events.on(player, 'playbackstop', onPlaybackStopped); + Events.on(player, 'volumechange', onVolumeChanged); + Events.on(player, 'pause', onPlayPauseStateChanged); + Events.on(player, 'unpause', onPlayPauseStateChanged); + Events.on(player, 'timeupdate', onTimeUpdate); } - events.on(playbackManager, 'playerchange', function () { + Events.on(playbackManager, 'playerchange', function () { bindToPlayer(playbackManager.getCurrentPlayer()); }); diff --git a/src/components/playback/brightnessosd.js b/src/components/playback/brightnessosd.js index 044cb6b75..e6c4b82f2 100644 --- a/src/components/playback/brightnessosd.js +++ b/src/components/playback/brightnessosd.js @@ -1,4 +1,4 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import { playbackManager } from './playbackmanager'; import dom from '../../scripts/dom'; import browser from '../../scripts/browser'; @@ -121,8 +121,8 @@ function releaseCurrentPlayer() { const player = currentPlayer; if (player) { - events.off(player, 'brightnesschange', onBrightnessChanged); - events.off(player, 'playbackstop', hideOsd); + Events.off(player, 'brightnesschange', onBrightnessChanged); + Events.off(player, 'playbackstop', hideOsd); currentPlayer = null; } } @@ -151,11 +151,11 @@ function bindToPlayer(player) { } hideOsd(); - events.on(player, 'brightnesschange', onBrightnessChanged); - events.on(player, 'playbackstop', hideOsd); + Events.on(player, 'brightnesschange', onBrightnessChanged); + Events.on(player, 'playbackstop', hideOsd); } -events.on(playbackManager, 'playerchange', function () { +Events.on(playbackManager, 'playerchange', function () { bindToPlayer(playbackManager.getCurrentPlayer()); }); diff --git a/src/components/playback/mediasession.js b/src/components/playback/mediasession.js index 6283b978f..56275439c 100644 --- a/src/components/playback/mediasession.js +++ b/src/components/playback/mediasession.js @@ -1,6 +1,6 @@ import { playbackManager } from '../playback/playbackmanager'; import nowPlayingHelper from '../playback/nowplayinghelper'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; /* eslint-disable indent */ // Reports media playback to the device for lock screen control @@ -163,12 +163,12 @@ import { ConnectionManager, events } from 'jellyfin-apiclient'; function releaseCurrentPlayer() { if (currentPlayer) { - events.off(currentPlayer, 'playbackstart', onPlaybackStart); - events.off(currentPlayer, 'playbackstop', onPlaybackStopped); - events.off(currentPlayer, 'unpause', onGeneralEvent); - events.off(currentPlayer, 'pause', onGeneralEvent); - events.off(currentPlayer, 'statechange', onStateChanged); - events.off(currentPlayer, 'timeupdate', onGeneralEvent); + Events.off(currentPlayer, 'playbackstart', onPlaybackStart); + Events.off(currentPlayer, 'playbackstop', onPlaybackStopped); + Events.off(currentPlayer, 'unpause', onGeneralEvent); + Events.off(currentPlayer, 'pause', onGeneralEvent); + Events.off(currentPlayer, 'statechange', onStateChanged); + Events.off(currentPlayer, 'timeupdate', onGeneralEvent); currentPlayer = null; @@ -197,12 +197,12 @@ import { ConnectionManager, events } from 'jellyfin-apiclient'; const state = playbackManager.getPlayerState(player); updatePlayerState(player, state, 'init'); - events.on(currentPlayer, 'playbackstart', onPlaybackStart); - events.on(currentPlayer, 'playbackstop', onPlaybackStopped); - events.on(currentPlayer, 'unpause', onGeneralEvent); - events.on(currentPlayer, 'pause', onGeneralEvent); - events.on(currentPlayer, 'statechange', onStateChanged); - events.on(currentPlayer, 'timeupdate', onGeneralEvent); + Events.on(currentPlayer, 'playbackstart', onPlaybackStart); + Events.on(currentPlayer, 'playbackstop', onPlaybackStopped); + Events.on(currentPlayer, 'unpause', onGeneralEvent); + Events.on(currentPlayer, 'pause', onGeneralEvent); + Events.on(currentPlayer, 'statechange', onStateChanged); + Events.on(currentPlayer, 'timeupdate', onGeneralEvent); } function execute(name) { @@ -250,7 +250,7 @@ import { ConnectionManager, events } from 'jellyfin-apiclient'; }); } - events.on(playbackManager, 'playerchange', function () { + Events.on(playbackManager, 'playerchange', function () { bindToPlayer(playbackManager.getCurrentPlayer()); }); diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index f602a8e49..fcbb2005a 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -1,4 +1,4 @@ -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import datetime from '../../scripts/datetime'; import appSettings from '../../scripts/settings/appSettings'; import itemHelper from '../itemHelper'; @@ -25,12 +25,12 @@ function enableLocalPlaylistManagement(player) { function bindToFullscreenChange(player) { if (Screenfull.isEnabled) { Screenfull.on('change', function () { - events.trigger(player, 'fullscreenchange'); + Events.trigger(player, 'fullscreenchange'); }); } else { // iOS Safari document.addEventListener('webkitfullscreenchange', function () { - events.trigger(player, 'fullscreenchange'); + Events.trigger(player, 'fullscreenchange'); }, false); } } @@ -46,14 +46,14 @@ function triggerPlayerChange(playbackManagerInstance, newPlayer, newTarget, prev } } - events.trigger(playbackManagerInstance, 'playerchange', [newPlayer, newTarget, previousPlayer]); + Events.trigger(playbackManagerInstance, 'playerchange', [newPlayer, newTarget, previousPlayer]); } function reportPlayback(playbackManagerInstance, state, player, reportPlaylist, serverId, method, progressEventName) { if (!serverId) { // Not a server item // We can expand on this later and possibly report them - events.trigger(playbackManagerInstance, 'reportplayback', [false]); + Events.trigger(playbackManagerInstance, 'reportplayback', [false]); return; } @@ -72,7 +72,7 @@ function reportPlayback(playbackManagerInstance, state, player, reportPlaylist, const reportPlaybackPromise = apiClient[method](info); // Notify that report has been sent reportPlaybackPromise.then(() => { - events.trigger(playbackManagerInstance, 'reportplayback', [true]); + Events.trigger(playbackManagerInstance, 'reportplayback', [true]); }); } @@ -852,13 +852,13 @@ class PlaybackManager { player.tryPair(targetInfo) : Promise.resolve(); - events.trigger(self, 'pairing'); + Events.trigger(self, 'pairing'); promise.then(function () { - events.trigger(self, 'paired'); + Events.trigger(self, 'paired'); setCurrentPlayerInternal(player, targetInfo); }, function () { - events.trigger(self, 'pairerror'); + Events.trigger(self, 'pairerror'); if (currentPairingId === targetInfo.id) { currentPairingId = null; } @@ -2158,7 +2158,7 @@ class PlaybackManager { removeCurrentPlayer(player); } - events.trigger(self, 'playbackcancelled'); + Events.trigger(self, 'playbackcancelled'); return Promise.reject(); } @@ -2548,7 +2548,7 @@ class PlaybackManager { const isCurrentIndex = removeResult.isCurrentIndex; - events.trigger(player, 'playlistitemremove', [ + Events.trigger(player, 'playlistitemremove', [ { playlistItemIds: playlistItemIds } @@ -2573,7 +2573,7 @@ class PlaybackManager { return; } - events.trigger(player, 'playlistitemmove', [ + Events.trigger(player, 'playlistitemmove', [ { playlistItemId: moveResult.playlistItemId, newIndex: moveResult.newIndex @@ -2727,7 +2727,7 @@ class PlaybackManager { } else { self._playQueueManager.queue(items); } - events.trigger(player, 'playlistitemadd'); + Events.trigger(player, 'playlistitemadd'); } function onPlayerProgressInterval() { @@ -2779,8 +2779,8 @@ class PlaybackManager { state.IsFirstItem = isFirstItem; state.IsFullscreen = fullscreen; - events.trigger(player, 'playbackstart', [state]); - events.trigger(self, 'playbackstart', [player, state]); + Events.trigger(player, 'playbackstart', [state]); + Events.trigger(self, 'playbackstart', [player, state]); // only used internally as a safeguard to avoid reporting other events to the server before playback start streamInfo.started = true; @@ -2810,8 +2810,8 @@ class PlaybackManager { state.IsFirstItem = isFirstItem; state.IsFullscreen = fullscreen; - events.trigger(player, 'playbackstart', [state]); - events.trigger(self, 'playbackstart', [player, state]); + Events.trigger(player, 'playbackstart', [state]); + Events.trigger(self, 'playbackstart', [player, state]); // only used internally as a safeguard to avoid reporting other events to the server before playback start streamInfo.started = true; @@ -2850,8 +2850,8 @@ class PlaybackManager { state.NextItem = playbackStopInfo.nextItem; - events.trigger(player, 'playbackstop', [state]); - events.trigger(self, 'playbackstop', [playbackStopInfo]); + Events.trigger(player, 'playbackstop', [state]); + Events.trigger(self, 'playbackstop', [playbackStopInfo]); const nextItemPlayOptions = nextItem ? (nextItem.item.playOptions || getDefaultPlayOptions()) : getDefaultPlayOptions(); const newPlayer = nextItem ? getPlayer(nextItem.item, nextItemPlayOptions) : null; @@ -2952,8 +2952,8 @@ class PlaybackManager { self._playQueueManager.reset(); } - events.trigger(player, 'playbackstop', [state]); - events.trigger(self, 'playbackstop', [playbackStopInfo]); + Events.trigger(player, 'playbackstop', [state]); + Events.trigger(self, 'playbackstop', [playbackStopInfo]); const nextItemPlayOptions = nextItem ? (nextItem.item.playOptions || getDefaultPlayOptions()) : getDefaultPlayOptions(); const newPlayer = nextItem ? getPlayer(nextItem.item, nextItemPlayOptions) : null; @@ -2999,7 +2999,7 @@ class PlaybackManager { reportPlayback(self, state, activePlayer, true, serverId, 'reportPlaybackStopped'); } - events.trigger(self, 'playbackstop', [{ + Events.trigger(self, 'playbackstop', [{ player: activePlayer, state: state, nextItem: newItem, @@ -3010,8 +3010,8 @@ class PlaybackManager { function bindStopped(player) { if (enableLocalPlaylistManagement(player)) { - events.off(player, 'stopped', onPlaybackStopped); - events.on(player, 'stopped', onPlaybackStopped); + Events.off(player, 'stopped', onPlaybackStopped); + Events.on(player, 'stopped', onPlaybackStopped); } } @@ -3061,7 +3061,7 @@ class PlaybackManager { } function unbindStopped(player) { - events.off(player, 'stopped', onPlaybackStopped); + Events.off(player, 'stopped', onPlaybackStopped); } function initLegacyVolumeMethods(player) { @@ -3090,28 +3090,28 @@ class PlaybackManager { } if (enableLocalPlaylistManagement(player)) { - events.on(player, 'error', onPlaybackError); - events.on(player, 'timeupdate', onPlaybackTimeUpdate); - events.on(player, 'pause', onPlaybackPause); - events.on(player, 'unpause', onPlaybackUnpause); - events.on(player, 'volumechange', onPlaybackVolumeChange); - events.on(player, 'repeatmodechange', onRepeatModeChange); - events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange); - events.on(player, 'playlistitemmove', onPlaylistItemMove); - events.on(player, 'playlistitemremove', onPlaylistItemRemove); - events.on(player, 'playlistitemadd', onPlaylistItemAdd); + Events.on(player, 'error', onPlaybackError); + Events.on(player, 'timeupdate', onPlaybackTimeUpdate); + Events.on(player, 'pause', onPlaybackPause); + Events.on(player, 'unpause', onPlaybackUnpause); + Events.on(player, 'volumechange', onPlaybackVolumeChange); + Events.on(player, 'repeatmodechange', onRepeatModeChange); + Events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange); + Events.on(player, 'playlistitemmove', onPlaylistItemMove); + Events.on(player, 'playlistitemremove', onPlaylistItemRemove); + Events.on(player, 'playlistitemadd', onPlaylistItemAdd); } else if (player.isLocalPlayer) { - events.on(player, 'itemstarted', onPlaybackStartedFromSelfManagingPlayer); - events.on(player, 'itemstopped', onPlaybackStoppedFromSelfManagingPlayer); - events.on(player, 'timeupdate', onPlaybackTimeUpdate); - events.on(player, 'pause', onPlaybackPause); - events.on(player, 'unpause', onPlaybackUnpause); - events.on(player, 'volumechange', onPlaybackVolumeChange); - events.on(player, 'repeatmodechange', onRepeatModeChange); - events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange); - events.on(player, 'playlistitemmove', onPlaylistItemMove); - events.on(player, 'playlistitemremove', onPlaylistItemRemove); - events.on(player, 'playlistitemadd', onPlaylistItemAdd); + Events.on(player, 'itemstarted', onPlaybackStartedFromSelfManagingPlayer); + Events.on(player, 'itemstopped', onPlaybackStoppedFromSelfManagingPlayer); + Events.on(player, 'timeupdate', onPlaybackTimeUpdate); + Events.on(player, 'pause', onPlaybackPause); + Events.on(player, 'unpause', onPlaybackUnpause); + Events.on(player, 'volumechange', onPlaybackVolumeChange); + Events.on(player, 'repeatmodechange', onRepeatModeChange); + Events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange); + Events.on(player, 'playlistitemmove', onPlaylistItemMove); + Events.on(player, 'playlistitemremove', onPlaylistItemRemove); + Events.on(player, 'playlistitemadd', onPlaylistItemAdd); } if (player.isLocalPlayer) { @@ -3120,7 +3120,7 @@ class PlaybackManager { bindStopped(player); } - events.on(pluginManager, 'registered', function (e, plugin) { + Events.on(pluginManager, 'registered', function (e, plugin) { if (plugin.type === 'mediaplayer') { initMediaPlayer(plugin); } @@ -3165,7 +3165,7 @@ class PlaybackManager { ConnectionManager.getApiClient(serverId).getLiveStreamMediaInfo(liveStreamId).then(function (info) { mediaSource.MediaStreams = info.MediaStreams; - events.trigger(player, 'mediastreamschange'); + Events.trigger(player, 'mediastreamschange'); }, function () { }); } @@ -3191,8 +3191,8 @@ class PlaybackManager { if (appHost.supports('remotecontrol')) { import('../../scripts/serverNotifications').then((serverNotifications) => { - events.on(serverNotifications, 'ServerShuttingDown', self.setDefaultPlayerActive.bind(self)); - events.on(serverNotifications, 'ServerRestarting', self.setDefaultPlayerActive.bind(self)); + Events.on(serverNotifications, 'ServerShuttingDown', self.setDefaultPlayerActive.bind(self)); + Events.on(serverNotifications, 'ServerRestarting', self.setDefaultPlayerActive.bind(self)); }); } } @@ -3588,7 +3588,7 @@ class PlaybackManager { } this._playQueueManager.setRepeatMode(value); - events.trigger(player, 'repeatmodechange'); + Events.trigger(player, 'repeatmodechange'); } getRepeatMode(player = this._currentPlayer) { @@ -3605,7 +3605,7 @@ class PlaybackManager { } this._playQueueManager.setShuffleMode(value); - events.trigger(player, 'shufflequeuemodechange'); + Events.trigger(player, 'shufflequeuemodechange'); } getQueueShuffleMode(player = this._currentPlayer) { @@ -3633,7 +3633,7 @@ class PlaybackManager { } else { this._playQueueManager.toggleShuffleMode(); } - events.trigger(player, 'shufflequeuemodechange'); + Events.trigger(player, 'shufflequeuemodechange'); } clearQueue(clearCurrentItem = false, player = this._currentPlayer) { @@ -3642,7 +3642,7 @@ class PlaybackManager { } this._playQueueManager.clearPlaylist(clearCurrentItem); - events.trigger(player, 'playlistitemremove'); + Events.trigger(player, 'playlistitemremove'); } trySetActiveDeviceName(name) { diff --git a/src/components/playback/playbackorientation.js b/src/components/playback/playbackorientation.js index 79776abd0..d763726b1 100644 --- a/src/components/playback/playbackorientation.js +++ b/src/components/playback/playbackorientation.js @@ -1,7 +1,7 @@ import { playbackManager } from './playbackmanager'; import layoutManager from '../layoutManager'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; let orientationLocked; @@ -14,7 +14,7 @@ function onOrientationChangeError(err) { console.error('error locking orientation: ' + err); } -events.on(playbackManager, 'playbackstart', function (e, player, state) { +Events.on(playbackManager, 'playbackstart', function (e, player, state) { const isLocalVideo = player.isLocalPlayer && !player.isExternalPlayer && playbackManager.isPlayingVideo(player); if (isLocalVideo && layoutManager.mobile) { @@ -37,7 +37,7 @@ events.on(playbackManager, 'playbackstart', function (e, player, state) { } }); -events.on(playbackManager, 'playbackstop', function (e, playbackStopInfo) { +Events.on(playbackManager, 'playbackstop', function (e, playbackStopInfo) { if (orientationLocked && !playbackStopInfo.nextMediaType) { /* eslint-disable-next-line compat/compat */ const unlockOrientation = window.screen.unlockOrientation || window.screen.mozUnlockOrientation || window.screen.msUnlockOrientation || (window.screen.orientation && window.screen.orientation.unlock); diff --git a/src/components/playback/playerSelectionMenu.js b/src/components/playback/playerSelectionMenu.js index acc6e2481..d123cc2c3 100644 --- a/src/components/playback/playerSelectionMenu.js +++ b/src/components/playback/playerSelectionMenu.js @@ -1,5 +1,5 @@ import appSettings from '../../scripts/settings/appSettings'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import browser from '../../scripts/browser'; import loading from '../loading/loading'; import { playbackManager } from '../playback/playbackmanager'; @@ -300,21 +300,21 @@ document.addEventListener('viewshow', function (e) { } }); -events.on(appSettings, 'change', function (e, name) { +Events.on(appSettings, 'change', function (e, name) { if (name === 'displaymirror') { mirrorIfEnabled(); } }); -events.on(playbackManager, 'pairing', function (e) { +Events.on(playbackManager, 'pairing', function (e) { loading.show(); }); -events.on(playbackManager, 'paired', function (e) { +Events.on(playbackManager, 'paired', function (e) { loading.hide(); }); -events.on(playbackManager, 'pairerror', function (e) { +Events.on(playbackManager, 'pairerror', function (e) { loading.hide(); }); diff --git a/src/components/playback/remotecontrolautoplay.js b/src/components/playback/remotecontrolautoplay.js index 8e8e8797f..6d862a549 100644 --- a/src/components/playback/remotecontrolautoplay.js +++ b/src/components/playback/remotecontrolautoplay.js @@ -1,4 +1,4 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import { playbackManager } from '../playback/playbackmanager'; function transferPlayback(oldPlayer, newPlayer) { @@ -26,7 +26,7 @@ function transferPlayback(oldPlayer, newPlayer) { }); } -events.on(playbackManager, 'playerchange', (e, newPlayer, newTarget, oldPlayer) => { +Events.on(playbackManager, 'playerchange', (e, newPlayer, newTarget, oldPlayer) => { if (!oldPlayer || !newPlayer) { return; } diff --git a/src/components/playback/volumeosd.js b/src/components/playback/volumeosd.js index 7096c246a..3269b289d 100644 --- a/src/components/playback/volumeosd.js +++ b/src/components/playback/volumeosd.js @@ -1,5 +1,5 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import { playbackManager } from './playbackmanager'; import dom from '../../scripts/dom'; import browser from '../../scripts/browser'; @@ -112,8 +112,8 @@ function releaseCurrentPlayer() { const player = currentPlayer; if (player) { - events.off(player, 'volumechange', onVolumeChanged); - events.off(player, 'playbackstop', hideOsd); + Events.off(player, 'volumechange', onVolumeChanged); + Events.off(player, 'playbackstop', hideOsd); currentPlayer = null; } } @@ -142,11 +142,11 @@ function bindToPlayer(player) { } hideOsd(); - events.on(player, 'volumechange', onVolumeChanged); - events.on(player, 'playbackstop', hideOsd); + Events.on(player, 'volumechange', onVolumeChanged); + Events.on(player, 'playbackstop', hideOsd); } -events.on(playbackManager, 'playerchange', function () { +Events.on(playbackManager, 'playerchange', function () { bindToPlayer(playbackManager.getCurrentPlayer()); }); diff --git a/src/components/playbackSettings/playbackSettings.js b/src/components/playbackSettings/playbackSettings.js index aefa69dbc..13805cd0b 100644 --- a/src/components/playbackSettings/playbackSettings.js +++ b/src/components/playbackSettings/playbackSettings.js @@ -5,7 +5,7 @@ import focusManager from '../focusManager'; import qualityoptions from '../qualityOptions'; import globalize from '../../scripts/globalize'; import loading from '../loading/loading'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import '../../elements/emby-select/emby-select'; import '../../elements/emby-checkbox/emby-checkbox'; @@ -248,7 +248,7 @@ import '../../elements/emby-checkbox/emby-checkbox'; }); } - events.trigger(instance, 'saved'); + Events.trigger(instance, 'saved'); }, () => { loading.hide(); }); diff --git a/src/components/playerstats/playerstats.js b/src/components/playerstats/playerstats.js index 66d87aad9..f55367882 100644 --- a/src/components/playerstats/playerstats.js +++ b/src/components/playerstats/playerstats.js @@ -1,4 +1,4 @@ -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import '../../elements/emby-button/paper-icon-button-light'; import globalize from '../../scripts/globalize'; import layoutManager from '../layoutManager'; @@ -450,14 +450,14 @@ import './playerstats.css'; }; instance.onTimeUpdate = localOnTimeUpdate; - events.on(player, 'timeupdate', localOnTimeUpdate); + Events.on(player, 'timeupdate', localOnTimeUpdate); } function unbindEvents(instance, player) { const localOnTimeUpdate = instance.onTimeUpdate; if (localOnTimeUpdate) { - events.off(player, 'timeupdate', localOnTimeUpdate); + Events.off(player, 'timeupdate', localOnTimeUpdate); } } diff --git a/src/components/pluginManager.js b/src/components/pluginManager.js index e794a2c98..0e3fa842c 100644 --- a/src/components/pluginManager.js +++ b/src/components/pluginManager.js @@ -1,4 +1,4 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import globalize from '../scripts/globalize'; /* eslint-disable indent */ @@ -99,7 +99,7 @@ import globalize from '../scripts/globalize'; // type (skin, screensaver, etc) #register(obj) { this.pluginsList.push(obj); - events.trigger(this, 'registered', [obj]); + Events.trigger(this, 'registered', [obj]); } ofType(type) { diff --git a/src/components/recordingcreator/recordingcreator.js b/src/components/recordingcreator/recordingcreator.js index 06d17de75..947576cd7 100644 --- a/src/components/recordingcreator/recordingcreator.js +++ b/src/components/recordingcreator/recordingcreator.js @@ -7,7 +7,7 @@ import scrollHelper from '../../scripts/scrollHelper'; import datetime from '../../scripts/datetime'; import imageLoader from '../images/imageLoader'; import recordingFields from './recordingfields'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-checkbox/emby-checkbox'; @@ -166,7 +166,7 @@ function showEditor(itemId, serverId) { } dlg.addEventListener('close', function () { - events.off(currentRecordingFields, 'recordingchanged', onRecordingChanged); + Events.off(currentRecordingFields, 'recordingchanged', onRecordingChanged); executeCloseAction(closeAction, itemId, serverId); if (currentRecordingFields && currentRecordingFields.hasChanged()) { @@ -190,7 +190,7 @@ function showEditor(itemId, serverId) { serverId: serverId }); - events.on(currentRecordingFields, 'recordingchanged', onRecordingChanged); + Events.on(currentRecordingFields, 'recordingchanged', onRecordingChanged); dialogHelper.open(dlg); }); diff --git a/src/components/recordingcreator/recordingfields.js b/src/components/recordingcreator/recordingfields.js index ad14ff273..59e403603 100644 --- a/src/components/recordingcreator/recordingfields.js +++ b/src/components/recordingcreator/recordingfields.js @@ -1,5 +1,5 @@ import globalize from '../../scripts/globalize'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import serverNotifications from '../../scripts/serverNotifications'; import loading from '../loading/loading'; import dom from '../../scripts/dom'; @@ -104,14 +104,14 @@ class RecordingEditor { const timerChangedHandler = onTimerChangedExternally.bind(this); this.timerChangedHandler = timerChangedHandler; - events.on(serverNotifications, 'TimerCreated', timerChangedHandler); - events.on(serverNotifications, 'TimerCancelled', timerChangedHandler); + Events.on(serverNotifications, 'TimerCreated', timerChangedHandler); + Events.on(serverNotifications, 'TimerCancelled', timerChangedHandler); const seriesTimerChangedHandler = onSeriesTimerChangedExternally.bind(this); this.seriesTimerChangedHandler = seriesTimerChangedHandler; - events.on(serverNotifications, 'SeriesTimerCreated', seriesTimerChangedHandler); - events.on(serverNotifications, 'SeriesTimerCancelled', seriesTimerChangedHandler); + Events.on(serverNotifications, 'SeriesTimerCreated', seriesTimerChangedHandler); + Events.on(serverNotifications, 'SeriesTimerCancelled', seriesTimerChangedHandler); } embed() { @@ -144,14 +144,14 @@ class RecordingEditor { const timerChangedHandler = this.timerChangedHandler; this.timerChangedHandler = null; - events.off(serverNotifications, 'TimerCreated', timerChangedHandler); - events.off(serverNotifications, 'TimerCancelled', timerChangedHandler); + Events.off(serverNotifications, 'TimerCreated', timerChangedHandler); + Events.off(serverNotifications, 'TimerCancelled', timerChangedHandler); const seriesTimerChangedHandler = this.seriesTimerChangedHandler; this.seriesTimerChangedHandler = null; - events.off(serverNotifications, 'SeriesTimerCreated', seriesTimerChangedHandler); - events.off(serverNotifications, 'SeriesTimerCancelled', seriesTimerChangedHandler); + Events.off(serverNotifications, 'SeriesTimerCreated', seriesTimerChangedHandler); + Events.off(serverNotifications, 'SeriesTimerCancelled', seriesTimerChangedHandler); } } @@ -207,7 +207,7 @@ function onRecordChange(e) { if (!hasEnabledTimer) { loading.show(); recordingHelper.createRecording(apiClient, options.programId, false).then(function () { - events.trigger(self, 'recordingchanged'); + Events.trigger(self, 'recordingchanged'); fetchData(self); loading.hide(); }); @@ -216,7 +216,7 @@ function onRecordChange(e) { if (hasEnabledTimer) { loading.show(); recordingHelper.cancelTimer(apiClient, this.TimerId, true).then(function () { - events.trigger(self, 'recordingchanged'); + Events.trigger(self, 'recordingchanged'); fetchData(self); loading.hide(); }); diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index d3410274e..a6d5f28f3 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -4,7 +4,7 @@ import listView from '../listview/listview'; import imageLoader from '../images/imageLoader'; import { playbackManager } from '../playback/playbackmanager'; import nowPlayingHelper from '../playback/nowplayinghelper'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import { appHost } from '../apphost'; import globalize from '../../scripts/globalize'; import layoutManager from '../layoutManager'; @@ -631,18 +631,18 @@ export default function () { const player = currentPlayer; if (player) { - events.off(player, 'playbackstart', onPlaybackStart); - events.off(player, 'statechange', onStateChanged); - events.off(player, 'repeatmodechange', onRepeatModeChange); - events.off(player, 'shufflequeuemodechange', onShuffleQueueModeChange); - events.off(player, 'playlistitemremove', onPlaylistItemRemoved); - events.off(player, 'playlistitemmove', onPlaylistUpdate); - events.off(player, 'playlistitemadd', onPlaylistUpdate); - events.off(player, 'playbackstop', onPlaybackStopped); - events.off(player, 'volumechange', onVolumeChanged); - events.off(player, 'pause', onPlayPauseStateChanged); - events.off(player, 'unpause', onPlayPauseStateChanged); - events.off(player, 'timeupdate', onTimeUpdate); + Events.off(player, 'playbackstart', onPlaybackStart); + Events.off(player, 'statechange', onStateChanged); + Events.off(player, 'repeatmodechange', onRepeatModeChange); + Events.off(player, 'shufflequeuemodechange', onShuffleQueueModeChange); + Events.off(player, 'playlistitemremove', onPlaylistItemRemoved); + Events.off(player, 'playlistitemmove', onPlaylistUpdate); + Events.off(player, 'playlistitemadd', onPlaylistUpdate); + Events.off(player, 'playbackstop', onPlaybackStopped); + Events.off(player, 'volumechange', onVolumeChanged); + Events.off(player, 'pause', onPlayPauseStateChanged); + Events.off(player, 'unpause', onPlayPauseStateChanged); + Events.off(player, 'timeupdate', onTimeUpdate); currentPlayer = null; } } @@ -653,18 +653,18 @@ export default function () { onStateChanged.call(player, { type: 'init' }, state); - events.on(player, 'playbackstart', onPlaybackStart); - events.on(player, 'statechange', onStateChanged); - events.on(player, 'repeatmodechange', onRepeatModeChange); - events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange); - events.on(player, 'playlistitemremove', onPlaylistItemRemoved); - events.on(player, 'playlistitemmove', onPlaylistUpdate); - events.on(player, 'playlistitemadd', onPlaylistUpdate); - events.on(player, 'playbackstop', onPlaybackStopped); - events.on(player, 'volumechange', onVolumeChanged); - events.on(player, 'pause', onPlayPauseStateChanged); - events.on(player, 'unpause', onPlayPauseStateChanged); - events.on(player, 'timeupdate', onTimeUpdate); + Events.on(player, 'playbackstart', onPlaybackStart); + Events.on(player, 'statechange', onStateChanged); + Events.on(player, 'repeatmodechange', onRepeatModeChange); + Events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange); + Events.on(player, 'playlistitemremove', onPlaylistItemRemoved); + Events.on(player, 'playlistitemmove', onPlaylistUpdate); + Events.on(player, 'playlistitemadd', onPlaylistUpdate); + Events.on(player, 'playbackstop', onPlaybackStopped); + Events.on(player, 'volumechange', onVolumeChanged); + Events.on(player, 'pause', onPlayPauseStateChanged); + Events.on(player, 'unpause', onPlayPauseStateChanged); + Events.on(player, 'timeupdate', onTimeUpdate); const playerInfo = playbackManager.getPlayerInfo(); const supportedCommands = playerInfo.supportedCommands; currentPlayerSupportedCommands = supportedCommands; @@ -915,7 +915,7 @@ export default function () { bindEvents(context); context.querySelector('.sendMessageForm').addEventListener('submit', onMessageSubmit); context.querySelector('.typeTextForm').addEventListener('submit', onSendStringSubmit); - events.on(playbackManager, 'playerchange', onPlayerChange); + Events.on(playbackManager, 'playerchange', onPlayerChange); if (layoutManager.tv) { const positionSlider = context.querySelector('.nowPlayingPositionSlider'); @@ -926,7 +926,7 @@ export default function () { function onDialogClosed(e) { releaseCurrentPlayer(); - events.off(playbackManager, 'playerchange', onPlayerChange); + Events.off(playbackManager, 'playerchange', onPlayerChange); lastPlayerState = null; } diff --git a/src/components/search/searchfields.js b/src/components/search/searchfields.js index 01cd504fd..c83012803 100644 --- a/src/components/search/searchfields.js +++ b/src/components/search/searchfields.js @@ -1,6 +1,6 @@ import layoutManager from '../layoutManager'; import globalize from '../../scripts/globalize'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import browser from '../../scripts/browser'; import AlphaPicker from '../alphaPicker/alphaPicker'; import '../../elements/emby-input/emby-input'; @@ -15,7 +15,7 @@ import './searchfields.css'; let value = instance.nextSearchValue; value = (value || '').trim(); - events.trigger(instance, 'search', [value]); + Events.trigger(instance, 'search', [value]); } function triggerSearch(instance, value) { diff --git a/src/components/subtitlesettings/subtitlesettings.js b/src/components/subtitlesettings/subtitlesettings.js index 082781d8b..79f8d0c8e 100644 --- a/src/components/subtitlesettings/subtitlesettings.js +++ b/src/components/subtitlesettings/subtitlesettings.js @@ -7,7 +7,7 @@ import loading from '../loading/loading'; import subtitleAppearanceHelper from './subtitleappearancehelper'; import settingsHelper from '../settingshelper'; import dom from '../../scripts/dom'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import '../listview/listview.css'; import '../../elements/emby-select/emby-select'; import '../../elements/emby-slider/emby-slider'; @@ -92,7 +92,7 @@ function save(instance, context, userId, userSettings, apiClient, enableSaveConf }); } - events.trigger(instance, 'saved'); + Events.trigger(instance, 'saved'); }, function () { loading.hide(); }); diff --git a/src/components/syncPlay/groupSelectionMenu.js b/src/components/syncPlay/groupSelectionMenu.js index 9269a584c..1a54f7ff9 100644 --- a/src/components/syncPlay/groupSelectionMenu.js +++ b/src/components/syncPlay/groupSelectionMenu.js @@ -1,4 +1,4 @@ -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import { playbackManager } from '../playback/playbackmanager'; import syncPlayManager from './syncPlayManager'; import loading from '../loading/loading'; @@ -150,7 +150,7 @@ function showLeaveGroupSelection (button, user, apiClient) { // Register to SyncPlay events let syncPlayEnabled = false; -events.on(syncPlayManager, 'enabled', function (e, enabled) { +Events.on(syncPlayManager, 'enabled', function (e, enabled) { syncPlayEnabled = enabled; }); diff --git a/src/components/syncPlay/syncPlayManager.js b/src/components/syncPlay/syncPlayManager.js index 0ff6ad346..2540e97c9 100644 --- a/src/components/syncPlay/syncPlayManager.js +++ b/src/components/syncPlay/syncPlayManager.js @@ -3,7 +3,7 @@ * @module components/syncPlay/syncPlayManager */ -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import { playbackManager } from '../playback/playbackmanager'; import timeSyncManager from './timeSyncManager'; import toast from '../toast/toast'; @@ -25,13 +25,13 @@ function waitForEventOnce(emitter, eventType, timeout) { }, timeout); } const callback = () => { - events.off(emitter, eventType, callback); + Events.off(emitter, eventType, callback); if (rejectTimeout) { clearTimeout(rejectTimeout); } resolve(arguments); }; - events.on(emitter, eventType, callback); + Events.on(emitter, eventType, callback); }); } @@ -92,25 +92,25 @@ class SyncPlayManager { this.roundTripDuration = 0; this.notifySyncPlayReady = false; - events.on(playbackManager, 'playbackstart', (player, state) => { + Events.on(playbackManager, 'playbackstart', (player, state) => { this.onPlaybackStart(player, state); }); - events.on(playbackManager, 'playbackstop', (stopInfo) => { + Events.on(playbackManager, 'playbackstop', (stopInfo) => { this.onPlaybackStop(stopInfo); }); - events.on(playbackManager, 'playerchange', () => { + Events.on(playbackManager, 'playerchange', () => { this.onPlayerChange(); }); this.bindToPlayer(playbackManager.getCurrentPlayer()); - events.on(this, 'timeupdate', (event) => { + Events.on(this, 'timeupdate', (event) => { this.syncPlaybackTime(); }); - events.on(timeSyncManager, 'update', (event, error, timeOffset, ping) => { + Events.on(timeSyncManager, 'update', (event, error, timeOffset, ping) => { if (error) { console.debug('SyncPlay, time update issue', error); return; @@ -121,7 +121,7 @@ class SyncPlayManager { if (this.notifySyncPlayReady) { this.syncPlayReady = true; - events.trigger(this, 'ready'); + Events.trigger(this, 'ready'); this.notifySyncPlayReady = false; } @@ -149,14 +149,14 @@ class SyncPlayManager { * Called when playback starts. */ onPlaybackStart (player, state) { - events.trigger(this, 'playbackstart', [player, state]); + Events.trigger(this, 'playbackstart', [player, state]); } /** * Called when playback stops. */ onPlaybackStop (stopInfo) { - events.trigger(this, 'playbackstop', [stopInfo]); + Events.trigger(this, 'playbackstop', [stopInfo]); if (this.isSyncPlayEnabled()) { this.disableSyncPlay(false); } @@ -167,21 +167,21 @@ class SyncPlayManager { */ onPlayerChange () { this.bindToPlayer(playbackManager.getCurrentPlayer()); - events.trigger(this, 'playerchange', [this.currentPlayer]); + Events.trigger(this, 'playerchange', [this.currentPlayer]); } /** * Called when playback unpauses. */ onPlayerUnpause () { - events.trigger(this, 'unpause', [this.currentPlayer]); + Events.trigger(this, 'unpause', [this.currentPlayer]); } /** * Called when playback pauses. */ onPlayerPause() { - events.trigger(this, 'pause', [this.currentPlayer]); + Events.trigger(this, 'pause', [this.currentPlayer]); } /** @@ -191,7 +191,7 @@ class SyncPlayManager { onTimeUpdate (e) { // NOTICE: this event is unreliable, at least in Safari // which just stops firing the event after a while. - events.trigger(this, 'timeupdate', [e]); + Events.trigger(this, 'timeupdate', [e]); } /** @@ -200,7 +200,7 @@ class SyncPlayManager { onPlaying () { // TODO: implement group wait this.lastPlaybackWaiting = null; - events.trigger(this, 'playing'); + Events.trigger(this, 'playing'); } /** @@ -212,7 +212,7 @@ class SyncPlayManager { this.lastPlaybackWaiting = new Date(); } - events.trigger(this, 'waiting'); + Events.trigger(this, 'waiting'); } /** @@ -260,11 +260,11 @@ class SyncPlayManager { self.onWaiting(); }; - events.on(player, 'unpause', this._onPlayerUnpause); - events.on(player, 'pause', this._onPlayerPause); - events.on(player, 'timeupdate', this._onTimeUpdate); - events.on(player, 'playing', this._onPlaying); - events.on(player, 'waiting', this._onWaiting); + Events.on(player, 'unpause', this._onPlayerUnpause); + Events.on(player, 'pause', this._onPlayerPause); + Events.on(player, 'timeupdate', this._onTimeUpdate); + Events.on(player, 'playing', this._onPlaying); + Events.on(player, 'waiting', this._onWaiting); // Save player current PlaybackRate value if (player.supports && player.supports('PlaybackRate')) { @@ -278,11 +278,11 @@ class SyncPlayManager { releaseCurrentPlayer () { const player = this.currentPlayer; if (player) { - events.off(player, 'unpause', this._onPlayerUnpause); - events.off(player, 'pause', this._onPlayerPause); - events.off(player, 'timeupdate', this._onTimeUpdate); - events.off(player, 'playing', this._onPlaying); - events.off(player, 'waiting', this._onWaiting); + Events.off(player, 'unpause', this._onPlayerUnpause); + Events.off(player, 'pause', this._onPlayerPause); + Events.off(player, 'timeupdate', this._onTimeUpdate); + Events.off(player, 'playing', this._onPlaying); + Events.off(player, 'waiting', this._onWaiting); // Restore player original PlaybackRate value if (this.playbackRateSupported) { player.setPlaybackRate(this.localPlayerPlaybackRate); @@ -486,7 +486,7 @@ class SyncPlayManager { enableSyncPlay (apiClient, enabledAt, showMessage = false) { this.syncPlayEnabledAt = enabledAt; this.injectPlaybackManager(); - events.trigger(this, 'enabled', [true]); + Events.trigger(this, 'enabled', [true]); waitForEventOnce(this, 'ready').then(() => { this.processCommand(this.queuedCommand, apiClient); @@ -515,7 +515,7 @@ class SyncPlayManager { this.lastCommand = null; this.queuedCommand = null; this.syncEnabled = false; - events.trigger(this, 'enabled', [false]); + Events.trigger(this, 'enabled', [false]); this.restorePlaybackManager(); if (showMessage) { @@ -814,7 +814,7 @@ class SyncPlayManager { */ showSyncIcon (syncMethod) { this.syncMethod = syncMethod; - events.trigger(this, 'syncing', [true, this.syncMethod]); + Events.trigger(this, 'syncing', [true, this.syncMethod]); } /** @@ -822,7 +822,7 @@ class SyncPlayManager { */ clearSyncIcon () { this.syncMethod = 'None'; - events.trigger(this, 'syncing', [false, this.syncMethod]); + Events.trigger(this, 'syncing', [false, this.syncMethod]); } /** diff --git a/src/components/syncPlay/timeSyncManager.js b/src/components/syncPlay/timeSyncManager.js index a39b06968..b2ad5809f 100644 --- a/src/components/syncPlay/timeSyncManager.js +++ b/src/components/syncPlay/timeSyncManager.js @@ -3,7 +3,7 @@ * @module components/syncPlay/timeSyncManager */ -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; /** * Time estimation @@ -131,11 +131,11 @@ class TimeSyncManager { this.pings++; } - events.trigger(this, 'update', [null, this.getTimeOffset(), this.getPing()]); + Events.trigger(this, 'update', [null, this.getTimeOffset(), this.getPing()]); }); }).catch((error) => { console.error(error); - events.trigger(this, 'update', [error, null, null]); + Events.trigger(this, 'update', [error, null, null]); }).finally(() => { this.requestPing(); }); diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js index a7f6ac21d..dac14c296 100644 --- a/src/components/upnextdialog/upnextdialog.js +++ b/src/components/upnextdialog/upnextdialog.js @@ -1,6 +1,6 @@ import dom from '../../scripts/dom'; import { playbackManager } from '../playback/playbackmanager'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import mediaInfo from '../mediainfo/mediainfo'; import layoutManager from '../layoutManager'; import focusManager from '../focusManager'; @@ -136,7 +136,7 @@ import '../../assets/css/flexstyles.css'; elem.classList.add('hide'); clearHideAnimationEventListeners(instance, elem); - events.trigger(instance, 'hide'); + Events.trigger(instance, 'hide'); } function hideComingUpNext() { diff --git a/src/controllers/dashboard/dashboard.js b/src/controllers/dashboard/dashboard.js index e5a34eadc..fe82e2e74 100644 --- a/src/controllers/dashboard/dashboard.js +++ b/src/controllers/dashboard/dashboard.js @@ -1,5 +1,5 @@ import datetime from '../../scripts/datetime'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import itemHelper from '../../components/itemHelper'; import serverNotifications from '../../scripts/serverNotifications'; import dom from '../../scripts/dom'; @@ -799,13 +799,13 @@ import taskButton from '../../scripts/taskbutton'; loading.show(); pollForInfo(page, apiClient); DashboardPage.startInterval(apiClient); - events.on(serverNotifications, 'RestartRequired', onRestartRequired); - events.on(serverNotifications, 'ServerShuttingDown', onServerShuttingDown); - events.on(serverNotifications, 'ServerRestarting', onServerRestarting); - events.on(serverNotifications, 'PackageInstalling', onPackageInstalling); - events.on(serverNotifications, 'PackageInstallationCompleted', onPackageInstallationCompleted); - events.on(serverNotifications, 'Sessions', onSessionsUpdate); - events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); + Events.on(serverNotifications, 'RestartRequired', onRestartRequired); + Events.on(serverNotifications, 'ServerShuttingDown', onServerShuttingDown); + Events.on(serverNotifications, 'ServerRestarting', onServerRestarting); + Events.on(serverNotifications, 'PackageInstalling', onPackageInstalling); + Events.on(serverNotifications, 'PackageInstallationCompleted', onPackageInstallationCompleted); + Events.on(serverNotifications, 'Sessions', onSessionsUpdate); + Events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); DashboardPage.lastAppUpdateCheck = null; reloadSystemInfo(page, ApiClient); @@ -839,13 +839,13 @@ import taskButton from '../../scripts/taskbutton'; const apiClient = ApiClient; const page = this; - events.off(serverNotifications, 'RestartRequired', onRestartRequired); - events.off(serverNotifications, 'ServerShuttingDown', onServerShuttingDown); - events.off(serverNotifications, 'ServerRestarting', onServerRestarting); - events.off(serverNotifications, 'PackageInstalling', onPackageInstalling); - events.off(serverNotifications, 'PackageInstallationCompleted', onPackageInstallationCompleted); - events.off(serverNotifications, 'Sessions', onSessionsUpdate); - events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); + Events.off(serverNotifications, 'RestartRequired', onRestartRequired); + Events.off(serverNotifications, 'ServerShuttingDown', onServerShuttingDown); + Events.off(serverNotifications, 'ServerRestarting', onServerRestarting); + Events.off(serverNotifications, 'PackageInstalling', onPackageInstalling); + Events.off(serverNotifications, 'PackageInstallationCompleted', onPackageInstallationCompleted); + Events.off(serverNotifications, 'Sessions', onSessionsUpdate); + Events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); if (apiClient) { DashboardPage.stopInterval(apiClient); diff --git a/src/controllers/dashboard/scheduledtasks/scheduledtasks.js b/src/controllers/dashboard/scheduledtasks/scheduledtasks.js index 7c35bf1fc..498819da6 100644 --- a/src/controllers/dashboard/scheduledtasks/scheduledtasks.js +++ b/src/controllers/dashboard/scheduledtasks/scheduledtasks.js @@ -1,6 +1,6 @@ import 'jquery'; import loading from '../../../components/loading/loading'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import globalize from '../../../scripts/globalize'; import serverNotifications from '../../../scripts/serverNotifications'; import { formatDistance, formatDistanceToNow } from 'date-fns'; @@ -177,7 +177,7 @@ import '../../../elements/emby-button/emby-button'; }); view.addEventListener('viewbeforehide', function() { - events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); + Events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); stopInterval(); }); @@ -185,7 +185,7 @@ import '../../../elements/emby-button/emby-button'; loading.show(); startInterval(); reloadList(view); - events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); + Events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); }); } diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index 02da9460c..38ea324b3 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -2,7 +2,7 @@ import { appHost } from '../../components/apphost'; import loading from '../../components/loading/loading'; import { appRouter } from '../../components/appRouter'; import layoutManager from '../../components/layoutManager'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import * as userSettings from '../../scripts/settings/userSettings'; import cardBuilder from '../../components/cardbuilder/cardBuilder'; import datetime from '../../scripts/datetime'; @@ -2048,12 +2048,12 @@ export default function (view, params) { reload(self, page, params); } - events.on(apiClient, 'message', onWebSocketMessage); - events.on(playbackManager, 'playerchange', onPlayerChange); + Events.on(apiClient, 'message', onWebSocketMessage); + Events.on(playbackManager, 'playerchange', onPlayerChange); }); view.addEventListener('viewbeforehide', function () { - events.off(apiClient, 'message', onWebSocketMessage); - events.off(playbackManager, 'playerchange', onPlayerChange); + Events.off(apiClient, 'message', onWebSocketMessage); + Events.off(playbackManager, 'playerchange', onPlayerChange); libraryMenu.setTransparentMenu(false); }); view.addEventListener('viewdestroy', function () { diff --git a/src/controllers/livetv/livetvchannels.js b/src/controllers/livetv/livetvchannels.js index 4ab1f45ed..e1aa1e00a 100644 --- a/src/controllers/livetv/livetvchannels.js +++ b/src/controllers/livetv/livetvchannels.js @@ -2,7 +2,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder'; import imageLoader from '../../components/images/imageLoader'; import libraryBrowser from '../../scripts/libraryBrowser'; import loading from '../../components/loading/loading'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import * as userSettings from '../../scripts/settings/userSettings'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -97,7 +97,7 @@ export default function (view, params, tabContent) { mode: 'livetvchannels', serverId: ApiClient.serverId() }); - events.on(filterDialog, 'filterchange', function () { + Events.on(filterDialog, 'filterchange', function () { reloadItems(context); }); filterDialog.show(); diff --git a/src/controllers/livetvguideprovider.js b/src/controllers/livetvguideprovider.js index 59a19d599..33f3a51fc 100644 --- a/src/controllers/livetvguideprovider.js +++ b/src/controllers/livetvguideprovider.js @@ -1,4 +1,4 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import loading from '../components/loading/loading'; import globalize from '../scripts/globalize'; @@ -11,7 +11,7 @@ function init(page, type, providerId) { import(url).then(({default: factory}) => { const instance = new factory(page, providerId, {}); - events.on(instance, 'submitted', onListingsSubmitted); + Events.on(instance, 'submitted', onListingsSubmitted); instance.init(); }); } diff --git a/src/controllers/movies/movies.js b/src/controllers/movies/movies.js index 736489d3d..4d2b4c6c3 100644 --- a/src/controllers/movies/movies.js +++ b/src/controllers/movies/movies.js @@ -1,6 +1,6 @@ import loading from '../../components/loading/loading'; import * as userSettings from '../../scripts/settings/userSettings'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import libraryBrowser from '../../scripts/libraryBrowser'; import { AlphaPicker } from '../../components/alphaPicker/alphaPicker'; import listView from '../../components/listview/listview'; @@ -284,7 +284,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; mode: 'movies', serverId: ApiClient.serverId() }); - events.on(filterDialog, 'filterchange', () => { + Events.on(filterDialog, 'filterchange', () => { query.StartIndex = 0; itemsContainer.refreshItems(); }); diff --git a/src/controllers/movies/moviesrecommended.js b/src/controllers/movies/moviesrecommended.js index 0c02e7c01..2e11cffca 100644 --- a/src/controllers/movies/moviesrecommended.js +++ b/src/controllers/movies/moviesrecommended.js @@ -1,5 +1,5 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import layoutManager from '../../components/layoutManager'; import inputManager from '../../scripts/inputManager'; import * as userSettings from '../../scripts/settings/userSettings'; @@ -404,7 +404,7 @@ import '../../elements/emby-button/emby-button'; } } - events.on(playbackManager, 'playbackstop', onPlaybackStop); + Events.on(playbackManager, 'playbackstop', onPlaybackStop); inputManager.on(window, onInputCommand); }); view.addEventListener('viewbeforehide', function () { diff --git a/src/controllers/movies/movietrailers.js b/src/controllers/movies/movietrailers.js index 92be37720..8c8246b4e 100644 --- a/src/controllers/movies/movietrailers.js +++ b/src/controllers/movies/movietrailers.js @@ -1,5 +1,5 @@ import loading from '../../components/loading/loading'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import libraryBrowser from '../../scripts/libraryBrowser'; import imageLoader from '../../components/images/imageLoader'; import { AlphaPicker } from '../../components/alphaPicker/alphaPicker'; @@ -198,7 +198,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; mode: 'movies', serverId: ApiClient.serverId() }); - events.on(filterDialog, 'filterchange', function () { + Events.on(filterDialog, 'filterchange', function () { getQuery(tabContent).StartIndex = 0; reloadItems(); }); diff --git a/src/controllers/music/musicalbums.js b/src/controllers/music/musicalbums.js index 32eb38a84..fe885b09a 100644 --- a/src/controllers/music/musicalbums.js +++ b/src/controllers/music/musicalbums.js @@ -1,6 +1,6 @@ import { playbackManager } from '../../components/playback/playbackmanager'; import loading from '../../components/loading/loading'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import libraryBrowser from '../../scripts/libraryBrowser'; import imageLoader from '../../components/images/imageLoader'; import AlphaPicker from '../../components/alphaPicker/alphaPicker'; @@ -210,8 +210,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; mode: 'albums', serverId: ApiClient.serverId() }); - - events.on(filterDialog, 'filterchange', function () { + Events.on(filterDialog, 'filterchange', function () { getQuery().StartIndex = 0; reloadItems(tabContent); }); diff --git a/src/controllers/music/musicartists.js b/src/controllers/music/musicartists.js index 232b2fdd1..c6e577099 100644 --- a/src/controllers/music/musicartists.js +++ b/src/controllers/music/musicartists.js @@ -1,5 +1,5 @@ import loading from '../../components/loading/loading'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import libraryBrowser from '../../scripts/libraryBrowser'; import imageLoader from '../../components/images/imageLoader'; import { AlphaPicker } from '../../components/alphaPicker/alphaPicker'; @@ -182,7 +182,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; mode: this.mode, serverId: ApiClient.serverId() }); - events.on(filterDialog, 'filterchange', function () { + Events.on(filterDialog, 'filterchange', function () { getQuery(tabContent).StartIndex = 0; reloadItems(tabContent); }); diff --git a/src/controllers/music/songs.js b/src/controllers/music/songs.js index 133d9bdab..316f85220 100644 --- a/src/controllers/music/songs.js +++ b/src/controllers/music/songs.js @@ -1,5 +1,5 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import libraryBrowser from '../../scripts/libraryBrowser'; import imageLoader from '../../components/images/imageLoader'; import listView from '../../components/listview/listview'; @@ -137,7 +137,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; mode: 'songs', serverId: ApiClient.serverId() }); - events.on(filterDialog, 'filterchange', function () { + Events.on(filterDialog, 'filterchange', function () { getQuery(tabContent).StartIndex = 0; reloadItems(tabContent); }); diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index 9d531bfdc..b0e3a8144 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -6,7 +6,7 @@ import datetime from '../../../scripts/datetime'; import itemHelper from '../../../components/itemHelper'; import mediaInfo from '../../../components/mediainfo/mediainfo'; import focusManager from '../../../components/focusManager'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import browser from '../../../scripts/browser'; import globalize from '../../../scripts/globalize'; import { appHost } from '../../../components/apphost'; @@ -540,16 +540,16 @@ import '../../../assets/css/videoosd.css'; onStateChanged.call(player, { type: 'init' }, state); - events.on(player, 'playbackstart', onPlaybackStart); - events.on(player, 'playbackstop', onPlaybackStopped); - events.on(player, 'volumechange', onVolumeChanged); - events.on(player, 'pause', onPlayPauseStateChanged); - events.on(player, 'unpause', onPlayPauseStateChanged); - events.on(player, 'timeupdate', onTimeUpdate); - events.on(player, 'fullscreenchange', updateFullscreenIcon); - events.on(player, 'mediastreamschange', onMediaStreamsChanged); - events.on(player, 'beginFetch', onBeginFetch); - events.on(player, 'endFetch', onEndFetch); + Events.on(player, 'playbackstart', onPlaybackStart); + Events.on(player, 'playbackstop', onPlaybackStopped); + Events.on(player, 'volumechange', onVolumeChanged); + Events.on(player, 'pause', onPlayPauseStateChanged); + Events.on(player, 'unpause', onPlayPauseStateChanged); + Events.on(player, 'timeupdate', onTimeUpdate); + Events.on(player, 'fullscreenchange', updateFullscreenIcon); + Events.on(player, 'mediastreamschange', onMediaStreamsChanged); + Events.on(player, 'beginFetch', onBeginFetch); + Events.on(player, 'endFetch', onEndFetch); resetUpNextDialog(); if (player.isFetching) { @@ -564,14 +564,14 @@ import '../../../assets/css/videoosd.css'; const player = currentPlayer; if (player) { - events.off(player, 'playbackstart', onPlaybackStart); - events.off(player, 'playbackstop', onPlaybackStopped); - events.off(player, 'volumechange', onVolumeChanged); - events.off(player, 'pause', onPlayPauseStateChanged); - events.off(player, 'unpause', onPlayPauseStateChanged); - events.off(player, 'timeupdate', onTimeUpdate); - events.off(player, 'fullscreenchange', updateFullscreenIcon); - events.off(player, 'mediastreamschange', onMediaStreamsChanged); + Events.off(player, 'playbackstart', onPlaybackStart); + Events.off(player, 'playbackstop', onPlaybackStopped); + Events.off(player, 'volumechange', onVolumeChanged); + Events.off(player, 'pause', onPlayPauseStateChanged); + Events.off(player, 'unpause', onPlayPauseStateChanged); + Events.off(player, 'timeupdate', onTimeUpdate); + Events.off(player, 'fullscreenchange', updateFullscreenIcon); + Events.off(player, 'mediastreamschange', onMediaStreamsChanged); currentPlayer = null; } } @@ -623,7 +623,7 @@ import '../../../assets/css/videoosd.css'; player: player, nextItem: nextItem }); - events.on(currentUpNextDialog, 'hide', onUpNextHidden); + Events.on(currentUpNextDialog, 'hide', onUpNextHidden); }, onUpNextHidden); } }); @@ -1299,7 +1299,7 @@ import '../../../assets/css/videoosd.css'; }); view.addEventListener('viewshow', function (e) { try { - events.on(playbackManager, 'playerchange', onPlayerChange); + Events.on(playbackManager, 'playerchange', onPlayerChange); bindToPlayer(playbackManager.getCurrentPlayer()); /* eslint-disable-next-line compat/compat */ dom.addEventListener(document, window.PointerEvent ? 'pointermove' : 'mousemove', onPointerMove, { @@ -1384,7 +1384,7 @@ import '../../../assets/css/videoosd.css'; passive: true }); inputManager.off(window, onInputCommand); - events.off(playbackManager, 'playerchange', onPlayerChange); + Events.off(playbackManager, 'playerchange', onPlayerChange); releaseCurrentPlayer(); }); view.querySelector('.btnFullscreen').addEventListener('click', function () { @@ -1555,8 +1555,8 @@ import '../../../assets/css/videoosd.css'; preventDefaultOnMove: true, ignoreTagNames: ['BUTTON', 'INPUT', 'TEXTAREA'] }); - events.on(self.touchHelper, 'swipeup', onVerticalSwipe); - events.on(self.touchHelper, 'swipedown', onVerticalSwipe); + Events.on(self.touchHelper, 'swipeup', onVerticalSwipe); + Events.on(self.touchHelper, 'swipedown', onVerticalSwipe); }); })(); } diff --git a/src/controllers/searchpage.js b/src/controllers/searchpage.js index f8cfce373..b96c6f4b1 100644 --- a/src/controllers/searchpage.js +++ b/src/controllers/searchpage.js @@ -1,6 +1,6 @@ import SearchFields from '../components/search/searchfields'; import SearchResults from '../components/search/searchresults'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; export default function (view, params) { function onSearch(e, value) { @@ -19,7 +19,7 @@ export default function (view, params) { parentId: params.parentId, collectionType: params.collectionType }); - events.on(self.searchFields, 'search', onSearch); + Events.on(self.searchFields, 'search', onSearch); } }); view.addEventListener('viewdestroy', function () { diff --git a/src/controllers/shows/episodes.js b/src/controllers/shows/episodes.js index 76c620f10..f494f82e0 100644 --- a/src/controllers/shows/episodes.js +++ b/src/controllers/shows/episodes.js @@ -1,5 +1,5 @@ import loading from '../../components/loading/loading'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import libraryBrowser from '../../scripts/libraryBrowser'; import imageLoader from '../../components/images/imageLoader'; import listView from '../../components/listview/listview'; @@ -177,7 +177,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; mode: 'episodes', serverId: ApiClient.serverId() }); - events.on(filterDialog, 'filterchange', function () { + Events.on(filterDialog, 'filterchange', function () { reloadItems(tabContent); }); filterDialog.show(); diff --git a/src/controllers/shows/tvrecommended.js b/src/controllers/shows/tvrecommended.js index 33cd66657..b77f2c7d5 100644 --- a/src/controllers/shows/tvrecommended.js +++ b/src/controllers/shows/tvrecommended.js @@ -1,5 +1,5 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import inputManager from '../../scripts/inputManager'; import libraryMenu from '../../scripts/libraryMenu'; import layoutManager from '../../components/layoutManager'; @@ -374,14 +374,14 @@ import '../../elements/emby-button/emby-button'; } } - events.on(playbackManager, 'playbackstop', onPlaybackStop); - events.on(ApiClient, 'message', onWebSocketMessage); + Events.on(playbackManager, 'playbackstop', onPlaybackStop); + Events.on(ApiClient, 'message', onWebSocketMessage); inputManager.on(window, onInputCommand); }); view.addEventListener('viewbeforehide', function (e) { inputManager.off(window, onInputCommand); - events.off(playbackManager, 'playbackstop', onPlaybackStop); - events.off(ApiClient, 'message', onWebSocketMessage); + Events.off(playbackManager, 'playbackstop', onPlaybackStop); + Events.off(ApiClient, 'message', onWebSocketMessage); }); view.addEventListener('viewdestroy', function (e) { tabControllers.forEach(function (t) { diff --git a/src/controllers/shows/tvshows.js b/src/controllers/shows/tvshows.js index 2fe940a06..7ef60e21d 100644 --- a/src/controllers/shows/tvshows.js +++ b/src/controllers/shows/tvshows.js @@ -1,5 +1,5 @@ import loading from '../../components/loading/loading'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import libraryBrowser from '../../scripts/libraryBrowser'; import imageLoader from '../../components/images/imageLoader'; import listView from '../../components/listview/listview'; @@ -220,7 +220,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; mode: 'series', serverId: ApiClient.serverId() }); - events.on(filterDialog, 'filterchange', function () { + Events.on(filterDialog, 'filterchange', function () { getQuery(tabContent).StartIndex = 0; reloadItems(tabContent); }); diff --git a/src/elements/emby-itemrefreshindicator/emby-itemrefreshindicator.js b/src/elements/emby-itemrefreshindicator/emby-itemrefreshindicator.js index b71a5ab4e..cb00c041d 100644 --- a/src/elements/emby-itemrefreshindicator/emby-itemrefreshindicator.js +++ b/src/elements/emby-itemrefreshindicator/emby-itemrefreshindicator.js @@ -1,21 +1,21 @@ import EmbyProgressRing from '../emby-progressring/emby-progressring'; import dom from '../../scripts/dom'; import serverNotifications from '../../scripts/serverNotifications'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import 'webcomponents.js'; /* eslint-disable indent */ function addNotificationEvent(instance, name, handler) { const localHandler = handler.bind(instance); - events.on(serverNotifications, name, localHandler); + Events.on(serverNotifications, name, localHandler); instance[name] = localHandler; } function removeNotificationEvent(instance, name) { const handler = instance[name]; if (handler) { - events.off(serverNotifications, name, handler); + Events.off(serverNotifications, name, handler); instance[name] = null; } } diff --git a/src/elements/emby-itemscontainer/emby-itemscontainer.js b/src/elements/emby-itemscontainer/emby-itemscontainer.js index eff9ba255..b598c8a84 100644 --- a/src/elements/emby-itemscontainer/emby-itemscontainer.js +++ b/src/elements/emby-itemscontainer/emby-itemscontainer.js @@ -9,7 +9,7 @@ import dom from '../../scripts/dom'; import loading from '../../components/loading/loading'; import focusManager from '../../components/focusManager'; import serverNotifications from '../../scripts/serverNotifications'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import 'webcomponents.js'; /* eslint-disable indent */ @@ -271,7 +271,7 @@ import 'webcomponents.js'; function addNotificationEvent(instance, name, handler, owner) { const localHandler = handler.bind(instance); owner = owner || serverNotifications; - events.on(owner, name, localHandler); + Events.on(owner, name, localHandler); instance['event_' + name] = localHandler; } @@ -279,7 +279,7 @@ import 'webcomponents.js'; const handler = instance['event_' + name]; if (handler) { owner = owner || serverNotifications; - events.off(owner, name, handler); + Events.off(owner, name, handler); instance['event_' + name] = null; } } diff --git a/src/elements/emby-playstatebutton/emby-playstatebutton.js b/src/elements/emby-playstatebutton/emby-playstatebutton.js index 610d732c9..adcf7f767 100644 --- a/src/elements/emby-playstatebutton/emby-playstatebutton.js +++ b/src/elements/emby-playstatebutton/emby-playstatebutton.js @@ -1,5 +1,5 @@ import serverNotifications from '../../scripts/serverNotifications'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import globalize from '../../scripts/globalize'; import EmbyButtonPrototype from '../../elements/emby-button/emby-button'; @@ -7,14 +7,14 @@ import EmbyButtonPrototype from '../../elements/emby-button/emby-button'; function addNotificationEvent(instance, name, handler) { const localHandler = handler.bind(instance); - events.on(serverNotifications, name, localHandler); + Events.on(serverNotifications, name, localHandler); instance[name] = localHandler; } function removeNotificationEvent(instance, name) { const handler = instance[name]; if (handler) { - events.off(serverNotifications, name, handler); + Events.off(serverNotifications, name, handler); instance[name] = null; } } diff --git a/src/elements/emby-ratingbutton/emby-ratingbutton.js b/src/elements/emby-ratingbutton/emby-ratingbutton.js index 15c290fa6..ba17e3119 100644 --- a/src/elements/emby-ratingbutton/emby-ratingbutton.js +++ b/src/elements/emby-ratingbutton/emby-ratingbutton.js @@ -1,5 +1,5 @@ import serverNotifications from '../../scripts/serverNotifications'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import globalize from '../../scripts/globalize'; import EmbyButtonPrototype from '../emby-button/emby-button'; @@ -7,14 +7,14 @@ import EmbyButtonPrototype from '../emby-button/emby-button'; function addNotificationEvent(instance, name, handler) { const localHandler = handler.bind(instance); - events.on(serverNotifications, name, localHandler); + Events.on(serverNotifications, name, localHandler); instance[name] = localHandler; } function removeNotificationEvent(instance, name) { const handler = instance[name]; if (handler) { - events.off(serverNotifications, name, handler); + Events.off(serverNotifications, name, handler); instance[name] = null; } } diff --git a/src/libraries/screensavermanager.js b/src/libraries/screensavermanager.js index 7d180fb7f..a2326b333 100644 --- a/src/libraries/screensavermanager.js +++ b/src/libraries/screensavermanager.js @@ -1,4 +1,4 @@ -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import { playbackManager } from '../components/playback/playbackmanager'; import { pluginManager } from '../components/pluginManager'; import inputManager from '../scripts/inputManager'; @@ -16,7 +16,7 @@ function getFunctionalEventIdleTime() { return new Date().getTime() - lastFunctionalEvent; } -events.on(playbackManager, 'playbackstop', function (e, stopInfo) { +Events.on(playbackManager, 'playbackstop', function (e, stopInfo) { const state = stopInfo.state; if (state.NowPlayingItem && state.NowPlayingItem.MediaType == 'Video') { lastFunctionalEvent = new Date().getTime(); diff --git a/src/plugins/bookPlayer/plugin.js b/src/plugins/bookPlayer/plugin.js index b513cfe60..ea5cb1da6 100644 --- a/src/plugins/bookPlayer/plugin.js +++ b/src/plugins/bookPlayer/plugin.js @@ -2,7 +2,7 @@ import loading from '../../components/loading/loading'; import keyboardnavigation from '../../scripts/keyboardNavigation'; import dialogHelper from '../../components/dialogHelper/dialogHelper'; import dom from '../../scripts/dom'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import './style.css'; import 'material-design-icons-iconfont'; import '../../elements/emby-button/paper-icon-button-light'; @@ -289,7 +289,7 @@ export class BookPlayer { epubElem.style.display = 'block'; rendition.on('relocated', (locations) => { this.progress = book.locations.percentageFromCfi(locations.start.cfi); - events.trigger(this, 'timeupdate'); + Events.trigger(this, 'timeupdate'); }); loading.hide(); diff --git a/src/plugins/chromecastPlayer/chromecastHelper.js b/src/plugins/chromecastPlayer/chromecastHelper.js index e92fa4471..aac692c50 100644 --- a/src/plugins/chromecastPlayer/chromecastHelper.js +++ b/src/plugins/chromecastPlayer/chromecastHelper.js @@ -1,4 +1,4 @@ -import events from 'events'; +import { Events, ConnectionManager } from 'jellyfin-apiclient'; // LinkParser // @@ -221,8 +221,8 @@ function getCachedValue(key) { return null; } -events.on(window.connectionManager, 'localusersignedin', clearCache); -events.on(window.connectionManager, 'localusersignedout', clearCache); +Events.on(ConnectionManager, 'localusersignedin', clearCache); +Events.on(ConnectionManager, 'localusersignedout', clearCache); export default { getServerAddress: getServerAddress diff --git a/src/plugins/chromecastPlayer/plugin.js b/src/plugins/chromecastPlayer/plugin.js index ad8ecc0b9..64a3dba3e 100644 --- a/src/plugins/chromecastPlayer/plugin.js +++ b/src/plugins/chromecastPlayer/plugin.js @@ -2,7 +2,7 @@ import appSettings from '../../scripts/settings/appSettings'; import * as userSettings from '../../scripts/settings/userSettings'; import { playbackManager } from '../../components/playback/playbackmanager'; import globalize from '../../scripts/globalize'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import castSenderApiLoader from '../../components/castSenderApi'; // Based on https://github.com/googlecast/CastVideos-chrome/blob/master/CastVideos.js @@ -167,7 +167,7 @@ class CastPlayer { alertText(globalize.translate('MessageChromecastConnectionError'), globalize.translate('HeaderError')); }, 300); } else if (message.type) { - events.trigger(this, message.type, [message.data]); + Events.trigger(this, message.type, [message.data]); } } @@ -236,7 +236,7 @@ class CastPlayer { document.addEventListener('volumeupbutton', onVolumeUpKeyDown, false); document.addEventListener('volumedownbutton', onVolumeDownKeyDown, false); - events.trigger(this, 'connect'); + Events.trigger(this, 'connect'); this.sendMessage({ options: {}, command: 'Identify' @@ -495,11 +495,11 @@ function getItemsForPlayback(apiClient, query) { } function bindEventForRelay(instance, eventName) { - events.on(instance._castPlayer, eventName, function (e, data) { + Events.on(instance._castPlayer, eventName, function (e, data) { console.debug('cc: ' + eventName); const state = instance.getPlayerStateInternal(data); - events.trigger(instance, eventName, [state]); + Events.trigger(instance, eventName, [state]); }); } @@ -514,7 +514,7 @@ function initializeChromecast() { } })); - events.on(instance._castPlayer, 'connect', function (e) { + Events.on(instance._castPlayer, 'connect', function (e) { if (currentResolve) { sendConnectionResult(true); } else { @@ -526,20 +526,20 @@ function initializeChromecast() { instance.lastPlayerData = null; }); - events.on(instance._castPlayer, 'playbackstart', function (e, data) { + Events.on(instance._castPlayer, 'playbackstart', function (e, data) { console.debug('cc: playbackstart'); instance._castPlayer.initializeCastPlayer(); const state = instance.getPlayerStateInternal(data); - events.trigger(instance, 'playbackstart', [state]); + Events.trigger(instance, 'playbackstart', [state]); }); - events.on(instance._castPlayer, 'playbackstop', function (e, data) { + Events.on(instance._castPlayer, 'playbackstop', function (e, data) { console.debug('cc: playbackstop'); let state = instance.getPlayerStateInternal(data); - events.trigger(instance, 'playbackstop', [state]); + Events.trigger(instance, 'playbackstop', [state]); state = instance.lastPlayerData.PlayState || {}; const volume = state.VolumeLevel || 0.5; @@ -552,11 +552,11 @@ function initializeChromecast() { instance.lastPlayerData.PlayState.IsMuted = mute; }); - events.on(instance._castPlayer, 'playbackprogress', function (e, data) { + Events.on(instance._castPlayer, 'playbackprogress', function (e, data) { console.debug('cc: positionchange'); const state = instance.getPlayerStateInternal(data); - events.trigger(instance, 'timeupdate', [state]); + Events.trigger(instance, 'timeupdate', [state]); }); bindEventForRelay(instance, 'timeupdate'); @@ -566,11 +566,11 @@ function initializeChromecast() { bindEventForRelay(instance, 'repeatmodechange'); bindEventForRelay(instance, 'shufflequeuemodechange'); - events.on(instance._castPlayer, 'playstatechange', function (e, data) { + Events.on(instance._castPlayer, 'playstatechange', function (e, data) { console.debug('cc: playstatechange'); const state = instance.getPlayerStateInternal(data); - events.trigger(instance, 'pause', [state]); + Events.trigger(instance, 'pause', [state]); }); } @@ -664,7 +664,7 @@ class ChromecastPlayer { console.debug(JSON.stringify(data)); if (triggerStateChange) { - events.trigger(this, 'statechange', [data]); + Events.trigger(this, 'statechange', [data]); } return data; diff --git a/src/plugins/htmlAudioPlayer/plugin.js b/src/plugins/htmlAudioPlayer/plugin.js index 342a8a208..4c7ed6893 100644 --- a/src/plugins/htmlAudioPlayer/plugin.js +++ b/src/plugins/htmlAudioPlayer/plugin.js @@ -1,4 +1,4 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import browser from '../../scripts/browser'; import { appHost } from '../../components/apphost'; import * as htmlMediaHelper from '../../components/htmlMediaHelper'; @@ -251,14 +251,14 @@ class HtmlAudioPlayer { // Don't trigger events after user stop if (!self._isFadingOut) { self._currentTime = time; - events.trigger(self, 'timeupdate'); + Events.trigger(self, 'timeupdate'); } } function onVolumeChange() { if (!self._isFadingOut) { htmlMediaHelper.saveVolume(this.volume); - events.trigger(self, 'volumechange'); + Events.trigger(self, 'volumechange'); } } @@ -269,19 +269,19 @@ class HtmlAudioPlayer { htmlMediaHelper.seekOnPlaybackStart(self, e.target, self._currentPlayOptions.playerStartPositionTicks); } - events.trigger(self, 'playing'); + Events.trigger(self, 'playing'); } function onPlay(e) { - events.trigger(self, 'unpause'); + Events.trigger(self, 'unpause'); } function onPause() { - events.trigger(self, 'pause'); + Events.trigger(self, 'pause'); } function onWaiting() { - events.trigger(self, 'waiting'); + Events.trigger(self, 'waiting'); } function onError() { diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index 2c5072a07..17030d661 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -1,5 +1,5 @@ import browser from '../../scripts/browser'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import { appHost } from '../../components/apphost'; import loading from '../../components/loading/loading'; import dom from '../../scripts/dom'; @@ -286,7 +286,7 @@ function tryRemoveElement(elem) { incrementFetchQueue() { if (this.#fetchQueue <= 0) { this.isFetching = true; - events.trigger(this, 'beginFetch'); + Events.trigger(this, 'beginFetch'); } this.#fetchQueue++; @@ -300,7 +300,7 @@ function tryRemoveElement(elem) { if (this.#fetchQueue <= 0) { this.isFetching = false; - events.trigger(this, 'endFetch'); + Events.trigger(this, 'endFetch'); } } @@ -754,7 +754,7 @@ function tryRemoveElement(elem) { this.updateSubtitleText(timeMs); } - events.trigger(this, 'timeupdate'); + Events.trigger(this, 'timeupdate'); }; /** @@ -767,7 +767,7 @@ function tryRemoveElement(elem) { */ const elem = e.target; saveVolume(elem.volume); - events.trigger(this, 'volumechange'); + Events.trigger(this, 'volumechange'); }; /** @@ -826,14 +826,14 @@ function tryRemoveElement(elem) { this.onStartedAndNavigatedToOsd(); } } - events.trigger(this, 'playing'); + Events.trigger(this, 'playing'); }; /** * @private */ onPlay = () => { - events.trigger(this, 'unpause'); + Events.trigger(this, 'unpause'); }; /** @@ -859,25 +859,25 @@ function tryRemoveElement(elem) { * @private */ onClick = () => { - events.trigger(this, 'click'); + Events.trigger(this, 'click'); }; /** * @private */ onDblClick = () => { - events.trigger(this, 'dblclick'); + Events.trigger(this, 'dblclick'); }; /** * @private */ onPause = () => { - events.trigger(this, 'pause'); + Events.trigger(this, 'pause'); }; onWaiting() { - events.trigger(this, 'waiting'); + Events.trigger(this, 'waiting'); } /** @@ -1561,7 +1561,7 @@ function tryRemoveElement(elem) { elem.style['-webkit-filter'] = `brightness(${cssValue})`; elem.style.filter = `brightness(${cssValue})`; elem.brightnessValue = val; - events.trigger(this, 'brightnesschange'); + Events.trigger(this, 'brightnesschange'); } } diff --git a/src/plugins/sessionPlayer/plugin.js b/src/plugins/sessionPlayer/plugin.js index bbf13ffb4..6240839ea 100644 --- a/src/plugins/sessionPlayer/plugin.js +++ b/src/plugins/sessionPlayer/plugin.js @@ -1,5 +1,5 @@ import { playbackManager } from '../../components/playback/playbackmanager'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import serverNotifications from '../../scripts/serverNotifications'; function getActivePlayerId() { @@ -104,7 +104,7 @@ function processUpdatedSessions(instance, sessions, apiClient) { instance.lastPlayerData = session; for (let i = 0, length = eventNames.length; i < length; i++) { - events.trigger(instance, eventNames[i], [session]); + Events.trigger(instance, eventNames[i], [session]); } } else { instance.lastPlayerData = session; @@ -186,7 +186,7 @@ class SessionPlayer { this.isLocalPlayer = false; this.id = 'remoteplayer'; - events.on(serverNotifications, 'Sessions', function (e, apiClient, data) { + Events.on(serverNotifications, 'Sessions', function (e, apiClient, data) { processUpdatedSessions(self, data, apiClient); }); } diff --git a/src/plugins/youtubePlayer/plugin.js b/src/plugins/youtubePlayer/plugin.js index a975d8e34..429d2be9f 100644 --- a/src/plugins/youtubePlayer/plugin.js +++ b/src/plugins/youtubePlayer/plugin.js @@ -1,4 +1,4 @@ -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import browser from '../../scripts/browser'; import { appRouter } from '../../components/appRouter'; import loading from '../../components/loading/loading'; @@ -80,7 +80,7 @@ function onEndedInternal(instance) { src: instance._currentSrc }; - events.trigger(instance, 'stopped', [stopInfo]); + Events.trigger(instance, 'stopped', [stopInfo]); instance._currentSrc = null; if (instance.currentYoutubePlayer) { @@ -95,7 +95,7 @@ function onPlayerReady(event) { } function onTimeUpdate(e) { - events.trigger(this, 'timeupdate'); + Events.trigger(this, 'timeupdate'); } function onPlaying(instance, playOptions, resolve) { @@ -139,7 +139,7 @@ function setCurrentSrc(instance, elem, options) { } else if (event.data === YT.PlayerState.ENDED) { onEndedInternal(instance); } else if (event.data === YT.PlayerState.PAUSED) { - events.trigger(instance, 'pause'); + Events.trigger(instance, 'pause'); } } }, @@ -276,7 +276,7 @@ class YoutubePlayer { // This needs a delay before the youtube player will report the correct player state setTimeout(function () { - events.trigger(instance, 'pause'); + Events.trigger(instance, 'pause'); }, 200); } } @@ -290,7 +290,7 @@ class YoutubePlayer { // This needs a delay before the youtube player will report the correct player state setTimeout(function () { - events.trigger(instance, 'unpause'); + Events.trigger(instance, 'unpause'); }, 200); } } diff --git a/src/scripts/autoThemes.js b/src/scripts/autoThemes.js index b4b2fb0ef..148fb9d8e 100644 --- a/src/scripts/autoThemes.js +++ b/src/scripts/autoThemes.js @@ -1,13 +1,13 @@ import * as userSettings from './settings/userSettings'; import * as webSettings from './settings/webSettings'; import skinManager from './themeManager'; -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; // set the default theme when loading skinManager.setTheme(userSettings.theme()); // set the saved theme once a user authenticates -events.on(ConnectionManager, 'localusersignedin', function (e, user) { +Events.on(ConnectionManager, 'localusersignedin', function (e, user) { skinManager.setTheme(userSettings.theme()); }); diff --git a/src/scripts/globalize.js b/src/scripts/globalize.js index 550c60c36..2d990b609 100644 --- a/src/scripts/globalize.js +++ b/src/scripts/globalize.js @@ -1,5 +1,5 @@ import * as userSettings from './settings/userSettings'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; /* eslint-disable indent */ @@ -246,7 +246,7 @@ import { events } from 'jellyfin-apiclient'; updateCurrentCulture(); - events.on(userSettings, 'change', function (e, name) { + Events.on(userSettings, 'change', function (e, name) { if (name === 'language' || name === 'datetimelocale') { updateCurrentCulture(); } diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index b7ec4fd5f..42143aad7 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -1,7 +1,7 @@ import dom from './dom'; import layoutManager from '../components/layoutManager'; import inputManager from './inputManager'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import viewManager from '../components/viewManager/viewManager'; import { appRouter } from '../components/appRouter'; import { appHost } from '../components/apphost'; @@ -199,8 +199,8 @@ import '../assets/css/flexstyles.css'; if (layoutManager.mobile) { initHeadRoom(skinHeader); } - events.on(playbackManager, 'playbackstart', onPlaybackStart); - events.on(playbackManager, 'playbackstop', onPlaybackStop); + Events.on(playbackManager, 'playbackstart', onPlaybackStart); + Events.on(playbackManager, 'playbackstop', onPlaybackStop); } function onPlaybackStart(e) { @@ -978,7 +978,7 @@ import '../assets/css/flexstyles.css'; renderHeader(); - events.on(window.ConnectionManager, 'localusersignedin', function (e, user) { + Events.on(window.ConnectionManager, 'localusersignedin', function (e, user) { const currentApiClient = window.ConnectionManager.getApiClient(user.ServerId); currentDrawerType = null; @@ -994,15 +994,15 @@ import '../assets/css/flexstyles.css'; }); }); - events.on(window.ConnectionManager, 'localusersignedout', function () { + Events.on(window.ConnectionManager, 'localusersignedout', function () { currentUser = {}; updateUserInHeader(); }); - events.on(playbackManager, 'playerchange', updateCastIcon); + Events.on(playbackManager, 'playerchange', updateCastIcon); - events.on(syncPlayManager, 'enabled', onSyncPlayEnabled); - events.on(syncPlayManager, 'syncing', onSyncPlaySyncing); + Events.on(syncPlayManager, 'enabled', onSyncPlayEnabled); + Events.on(syncPlayManager, 'syncing', onSyncPlaySyncing); loadNavDrawer(); diff --git a/src/scripts/mouseManager.js b/src/scripts/mouseManager.js index f2c124cfc..f86806c2e 100644 --- a/src/scripts/mouseManager.js +++ b/src/scripts/mouseManager.js @@ -3,7 +3,7 @@ import inputManager from './inputManager'; import focusManager from '../components/focusManager'; import browser from '../scripts/browser'; import layoutManager from '../components/layoutManager'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import dom from '../scripts/dom'; /* eslint-disable indent */ @@ -41,7 +41,7 @@ import dom from '../scripts/dom'; if (isMouseIdle) { isMouseIdle = false; removeIdleClasses(); - events.trigger(self, 'mouseactive'); + Events.trigger(self, 'mouseactive'); } } @@ -49,7 +49,7 @@ import dom from '../scripts/dom'; if (!isMouseIdle) { isMouseIdle = true; addIdleClasses(); - events.trigger(self, 'mouseidle'); + Events.trigger(self, 'mouseidle'); } } @@ -171,7 +171,7 @@ import dom from '../scripts/dom'; initMouse(); - events.on(layoutManager, 'modechange', initMouse); + Events.on(layoutManager, 'modechange', initMouse); /* eslint-enable indent */ diff --git a/src/scripts/serverNotifications.js b/src/scripts/serverNotifications.js index f4a3bdd8a..2214b7de1 100644 --- a/src/scripts/serverNotifications.js +++ b/src/scripts/serverNotifications.js @@ -1,6 +1,6 @@ import { playbackManager } from '../components/playback/playbackmanager'; import syncPlayManager from '../components/syncPlay/syncPlayManager'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; import inputManager from '../scripts/inputManager'; import focusManager from '../components/focusManager'; import { appRouter } from '../components/appRouter'; @@ -191,7 +191,7 @@ function onMessageReceived(e, msg) { } else if (msg.MessageType === 'UserDataChanged') { if (msg.Data.UserId === apiClient.getCurrentUserId()) { for (let i = 0, length = msg.Data.UserDataList.length; i < length; i++) { - events.trigger(serverNotifications, 'UserDataChanged', [apiClient, msg.Data.UserDataList[i]]); + Events.trigger(serverNotifications, 'UserDataChanged', [apiClient, msg.Data.UserDataList[i]]); } } } else if (msg.MessageType === 'SyncPlayCommand') { @@ -199,16 +199,16 @@ function onMessageReceived(e, msg) { } else if (msg.MessageType === 'SyncPlayGroupUpdate') { syncPlayManager.processGroupUpdate(msg.Data, apiClient); } else { - events.trigger(serverNotifications, msg.MessageType, [apiClient, msg.Data]); + Events.trigger(serverNotifications, msg.MessageType, [apiClient, msg.Data]); } } function bindEvents(apiClient) { - events.off(apiClient, 'message', onMessageReceived); - events.on(apiClient, 'message', onMessageReceived); + Events.off(apiClient, 'message', onMessageReceived); + Events.on(apiClient, 'message', onMessageReceived); } window.ConnectionManager.getApiClients().forEach(bindEvents); -events.on(window.ConnectionManager, 'apiclientcreated', function (e, newApiClient) { +Events.on(window.ConnectionManager, 'apiclientcreated', function (e, newApiClient) { bindEvents(newApiClient); }); diff --git a/src/scripts/settings/appSettings.js b/src/scripts/settings/appSettings.js index b167ba93b..844cd5072 100644 --- a/src/scripts/settings/appSettings.js +++ b/src/scripts/settings/appSettings.js @@ -1,5 +1,5 @@ /* eslint-disable indent */ -import { appStorage, events } from 'jellyfin-apiclient'; +import { AppStorage, Events } from 'jellyfin-apiclient'; function getKey(name, userId) { if (userId) { @@ -80,15 +80,15 @@ import { appStorage, events } from 'jellyfin-apiclient'; export function set(name, value, userId) { const currentValue = this.get(name, userId); - appStorage.setItem(getKey(name, userId), value); + AppStorage.setItem(getKey(name, userId), value); if (currentValue !== value) { - events.trigger(this, 'change', [name]); + Events.trigger(this, 'change', [name]); } } export function get(name, userId) { - return appStorage.getItem(getKey(name, userId)); + return AppStorage.getItem(getKey(name, userId)); } /* eslint-enable indent */ diff --git a/src/scripts/settings/userSettings.js b/src/scripts/settings/userSettings.js index aa31ddd98..e26601025 100644 --- a/src/scripts/settings/userSettings.js +++ b/src/scripts/settings/userSettings.js @@ -1,5 +1,5 @@ import appSettings from './appSettings'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; function onSaveTimeout() { const self = this; @@ -77,7 +77,7 @@ export class UserSettings { } if (currentValue !== value) { - events.trigger(this, 'change', [name]); + Events.trigger(this, 'change', [name]); } return result; diff --git a/src/scripts/site.js b/src/scripts/site.js index e66809203..f03c38d7b 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -96,7 +96,7 @@ function initClient() { import('../components/apphost'), import('./settings/userSettings') ]) - .then(([{ ConnectionManager, Credentials, events }, { appHost} , userSettings]) => { + .then(([{ ConnectionManager, Credentials, Events }, { appHost} , userSettings]) => { var credentialProviderInstance = new Credentials(); var promises = [appHost.init()]; @@ -105,7 +105,7 @@ function initClient() { window.ConnectionManager = new ConnectionManager(credentialProviderInstance, appHost.appName(), appHost.appVersion(), appHost.deviceName(), appHost.deviceId(), capabilities); - bindConnectionManagerEvents(window.ConnectionManager, events, userSettings); + bindConnectionManagerEvents(window.ConnectionManager, Events, userSettings); if (!AppInfo.isNativeApp) { console.debug('loading ApiClient singleton'); @@ -165,7 +165,7 @@ function initClient() { import('jellyfin-apiclient') ]) .then(([ globalize, { ConnectionManager, events } ]) => { - events.on(ConnectionManager, 'localusersignedin', globalize.updateCurrentCulture); + Events.on(ConnectionManager, 'localusersignedin', globalize.updateCurrentCulture); }); }); }); diff --git a/src/scripts/taskbutton.js b/src/scripts/taskbutton.js index 434565f07..29927db06 100644 --- a/src/scripts/taskbutton.js +++ b/src/scripts/taskbutton.js @@ -1,5 +1,5 @@ -import { ConnectionManager, events } from 'jellyfin-apiclient'; +import { ConnectionManager, Events } from 'jellyfin-apiclient'; import serverNotifications from '../scripts/serverNotifications'; import globalize from '../scripts/globalize'; import '../elements/emby-button/emby-button'; @@ -110,12 +110,12 @@ export default function (options) { if (options.mode == 'off') { button.removeEventListener('click', onButtonClick); - events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); + Events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); stopInterval(); } else { button.addEventListener('click', onButtonClick); pollTasks(); startInterval(); - events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); + Events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); } } diff --git a/src/scripts/touchHelper.js b/src/scripts/touchHelper.js index 0d135f082..4230ab377 100644 --- a/src/scripts/touchHelper.js +++ b/src/scripts/touchHelper.js @@ -1,5 +1,5 @@ import dom from '../scripts/dom'; -import { events } from 'jellyfin-apiclient'; +import { Events } from 'jellyfin-apiclient'; function getTouches(e) { return e.changedTouches || e.targetTouches || e.touches; @@ -73,13 +73,13 @@ class TouchHelper { lastDeltaY = deltaY; if (deltaX > swipeXThreshold && Math.abs(deltaY) < swipeXMaxY) { - events.trigger(self, 'swiperight', [touchTarget]); + Events.trigger(self, 'swiperight', [touchTarget]); } else if (deltaX < (0 - swipeXThreshold) && Math.abs(deltaY) < swipeXMaxY) { - events.trigger(self, 'swipeleft', [touchTarget]); + Events.trigger(self, 'swipeleft', [touchTarget]); } else if ((deltaY < (0 - swipeYThreshold) || thresholdYMet) && Math.abs(deltaX) < swipeXMaxY) { thresholdYMet = true; - events.trigger(self, 'swipeup', [touchTarget, { + Events.trigger(self, 'swipeup', [touchTarget, { deltaY: deltaY, deltaX: deltaX, clientX: clientX, @@ -90,7 +90,7 @@ class TouchHelper { } else if ((deltaY > swipeYThreshold || thresholdYMet) && Math.abs(deltaX) < swipeXMaxY) { thresholdYMet = true; - events.trigger(self, 'swipedown', [touchTarget, { + Events.trigger(self, 'swipedown', [touchTarget, { deltaY: deltaY, deltaX: deltaX, clientX: clientX, diff --git a/webpack.dev.js b/webpack.dev.js index a89ff3a75..2a33ca240 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -18,7 +18,7 @@ module.exports = merge(common, { }, { test: /\.js$/, - exclude: /node_modules[\\/](?!date-fns|epubjs|libarchive|jellyfin-apiclient|split-on-first|strict-uri-encode|xmldom)/, + exclude: /node_modules[\\/](?!date-fns|epubjs|query-string|split-on-first)/, use: { loader: 'babel-loader', options: {