Fix apiclient imports
This commit is contained in:
parent
7d9208e951
commit
a71b0314d4
71 changed files with 424 additions and 425 deletions
|
@ -1,4 +1,4 @@
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import globalize from '../scripts/globalize';
|
import globalize from '../scripts/globalize';
|
||||||
import dom from '../scripts/dom';
|
import dom from '../scripts/dom';
|
||||||
import * as datefns from 'date-fns';
|
import * as datefns from 'date-fns';
|
||||||
|
@ -144,7 +144,7 @@ class ActivityLog {
|
||||||
reloadData(this, element, apiClient);
|
reloadData(this, element, apiClient);
|
||||||
const onUpdate = onActivityLogUpdate.bind(this);
|
const onUpdate = onActivityLogUpdate.bind(this);
|
||||||
this.updateFn = onUpdate;
|
this.updateFn = onUpdate;
|
||||||
events.on(serverNotifications, 'ActivityLogEntry', onUpdate);
|
Events.on(serverNotifications, 'ActivityLogEntry', onUpdate);
|
||||||
apiClient.sendMessage('ActivityLogEntryStart', '0,1500');
|
apiClient.sendMessage('ActivityLogEntryStart', '0,1500');
|
||||||
}
|
}
|
||||||
destroy() {
|
destroy() {
|
||||||
|
@ -158,7 +158,7 @@ class ActivityLog {
|
||||||
const onUpdate = this.updateFn;
|
const onUpdate = this.updateFn;
|
||||||
|
|
||||||
if (onUpdate) {
|
if (onUpdate) {
|
||||||
events.off(serverNotifications, 'ActivityLogEntry', onUpdate);
|
Events.off(serverNotifications, 'ActivityLogEntry', onUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.items = null;
|
this.items = null;
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { appHost } from './apphost';
|
||||||
import appSettings from '../scripts/settings/appSettings';
|
import appSettings from '../scripts/settings/appSettings';
|
||||||
import backdrop from './backdrop/backdrop';
|
import backdrop from './backdrop/backdrop';
|
||||||
import browser from '../scripts/browser';
|
import browser from '../scripts/browser';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import globalize from '../scripts/globalize';
|
import globalize from '../scripts/globalize';
|
||||||
import itemHelper from './itemHelper';
|
import itemHelper from './itemHelper';
|
||||||
import loading from './loading/loading';
|
import loading from './loading/loading';
|
||||||
|
@ -150,8 +150,8 @@ class AppRouter {
|
||||||
loading.show();
|
loading.show();
|
||||||
this.initApiClients();
|
this.initApiClients();
|
||||||
|
|
||||||
events.on(appHost, 'beforeexit', this.onBeforeExit);
|
Events.on(appHost, 'beforeexit', this.onBeforeExit);
|
||||||
events.on(appHost, 'resume', this.onAppResume);
|
Events.on(appHost, 'resume', this.onAppResume);
|
||||||
|
|
||||||
window.ConnectionManager.connect({
|
window.ConnectionManager.connect({
|
||||||
enableAutoLogin: appSettings.enableAutoLogin()
|
enableAutoLogin: appSettings.enableAutoLogin()
|
||||||
|
@ -484,8 +484,8 @@ class AppRouter {
|
||||||
newApiClient.getMaxBandwidth = this.getMaxBandwidth;
|
newApiClient.getMaxBandwidth = this.getMaxBandwidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
events.off(newApiClient, 'requestfail', this.onRequestFail);
|
Events.off(newApiClient, 'requestfail', this.onRequestFail);
|
||||||
events.on(newApiClient, 'requestfail', this.onRequestFail);
|
Events.on(newApiClient, 'requestfail', this.onRequestFail);
|
||||||
}
|
}
|
||||||
|
|
||||||
initApiClient(apiClient, instance) {
|
initApiClient(apiClient, instance) {
|
||||||
|
@ -497,7 +497,7 @@ class AppRouter {
|
||||||
this.initApiClient(apiClient, this);
|
this.initApiClient(apiClient, this);
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(window.ConnectionManager, 'apiclientcreated', this.onApiClientCreated);
|
Events.on(window.ConnectionManager, 'apiclientcreated', this.onApiClientCreated);
|
||||||
}
|
}
|
||||||
|
|
||||||
onAppResume() {
|
onAppResume() {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
import appSettings from '../scripts/settings/appSettings';
|
import appSettings from '../scripts/settings/appSettings';
|
||||||
import browser from '../scripts/browser';
|
import browser from '../scripts/browser';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import * as htmlMediaHelper from '../components/htmlMediaHelper';
|
import * as htmlMediaHelper from '../components/htmlMediaHelper';
|
||||||
import * as webSettings from '../scripts/settings/webSettings';
|
import * as webSettings from '../scripts/settings/webSettings';
|
||||||
import globalize from '../scripts/globalize';
|
import globalize from '../scripts/globalize';
|
||||||
|
@ -173,7 +173,7 @@ function supportsCue() {
|
||||||
function onAppVisible() {
|
function onAppVisible() {
|
||||||
if (isHidden) {
|
if (isHidden) {
|
||||||
isHidden = false;
|
isHidden = false;
|
||||||
events.trigger(appHost, 'resume');
|
Events.trigger(appHost, 'resume');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import datetime from '../../scripts/datetime';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import loading from '../loading/loading';
|
import loading from '../loading/loading';
|
||||||
import skinManager from '../../scripts/themeManager';
|
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-select/emby-select';
|
||||||
import '../../elements/emby-checkbox/emby-checkbox';
|
import '../../elements/emby-checkbox/emby-checkbox';
|
||||||
import '../../elements/emby-button/emby-button';
|
import '../../elements/emby-button/emby-button';
|
||||||
|
@ -172,7 +172,7 @@ import '../../elements/emby-button/emby-button';
|
||||||
toast(globalize.translate('SettingsSaved'));
|
toast(globalize.translate('SettingsSaved'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
events.trigger(instance, 'saved');
|
Events.trigger(instance, 'saved');
|
||||||
}, () => {
|
}, () => {
|
||||||
loading.hide();
|
loading.hide();
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
import dialogHelper from '../dialogHelper/dialogHelper';
|
import dialogHelper from '../dialogHelper/dialogHelper';
|
||||||
import globalize from '../../scripts/globalize';
|
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-checkbox/emby-checkbox';
|
||||||
import '../../elements/emby-collapse/emby-collapse';
|
import '../../elements/emby-collapse/emby-collapse';
|
||||||
import './style.css';
|
import './style.css';
|
||||||
|
@ -108,7 +108,7 @@ import './style.css';
|
||||||
* @param instance {FilterDialog} An instance of FilterDialog
|
* @param instance {FilterDialog} An instance of FilterDialog
|
||||||
*/
|
*/
|
||||||
function triggerChange(instance) {
|
function triggerChange(instance) {
|
||||||
events.trigger(instance, 'filterchange');
|
Events.trigger(instance, 'filterchange');
|
||||||
}
|
}
|
||||||
|
|
||||||
function setVisibility(context, options) {
|
function setVisibility(context, options) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import inputManager from '../../scripts/inputManager';
|
import inputManager from '../../scripts/inputManager';
|
||||||
import browser from '../../scripts/browser';
|
import browser from '../../scripts/browser';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import scrollHelper from '../../scripts/scrollHelper';
|
import scrollHelper from '../../scripts/scrollHelper';
|
||||||
import serverNotifications from '../../scripts/serverNotifications';
|
import serverNotifications from '../../scripts/serverNotifications';
|
||||||
import loading from '../loading/loading';
|
import loading from '../loading/loading';
|
||||||
|
@ -164,10 +164,10 @@ function Guide(options) {
|
||||||
self.destroy = function () {
|
self.destroy = function () {
|
||||||
stopAutoRefresh();
|
stopAutoRefresh();
|
||||||
|
|
||||||
events.off(serverNotifications, 'TimerCreated', onTimerCreated);
|
Events.off(serverNotifications, 'TimerCreated', onTimerCreated);
|
||||||
events.off(serverNotifications, 'SeriesTimerCreated', onSeriesTimerCreated);
|
Events.off(serverNotifications, 'SeriesTimerCreated', onSeriesTimerCreated);
|
||||||
events.off(serverNotifications, 'TimerCancelled', onTimerCancelled);
|
Events.off(serverNotifications, 'TimerCancelled', onTimerCancelled);
|
||||||
events.off(serverNotifications, 'SeriesTimerCancelled', onSeriesTimerCancelled);
|
Events.off(serverNotifications, 'SeriesTimerCancelled', onSeriesTimerCancelled);
|
||||||
|
|
||||||
setScrollEvents(options.element, false);
|
setScrollEvents(options.element, false);
|
||||||
itemShortcuts.off(options.element);
|
itemShortcuts.off(options.element);
|
||||||
|
@ -1001,7 +1001,7 @@ function Guide(options) {
|
||||||
const item = items[id];
|
const item = items[id];
|
||||||
|
|
||||||
if (item) {
|
if (item) {
|
||||||
events.trigger(self, 'focus', [
|
Events.trigger(self, 'focus', [
|
||||||
{
|
{
|
||||||
item: item
|
item: item
|
||||||
}]);
|
}]);
|
||||||
|
@ -1183,12 +1183,12 @@ function Guide(options) {
|
||||||
setScrollEvents(context, true);
|
setScrollEvents(context, true);
|
||||||
itemShortcuts.on(context);
|
itemShortcuts.on(context);
|
||||||
|
|
||||||
events.trigger(self, 'load');
|
Events.trigger(self, 'load');
|
||||||
|
|
||||||
events.on(serverNotifications, 'TimerCreated', onTimerCreated);
|
Events.on(serverNotifications, 'TimerCreated', onTimerCreated);
|
||||||
events.on(serverNotifications, 'SeriesTimerCreated', onSeriesTimerCreated);
|
Events.on(serverNotifications, 'SeriesTimerCreated', onSeriesTimerCreated);
|
||||||
events.on(serverNotifications, 'TimerCancelled', onTimerCancelled);
|
Events.on(serverNotifications, 'TimerCancelled', onTimerCancelled);
|
||||||
events.on(serverNotifications, 'SeriesTimerCancelled', onSeriesTimerCancelled);
|
Events.on(serverNotifications, 'SeriesTimerCancelled', onSeriesTimerCancelled);
|
||||||
|
|
||||||
self.refresh();
|
self.refresh();
|
||||||
});
|
});
|
||||||
|
|
|
@ -3,7 +3,7 @@ import layoutManager from '../layoutManager';
|
||||||
import focusManager from '../focusManager';
|
import focusManager from '../focusManager';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import loading from '../loading/loading';
|
import loading from '../loading/loading';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import homeSections from '../homesections/homesections';
|
import homeSections from '../homesections/homesections';
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
import '../listview/listview.css';
|
import '../listview/listview.css';
|
||||||
|
@ -375,7 +375,7 @@ import '../../elements/emby-checkbox/emby-checkbox';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(instance, 'saved');
|
Events.trigger(instance, 'saved');
|
||||||
}, () => {
|
}, () => {
|
||||||
loading.hide();
|
loading.hide();
|
||||||
});
|
});
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
import appSettings from '../scripts/settings/appSettings' ;
|
import appSettings from '../scripts/settings/appSettings' ;
|
||||||
import browser from '../scripts/browser';
|
import browser from '../scripts/browser';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
export function getSavedVolume() {
|
export function getSavedVolume() {
|
||||||
return appSettings.get('volume') || 1;
|
return appSettings.get('volume') || 1;
|
||||||
|
@ -115,7 +115,7 @@ import { events } from 'jellyfin-apiclient';
|
||||||
instance.destroyCustomTrack(instance._mediaElement);
|
instance.destroyCustomTrack(instance._mediaElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(instance, 'error', [
|
Events.trigger(instance, 'error', [
|
||||||
{
|
{
|
||||||
type: type
|
type: type
|
||||||
}
|
}
|
||||||
|
@ -360,7 +360,7 @@ import { events } from 'jellyfin-apiclient';
|
||||||
src: instance._currentSrc
|
src: instance._currentSrc
|
||||||
};
|
};
|
||||||
|
|
||||||
events.trigger(instance, 'stopped', [stopInfo]);
|
Events.trigger(instance, 'stopped', [stopInfo]);
|
||||||
|
|
||||||
instance._currentTime = null;
|
instance._currentTime = null;
|
||||||
instance._currentSrc = null;
|
instance._currentSrc = null;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { playbackManager } from './playback/playbackmanager';
|
import { playbackManager } from './playback/playbackmanager';
|
||||||
import serverNotifications from '../scripts/serverNotifications';
|
import serverNotifications from '../scripts/serverNotifications';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
function onUserDataChanged(e, apiClient, userData) {
|
function onUserDataChanged(e, apiClient, userData) {
|
||||||
const instance = this;
|
const instance = this;
|
||||||
|
@ -110,7 +110,7 @@ function onPlaybackStopped(e, stopInfo) {
|
||||||
function addNotificationEvent(instance, name, handler, owner) {
|
function addNotificationEvent(instance, name, handler, owner) {
|
||||||
const localHandler = handler.bind(instance);
|
const localHandler = handler.bind(instance);
|
||||||
owner = owner || serverNotifications;
|
owner = owner || serverNotifications;
|
||||||
events.on(owner, name, localHandler);
|
Events.on(owner, name, localHandler);
|
||||||
instance['event_' + name] = localHandler;
|
instance['event_' + name] = localHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ function removeNotificationEvent(instance, name, owner) {
|
||||||
const handler = instance['event_' + name];
|
const handler = instance['event_' + name];
|
||||||
if (handler) {
|
if (handler) {
|
||||||
owner = owner || serverNotifications;
|
owner = owner || serverNotifications;
|
||||||
events.off(owner, name, handler);
|
Events.off(owner, name, handler);
|
||||||
instance['event_' + name] = null;
|
instance['event_' + name] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import { appHost } from './apphost';
|
import { appHost } from './apphost';
|
||||||
import browser from '../scripts/browser';
|
import browser from '../scripts/browser';
|
||||||
import { set, get } from '../scripts/settings/appSettings';
|
import { set, get } from '../scripts/settings/appSettings';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
function setLayout(instance, layout, selectedLayout) {
|
function setLayout(instance, layout, selectedLayout) {
|
||||||
if (layout === selectedLayout) {
|
if (layout === selectedLayout) {
|
||||||
|
@ -32,7 +32,7 @@ class LayoutManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(this, 'modechange');
|
Events.trigger(this, 'modechange');
|
||||||
}
|
}
|
||||||
|
|
||||||
getSavedLayout() {
|
getSavedLayout() {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import dom from '../scripts/dom';
|
import dom from '../scripts/dom';
|
||||||
import browser from '../scripts/browser';
|
import browser from '../scripts/browser';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import '../elements/emby-tabs/emby-tabs';
|
import '../elements/emby-tabs/emby-tabs';
|
||||||
import '../elements/emby-button/emby-button';
|
import '../elements/emby-button/emby-button';
|
||||||
|
|
||||||
|
@ -68,8 +68,8 @@ import '../elements/emby-button/emby-button';
|
||||||
import('../scripts/touchHelper').then((TouchHelper) => {
|
import('../scripts/touchHelper').then((TouchHelper) => {
|
||||||
const touchHelper = new TouchHelper(view.parentNode.parentNode);
|
const touchHelper = new TouchHelper(view.parentNode.parentNode);
|
||||||
|
|
||||||
events.on(touchHelper, 'swipeleft', onSwipeLeft);
|
Events.on(touchHelper, 'swipeleft', onSwipeLeft);
|
||||||
events.on(touchHelper, 'swiperight', onSwipeRight);
|
Events.on(touchHelper, 'swiperight', onSwipeRight);
|
||||||
|
|
||||||
view.addEventListener('viewdestroy', function () {
|
view.addEventListener('viewdestroy', function () {
|
||||||
touchHelper.destroy();
|
touchHelper.destroy();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import serverNotifications from '../../scripts/serverNotifications';
|
import serverNotifications from '../../scripts/serverNotifications';
|
||||||
import { playbackManager } from '../playback/playbackmanager';
|
import { playbackManager } from '../playback/playbackmanager';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
|
|
||||||
function onOneDocumentClick() {
|
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);
|
onLibraryChanged(data, apiClient);
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(serverNotifications, 'PackageInstallationCompleted', function (e, apiClient, data) {
|
Events.on(serverNotifications, 'PackageInstallationCompleted', function (e, apiClient, data) {
|
||||||
showPackageInstallNotification(apiClient, data, 'completed');
|
showPackageInstallNotification(apiClient, data, 'completed');
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(serverNotifications, 'PackageInstallationFailed', function (e, apiClient, data) {
|
Events.on(serverNotifications, 'PackageInstallationFailed', function (e, apiClient, data) {
|
||||||
showPackageInstallNotification(apiClient, data, 'failed');
|
showPackageInstallNotification(apiClient, data, 'failed');
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(serverNotifications, 'PackageInstallationCancelled', function (e, apiClient, data) {
|
Events.on(serverNotifications, 'PackageInstallationCancelled', function (e, apiClient, data) {
|
||||||
showPackageInstallNotification(apiClient, data, 'cancelled');
|
showPackageInstallNotification(apiClient, data, 'cancelled');
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(serverNotifications, 'PackageInstalling', function (e, apiClient, data) {
|
Events.on(serverNotifications, 'PackageInstalling', function (e, apiClient, data) {
|
||||||
showPackageInstallNotification(apiClient, data, 'progress');
|
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 serverId = apiClient.serverInfo().Id;
|
||||||
const notification = {
|
const notification = {
|
||||||
tag: 'restart' + serverId,
|
tag: 'restart' + serverId,
|
||||||
|
@ -228,7 +228,7 @@ events.on(serverNotifications, 'ServerShuttingDown', function (e, apiClient, dat
|
||||||
showNotification(notification, 0, apiClient);
|
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 serverId = apiClient.serverInfo().Id;
|
||||||
const notification = {
|
const notification = {
|
||||||
tag: 'restart' + serverId,
|
tag: 'restart' + serverId,
|
||||||
|
@ -237,7 +237,7 @@ events.on(serverNotifications, 'ServerRestarting', function (e, apiClient, data)
|
||||||
showNotification(notification, 0, apiClient);
|
showNotification(notification, 0, apiClient);
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(serverNotifications, 'RestartRequired', function (e, apiClient) {
|
Events.on(serverNotifications, 'RestartRequired', function (e, apiClient) {
|
||||||
const serverId = apiClient.serverInfo().Id;
|
const serverId = apiClient.serverInfo().Id;
|
||||||
const notification = {
|
const notification = {
|
||||||
tag: 'restart' + serverId,
|
tag: 'restart' + serverId,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import datetime from '../../scripts/datetime';
|
import datetime from '../../scripts/datetime';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import browser from '../../scripts/browser';
|
import browser from '../../scripts/browser';
|
||||||
import imageLoader from '../../scripts/imagehelper';
|
import imageLoader from '../../scripts/imagehelper';
|
||||||
import layoutManager from '../layoutManager';
|
import layoutManager from '../layoutManager';
|
||||||
|
@ -707,15 +707,15 @@ import '../../elements/emby-ratingbutton/emby-ratingbutton';
|
||||||
const player = currentPlayer;
|
const player = currentPlayer;
|
||||||
|
|
||||||
if (player) {
|
if (player) {
|
||||||
events.off(player, 'playbackstart', onPlaybackStart);
|
Events.off(player, 'playbackstart', onPlaybackStart);
|
||||||
events.off(player, 'statechange', onPlaybackStart);
|
Events.off(player, 'statechange', onPlaybackStart);
|
||||||
events.off(player, 'repeatmodechange', onRepeatModeChange);
|
Events.off(player, 'repeatmodechange', onRepeatModeChange);
|
||||||
events.off(player, 'shufflequeuemodechange', onQueueShuffleModeChange);
|
Events.off(player, 'shufflequeuemodechange', onQueueShuffleModeChange);
|
||||||
events.off(player, 'playbackstop', onPlaybackStopped);
|
Events.off(player, 'playbackstop', onPlaybackStopped);
|
||||||
events.off(player, 'volumechange', onVolumeChanged);
|
Events.off(player, 'volumechange', onVolumeChanged);
|
||||||
events.off(player, 'pause', onPlayPauseStateChanged);
|
Events.off(player, 'pause', onPlayPauseStateChanged);
|
||||||
events.off(player, 'unpause', onPlayPauseStateChanged);
|
Events.off(player, 'unpause', onPlayPauseStateChanged);
|
||||||
events.off(player, 'timeupdate', onTimeUpdate);
|
Events.off(player, 'timeupdate', onTimeUpdate);
|
||||||
|
|
||||||
currentPlayer = null;
|
currentPlayer = null;
|
||||||
hideNowPlayingBar();
|
hideNowPlayingBar();
|
||||||
|
@ -753,18 +753,18 @@ import '../../elements/emby-ratingbutton/emby-ratingbutton';
|
||||||
|
|
||||||
refreshFromPlayer(player);
|
refreshFromPlayer(player);
|
||||||
|
|
||||||
events.on(player, 'playbackstart', onPlaybackStart);
|
Events.on(player, 'playbackstart', onPlaybackStart);
|
||||||
events.on(player, 'statechange', onPlaybackStart);
|
Events.on(player, 'statechange', onPlaybackStart);
|
||||||
events.on(player, 'repeatmodechange', onRepeatModeChange);
|
Events.on(player, 'repeatmodechange', onRepeatModeChange);
|
||||||
events.on(player, 'shufflequeuemodechange', onQueueShuffleModeChange);
|
Events.on(player, 'shufflequeuemodechange', onQueueShuffleModeChange);
|
||||||
events.on(player, 'playbackstop', onPlaybackStopped);
|
Events.on(player, 'playbackstop', onPlaybackStopped);
|
||||||
events.on(player, 'volumechange', onVolumeChanged);
|
Events.on(player, 'volumechange', onVolumeChanged);
|
||||||
events.on(player, 'pause', onPlayPauseStateChanged);
|
Events.on(player, 'pause', onPlayPauseStateChanged);
|
||||||
events.on(player, 'unpause', onPlayPauseStateChanged);
|
Events.on(player, 'unpause', onPlayPauseStateChanged);
|
||||||
events.on(player, 'timeupdate', onTimeUpdate);
|
Events.on(player, 'timeupdate', onTimeUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
events.on(playbackManager, 'playerchange', function () {
|
Events.on(playbackManager, 'playerchange', function () {
|
||||||
bindToPlayer(playbackManager.getCurrentPlayer());
|
bindToPlayer(playbackManager.getCurrentPlayer());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import { playbackManager } from './playbackmanager';
|
import { playbackManager } from './playbackmanager';
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
import browser from '../../scripts/browser';
|
import browser from '../../scripts/browser';
|
||||||
|
@ -121,8 +121,8 @@ function releaseCurrentPlayer() {
|
||||||
const player = currentPlayer;
|
const player = currentPlayer;
|
||||||
|
|
||||||
if (player) {
|
if (player) {
|
||||||
events.off(player, 'brightnesschange', onBrightnessChanged);
|
Events.off(player, 'brightnesschange', onBrightnessChanged);
|
||||||
events.off(player, 'playbackstop', hideOsd);
|
Events.off(player, 'playbackstop', hideOsd);
|
||||||
currentPlayer = null;
|
currentPlayer = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -151,11 +151,11 @@ function bindToPlayer(player) {
|
||||||
}
|
}
|
||||||
|
|
||||||
hideOsd();
|
hideOsd();
|
||||||
events.on(player, 'brightnesschange', onBrightnessChanged);
|
Events.on(player, 'brightnesschange', onBrightnessChanged);
|
||||||
events.on(player, 'playbackstop', hideOsd);
|
Events.on(player, 'playbackstop', hideOsd);
|
||||||
}
|
}
|
||||||
|
|
||||||
events.on(playbackManager, 'playerchange', function () {
|
Events.on(playbackManager, 'playerchange', function () {
|
||||||
bindToPlayer(playbackManager.getCurrentPlayer());
|
bindToPlayer(playbackManager.getCurrentPlayer());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { playbackManager } from '../playback/playbackmanager';
|
import { playbackManager } from '../playback/playbackmanager';
|
||||||
import nowPlayingHelper from '../playback/nowplayinghelper';
|
import nowPlayingHelper from '../playback/nowplayinghelper';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
/* eslint-disable indent */
|
/* eslint-disable indent */
|
||||||
|
|
||||||
// Reports media playback to the device for lock screen control
|
// Reports media playback to the device for lock screen control
|
||||||
|
@ -163,12 +163,12 @@ import { ConnectionManager, events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
function releaseCurrentPlayer() {
|
function releaseCurrentPlayer() {
|
||||||
if (currentPlayer) {
|
if (currentPlayer) {
|
||||||
events.off(currentPlayer, 'playbackstart', onPlaybackStart);
|
Events.off(currentPlayer, 'playbackstart', onPlaybackStart);
|
||||||
events.off(currentPlayer, 'playbackstop', onPlaybackStopped);
|
Events.off(currentPlayer, 'playbackstop', onPlaybackStopped);
|
||||||
events.off(currentPlayer, 'unpause', onGeneralEvent);
|
Events.off(currentPlayer, 'unpause', onGeneralEvent);
|
||||||
events.off(currentPlayer, 'pause', onGeneralEvent);
|
Events.off(currentPlayer, 'pause', onGeneralEvent);
|
||||||
events.off(currentPlayer, 'statechange', onStateChanged);
|
Events.off(currentPlayer, 'statechange', onStateChanged);
|
||||||
events.off(currentPlayer, 'timeupdate', onGeneralEvent);
|
Events.off(currentPlayer, 'timeupdate', onGeneralEvent);
|
||||||
|
|
||||||
currentPlayer = null;
|
currentPlayer = null;
|
||||||
|
|
||||||
|
@ -197,12 +197,12 @@ import { ConnectionManager, events } from 'jellyfin-apiclient';
|
||||||
const state = playbackManager.getPlayerState(player);
|
const state = playbackManager.getPlayerState(player);
|
||||||
updatePlayerState(player, state, 'init');
|
updatePlayerState(player, state, 'init');
|
||||||
|
|
||||||
events.on(currentPlayer, 'playbackstart', onPlaybackStart);
|
Events.on(currentPlayer, 'playbackstart', onPlaybackStart);
|
||||||
events.on(currentPlayer, 'playbackstop', onPlaybackStopped);
|
Events.on(currentPlayer, 'playbackstop', onPlaybackStopped);
|
||||||
events.on(currentPlayer, 'unpause', onGeneralEvent);
|
Events.on(currentPlayer, 'unpause', onGeneralEvent);
|
||||||
events.on(currentPlayer, 'pause', onGeneralEvent);
|
Events.on(currentPlayer, 'pause', onGeneralEvent);
|
||||||
events.on(currentPlayer, 'statechange', onStateChanged);
|
Events.on(currentPlayer, 'statechange', onStateChanged);
|
||||||
events.on(currentPlayer, 'timeupdate', onGeneralEvent);
|
Events.on(currentPlayer, 'timeupdate', onGeneralEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
function execute(name) {
|
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());
|
bindToPlayer(playbackManager.getCurrentPlayer());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import datetime from '../../scripts/datetime';
|
import datetime from '../../scripts/datetime';
|
||||||
import appSettings from '../../scripts/settings/appSettings';
|
import appSettings from '../../scripts/settings/appSettings';
|
||||||
import itemHelper from '../itemHelper';
|
import itemHelper from '../itemHelper';
|
||||||
|
@ -25,12 +25,12 @@ function enableLocalPlaylistManagement(player) {
|
||||||
function bindToFullscreenChange(player) {
|
function bindToFullscreenChange(player) {
|
||||||
if (Screenfull.isEnabled) {
|
if (Screenfull.isEnabled) {
|
||||||
Screenfull.on('change', function () {
|
Screenfull.on('change', function () {
|
||||||
events.trigger(player, 'fullscreenchange');
|
Events.trigger(player, 'fullscreenchange');
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// iOS Safari
|
// iOS Safari
|
||||||
document.addEventListener('webkitfullscreenchange', function () {
|
document.addEventListener('webkitfullscreenchange', function () {
|
||||||
events.trigger(player, 'fullscreenchange');
|
Events.trigger(player, 'fullscreenchange');
|
||||||
}, false);
|
}, 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) {
|
function reportPlayback(playbackManagerInstance, state, player, reportPlaylist, serverId, method, progressEventName) {
|
||||||
if (!serverId) {
|
if (!serverId) {
|
||||||
// Not a server item
|
// Not a server item
|
||||||
// We can expand on this later and possibly report them
|
// We can expand on this later and possibly report them
|
||||||
events.trigger(playbackManagerInstance, 'reportplayback', [false]);
|
Events.trigger(playbackManagerInstance, 'reportplayback', [false]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ function reportPlayback(playbackManagerInstance, state, player, reportPlaylist,
|
||||||
const reportPlaybackPromise = apiClient[method](info);
|
const reportPlaybackPromise = apiClient[method](info);
|
||||||
// Notify that report has been sent
|
// Notify that report has been sent
|
||||||
reportPlaybackPromise.then(() => {
|
reportPlaybackPromise.then(() => {
|
||||||
events.trigger(playbackManagerInstance, 'reportplayback', [true]);
|
Events.trigger(playbackManagerInstance, 'reportplayback', [true]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -852,13 +852,13 @@ class PlaybackManager {
|
||||||
player.tryPair(targetInfo) :
|
player.tryPair(targetInfo) :
|
||||||
Promise.resolve();
|
Promise.resolve();
|
||||||
|
|
||||||
events.trigger(self, 'pairing');
|
Events.trigger(self, 'pairing');
|
||||||
|
|
||||||
promise.then(function () {
|
promise.then(function () {
|
||||||
events.trigger(self, 'paired');
|
Events.trigger(self, 'paired');
|
||||||
setCurrentPlayerInternal(player, targetInfo);
|
setCurrentPlayerInternal(player, targetInfo);
|
||||||
}, function () {
|
}, function () {
|
||||||
events.trigger(self, 'pairerror');
|
Events.trigger(self, 'pairerror');
|
||||||
if (currentPairingId === targetInfo.id) {
|
if (currentPairingId === targetInfo.id) {
|
||||||
currentPairingId = null;
|
currentPairingId = null;
|
||||||
}
|
}
|
||||||
|
@ -2158,7 +2158,7 @@ class PlaybackManager {
|
||||||
removeCurrentPlayer(player);
|
removeCurrentPlayer(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(self, 'playbackcancelled');
|
Events.trigger(self, 'playbackcancelled');
|
||||||
|
|
||||||
return Promise.reject();
|
return Promise.reject();
|
||||||
}
|
}
|
||||||
|
@ -2548,7 +2548,7 @@ class PlaybackManager {
|
||||||
|
|
||||||
const isCurrentIndex = removeResult.isCurrentIndex;
|
const isCurrentIndex = removeResult.isCurrentIndex;
|
||||||
|
|
||||||
events.trigger(player, 'playlistitemremove', [
|
Events.trigger(player, 'playlistitemremove', [
|
||||||
{
|
{
|
||||||
playlistItemIds: playlistItemIds
|
playlistItemIds: playlistItemIds
|
||||||
}
|
}
|
||||||
|
@ -2573,7 +2573,7 @@ class PlaybackManager {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(player, 'playlistitemmove', [
|
Events.trigger(player, 'playlistitemmove', [
|
||||||
{
|
{
|
||||||
playlistItemId: moveResult.playlistItemId,
|
playlistItemId: moveResult.playlistItemId,
|
||||||
newIndex: moveResult.newIndex
|
newIndex: moveResult.newIndex
|
||||||
|
@ -2727,7 +2727,7 @@ class PlaybackManager {
|
||||||
} else {
|
} else {
|
||||||
self._playQueueManager.queue(items);
|
self._playQueueManager.queue(items);
|
||||||
}
|
}
|
||||||
events.trigger(player, 'playlistitemadd');
|
Events.trigger(player, 'playlistitemadd');
|
||||||
}
|
}
|
||||||
|
|
||||||
function onPlayerProgressInterval() {
|
function onPlayerProgressInterval() {
|
||||||
|
@ -2779,8 +2779,8 @@ class PlaybackManager {
|
||||||
|
|
||||||
state.IsFirstItem = isFirstItem;
|
state.IsFirstItem = isFirstItem;
|
||||||
state.IsFullscreen = fullscreen;
|
state.IsFullscreen = fullscreen;
|
||||||
events.trigger(player, 'playbackstart', [state]);
|
Events.trigger(player, 'playbackstart', [state]);
|
||||||
events.trigger(self, 'playbackstart', [player, state]);
|
Events.trigger(self, 'playbackstart', [player, state]);
|
||||||
|
|
||||||
// only used internally as a safeguard to avoid reporting other events to the server before playback start
|
// only used internally as a safeguard to avoid reporting other events to the server before playback start
|
||||||
streamInfo.started = true;
|
streamInfo.started = true;
|
||||||
|
@ -2810,8 +2810,8 @@ class PlaybackManager {
|
||||||
|
|
||||||
state.IsFirstItem = isFirstItem;
|
state.IsFirstItem = isFirstItem;
|
||||||
state.IsFullscreen = fullscreen;
|
state.IsFullscreen = fullscreen;
|
||||||
events.trigger(player, 'playbackstart', [state]);
|
Events.trigger(player, 'playbackstart', [state]);
|
||||||
events.trigger(self, 'playbackstart', [player, state]);
|
Events.trigger(self, 'playbackstart', [player, state]);
|
||||||
|
|
||||||
// only used internally as a safeguard to avoid reporting other events to the server before playback start
|
// only used internally as a safeguard to avoid reporting other events to the server before playback start
|
||||||
streamInfo.started = true;
|
streamInfo.started = true;
|
||||||
|
@ -2850,8 +2850,8 @@ class PlaybackManager {
|
||||||
|
|
||||||
state.NextItem = playbackStopInfo.nextItem;
|
state.NextItem = playbackStopInfo.nextItem;
|
||||||
|
|
||||||
events.trigger(player, 'playbackstop', [state]);
|
Events.trigger(player, 'playbackstop', [state]);
|
||||||
events.trigger(self, 'playbackstop', [playbackStopInfo]);
|
Events.trigger(self, 'playbackstop', [playbackStopInfo]);
|
||||||
|
|
||||||
const nextItemPlayOptions = nextItem ? (nextItem.item.playOptions || getDefaultPlayOptions()) : getDefaultPlayOptions();
|
const nextItemPlayOptions = nextItem ? (nextItem.item.playOptions || getDefaultPlayOptions()) : getDefaultPlayOptions();
|
||||||
const newPlayer = nextItem ? getPlayer(nextItem.item, nextItemPlayOptions) : null;
|
const newPlayer = nextItem ? getPlayer(nextItem.item, nextItemPlayOptions) : null;
|
||||||
|
@ -2952,8 +2952,8 @@ class PlaybackManager {
|
||||||
self._playQueueManager.reset();
|
self._playQueueManager.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(player, 'playbackstop', [state]);
|
Events.trigger(player, 'playbackstop', [state]);
|
||||||
events.trigger(self, 'playbackstop', [playbackStopInfo]);
|
Events.trigger(self, 'playbackstop', [playbackStopInfo]);
|
||||||
|
|
||||||
const nextItemPlayOptions = nextItem ? (nextItem.item.playOptions || getDefaultPlayOptions()) : getDefaultPlayOptions();
|
const nextItemPlayOptions = nextItem ? (nextItem.item.playOptions || getDefaultPlayOptions()) : getDefaultPlayOptions();
|
||||||
const newPlayer = nextItem ? getPlayer(nextItem.item, nextItemPlayOptions) : null;
|
const newPlayer = nextItem ? getPlayer(nextItem.item, nextItemPlayOptions) : null;
|
||||||
|
@ -2999,7 +2999,7 @@ class PlaybackManager {
|
||||||
reportPlayback(self, state, activePlayer, true, serverId, 'reportPlaybackStopped');
|
reportPlayback(self, state, activePlayer, true, serverId, 'reportPlaybackStopped');
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(self, 'playbackstop', [{
|
Events.trigger(self, 'playbackstop', [{
|
||||||
player: activePlayer,
|
player: activePlayer,
|
||||||
state: state,
|
state: state,
|
||||||
nextItem: newItem,
|
nextItem: newItem,
|
||||||
|
@ -3010,8 +3010,8 @@ class PlaybackManager {
|
||||||
|
|
||||||
function bindStopped(player) {
|
function bindStopped(player) {
|
||||||
if (enableLocalPlaylistManagement(player)) {
|
if (enableLocalPlaylistManagement(player)) {
|
||||||
events.off(player, 'stopped', onPlaybackStopped);
|
Events.off(player, 'stopped', onPlaybackStopped);
|
||||||
events.on(player, 'stopped', onPlaybackStopped);
|
Events.on(player, 'stopped', onPlaybackStopped);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3061,7 +3061,7 @@ class PlaybackManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
function unbindStopped(player) {
|
function unbindStopped(player) {
|
||||||
events.off(player, 'stopped', onPlaybackStopped);
|
Events.off(player, 'stopped', onPlaybackStopped);
|
||||||
}
|
}
|
||||||
|
|
||||||
function initLegacyVolumeMethods(player) {
|
function initLegacyVolumeMethods(player) {
|
||||||
|
@ -3090,28 +3090,28 @@ class PlaybackManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enableLocalPlaylistManagement(player)) {
|
if (enableLocalPlaylistManagement(player)) {
|
||||||
events.on(player, 'error', onPlaybackError);
|
Events.on(player, 'error', onPlaybackError);
|
||||||
events.on(player, 'timeupdate', onPlaybackTimeUpdate);
|
Events.on(player, 'timeupdate', onPlaybackTimeUpdate);
|
||||||
events.on(player, 'pause', onPlaybackPause);
|
Events.on(player, 'pause', onPlaybackPause);
|
||||||
events.on(player, 'unpause', onPlaybackUnpause);
|
Events.on(player, 'unpause', onPlaybackUnpause);
|
||||||
events.on(player, 'volumechange', onPlaybackVolumeChange);
|
Events.on(player, 'volumechange', onPlaybackVolumeChange);
|
||||||
events.on(player, 'repeatmodechange', onRepeatModeChange);
|
Events.on(player, 'repeatmodechange', onRepeatModeChange);
|
||||||
events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange);
|
Events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange);
|
||||||
events.on(player, 'playlistitemmove', onPlaylistItemMove);
|
Events.on(player, 'playlistitemmove', onPlaylistItemMove);
|
||||||
events.on(player, 'playlistitemremove', onPlaylistItemRemove);
|
Events.on(player, 'playlistitemremove', onPlaylistItemRemove);
|
||||||
events.on(player, 'playlistitemadd', onPlaylistItemAdd);
|
Events.on(player, 'playlistitemadd', onPlaylistItemAdd);
|
||||||
} else if (player.isLocalPlayer) {
|
} else if (player.isLocalPlayer) {
|
||||||
events.on(player, 'itemstarted', onPlaybackStartedFromSelfManagingPlayer);
|
Events.on(player, 'itemstarted', onPlaybackStartedFromSelfManagingPlayer);
|
||||||
events.on(player, 'itemstopped', onPlaybackStoppedFromSelfManagingPlayer);
|
Events.on(player, 'itemstopped', onPlaybackStoppedFromSelfManagingPlayer);
|
||||||
events.on(player, 'timeupdate', onPlaybackTimeUpdate);
|
Events.on(player, 'timeupdate', onPlaybackTimeUpdate);
|
||||||
events.on(player, 'pause', onPlaybackPause);
|
Events.on(player, 'pause', onPlaybackPause);
|
||||||
events.on(player, 'unpause', onPlaybackUnpause);
|
Events.on(player, 'unpause', onPlaybackUnpause);
|
||||||
events.on(player, 'volumechange', onPlaybackVolumeChange);
|
Events.on(player, 'volumechange', onPlaybackVolumeChange);
|
||||||
events.on(player, 'repeatmodechange', onRepeatModeChange);
|
Events.on(player, 'repeatmodechange', onRepeatModeChange);
|
||||||
events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange);
|
Events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange);
|
||||||
events.on(player, 'playlistitemmove', onPlaylistItemMove);
|
Events.on(player, 'playlistitemmove', onPlaylistItemMove);
|
||||||
events.on(player, 'playlistitemremove', onPlaylistItemRemove);
|
Events.on(player, 'playlistitemremove', onPlaylistItemRemove);
|
||||||
events.on(player, 'playlistitemadd', onPlaylistItemAdd);
|
Events.on(player, 'playlistitemadd', onPlaylistItemAdd);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.isLocalPlayer) {
|
if (player.isLocalPlayer) {
|
||||||
|
@ -3120,7 +3120,7 @@ class PlaybackManager {
|
||||||
bindStopped(player);
|
bindStopped(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
events.on(pluginManager, 'registered', function (e, plugin) {
|
Events.on(pluginManager, 'registered', function (e, plugin) {
|
||||||
if (plugin.type === 'mediaplayer') {
|
if (plugin.type === 'mediaplayer') {
|
||||||
initMediaPlayer(plugin);
|
initMediaPlayer(plugin);
|
||||||
}
|
}
|
||||||
|
@ -3165,7 +3165,7 @@ class PlaybackManager {
|
||||||
|
|
||||||
ConnectionManager.getApiClient(serverId).getLiveStreamMediaInfo(liveStreamId).then(function (info) {
|
ConnectionManager.getApiClient(serverId).getLiveStreamMediaInfo(liveStreamId).then(function (info) {
|
||||||
mediaSource.MediaStreams = info.MediaStreams;
|
mediaSource.MediaStreams = info.MediaStreams;
|
||||||
events.trigger(player, 'mediastreamschange');
|
Events.trigger(player, 'mediastreamschange');
|
||||||
}, function () {
|
}, function () {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -3191,8 +3191,8 @@ class PlaybackManager {
|
||||||
|
|
||||||
if (appHost.supports('remotecontrol')) {
|
if (appHost.supports('remotecontrol')) {
|
||||||
import('../../scripts/serverNotifications').then((serverNotifications) => {
|
import('../../scripts/serverNotifications').then((serverNotifications) => {
|
||||||
events.on(serverNotifications, 'ServerShuttingDown', self.setDefaultPlayerActive.bind(self));
|
Events.on(serverNotifications, 'ServerShuttingDown', self.setDefaultPlayerActive.bind(self));
|
||||||
events.on(serverNotifications, 'ServerRestarting', self.setDefaultPlayerActive.bind(self));
|
Events.on(serverNotifications, 'ServerRestarting', self.setDefaultPlayerActive.bind(self));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3588,7 +3588,7 @@ class PlaybackManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
this._playQueueManager.setRepeatMode(value);
|
this._playQueueManager.setRepeatMode(value);
|
||||||
events.trigger(player, 'repeatmodechange');
|
Events.trigger(player, 'repeatmodechange');
|
||||||
}
|
}
|
||||||
|
|
||||||
getRepeatMode(player = this._currentPlayer) {
|
getRepeatMode(player = this._currentPlayer) {
|
||||||
|
@ -3605,7 +3605,7 @@ class PlaybackManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
this._playQueueManager.setShuffleMode(value);
|
this._playQueueManager.setShuffleMode(value);
|
||||||
events.trigger(player, 'shufflequeuemodechange');
|
Events.trigger(player, 'shufflequeuemodechange');
|
||||||
}
|
}
|
||||||
|
|
||||||
getQueueShuffleMode(player = this._currentPlayer) {
|
getQueueShuffleMode(player = this._currentPlayer) {
|
||||||
|
@ -3633,7 +3633,7 @@ class PlaybackManager {
|
||||||
} else {
|
} else {
|
||||||
this._playQueueManager.toggleShuffleMode();
|
this._playQueueManager.toggleShuffleMode();
|
||||||
}
|
}
|
||||||
events.trigger(player, 'shufflequeuemodechange');
|
Events.trigger(player, 'shufflequeuemodechange');
|
||||||
}
|
}
|
||||||
|
|
||||||
clearQueue(clearCurrentItem = false, player = this._currentPlayer) {
|
clearQueue(clearCurrentItem = false, player = this._currentPlayer) {
|
||||||
|
@ -3642,7 +3642,7 @@ class PlaybackManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
this._playQueueManager.clearPlaylist(clearCurrentItem);
|
this._playQueueManager.clearPlaylist(clearCurrentItem);
|
||||||
events.trigger(player, 'playlistitemremove');
|
Events.trigger(player, 'playlistitemremove');
|
||||||
}
|
}
|
||||||
|
|
||||||
trySetActiveDeviceName(name) {
|
trySetActiveDeviceName(name) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
import { playbackManager } from './playbackmanager';
|
import { playbackManager } from './playbackmanager';
|
||||||
import layoutManager from '../layoutManager';
|
import layoutManager from '../layoutManager';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
let orientationLocked;
|
let orientationLocked;
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ function onOrientationChangeError(err) {
|
||||||
console.error('error locking orientation: ' + 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);
|
const isLocalVideo = player.isLocalPlayer && !player.isExternalPlayer && playbackManager.isPlayingVideo(player);
|
||||||
|
|
||||||
if (isLocalVideo && layoutManager.mobile) {
|
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) {
|
if (orientationLocked && !playbackStopInfo.nextMediaType) {
|
||||||
/* eslint-disable-next-line compat/compat */
|
/* eslint-disable-next-line compat/compat */
|
||||||
const unlockOrientation = window.screen.unlockOrientation || window.screen.mozUnlockOrientation || window.screen.msUnlockOrientation || (window.screen.orientation && window.screen.orientation.unlock);
|
const unlockOrientation = window.screen.unlockOrientation || window.screen.mozUnlockOrientation || window.screen.msUnlockOrientation || (window.screen.orientation && window.screen.orientation.unlock);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import appSettings from '../../scripts/settings/appSettings';
|
import appSettings from '../../scripts/settings/appSettings';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import browser from '../../scripts/browser';
|
import browser from '../../scripts/browser';
|
||||||
import loading from '../loading/loading';
|
import loading from '../loading/loading';
|
||||||
import { playbackManager } from '../playback/playbackmanager';
|
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') {
|
if (name === 'displaymirror') {
|
||||||
mirrorIfEnabled();
|
mirrorIfEnabled();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(playbackManager, 'pairing', function (e) {
|
Events.on(playbackManager, 'pairing', function (e) {
|
||||||
loading.show();
|
loading.show();
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(playbackManager, 'paired', function (e) {
|
Events.on(playbackManager, 'paired', function (e) {
|
||||||
loading.hide();
|
loading.hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(playbackManager, 'pairerror', function (e) {
|
Events.on(playbackManager, 'pairerror', function (e) {
|
||||||
loading.hide();
|
loading.hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import { playbackManager } from '../playback/playbackmanager';
|
import { playbackManager } from '../playback/playbackmanager';
|
||||||
|
|
||||||
function transferPlayback(oldPlayer, newPlayer) {
|
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) {
|
if (!oldPlayer || !newPlayer) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import { playbackManager } from './playbackmanager';
|
import { playbackManager } from './playbackmanager';
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
import browser from '../../scripts/browser';
|
import browser from '../../scripts/browser';
|
||||||
|
@ -112,8 +112,8 @@ function releaseCurrentPlayer() {
|
||||||
const player = currentPlayer;
|
const player = currentPlayer;
|
||||||
|
|
||||||
if (player) {
|
if (player) {
|
||||||
events.off(player, 'volumechange', onVolumeChanged);
|
Events.off(player, 'volumechange', onVolumeChanged);
|
||||||
events.off(player, 'playbackstop', hideOsd);
|
Events.off(player, 'playbackstop', hideOsd);
|
||||||
currentPlayer = null;
|
currentPlayer = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -142,11 +142,11 @@ function bindToPlayer(player) {
|
||||||
}
|
}
|
||||||
|
|
||||||
hideOsd();
|
hideOsd();
|
||||||
events.on(player, 'volumechange', onVolumeChanged);
|
Events.on(player, 'volumechange', onVolumeChanged);
|
||||||
events.on(player, 'playbackstop', hideOsd);
|
Events.on(player, 'playbackstop', hideOsd);
|
||||||
}
|
}
|
||||||
|
|
||||||
events.on(playbackManager, 'playerchange', function () {
|
Events.on(playbackManager, 'playerchange', function () {
|
||||||
bindToPlayer(playbackManager.getCurrentPlayer());
|
bindToPlayer(playbackManager.getCurrentPlayer());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import focusManager from '../focusManager';
|
||||||
import qualityoptions from '../qualityOptions';
|
import qualityoptions from '../qualityOptions';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import loading from '../loading/loading';
|
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-select/emby-select';
|
||||||
import '../../elements/emby-checkbox/emby-checkbox';
|
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();
|
loading.hide();
|
||||||
});
|
});
|
||||||
|
|
|
@ -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 '../../elements/emby-button/paper-icon-button-light';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import layoutManager from '../layoutManager';
|
import layoutManager from '../layoutManager';
|
||||||
|
@ -450,14 +450,14 @@ import './playerstats.css';
|
||||||
};
|
};
|
||||||
|
|
||||||
instance.onTimeUpdate = localOnTimeUpdate;
|
instance.onTimeUpdate = localOnTimeUpdate;
|
||||||
events.on(player, 'timeupdate', localOnTimeUpdate);
|
Events.on(player, 'timeupdate', localOnTimeUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
function unbindEvents(instance, player) {
|
function unbindEvents(instance, player) {
|
||||||
const localOnTimeUpdate = instance.onTimeUpdate;
|
const localOnTimeUpdate = instance.onTimeUpdate;
|
||||||
|
|
||||||
if (localOnTimeUpdate) {
|
if (localOnTimeUpdate) {
|
||||||
events.off(player, 'timeupdate', localOnTimeUpdate);
|
Events.off(player, 'timeupdate', localOnTimeUpdate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import globalize from '../scripts/globalize';
|
import globalize from '../scripts/globalize';
|
||||||
/* eslint-disable indent */
|
/* eslint-disable indent */
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ import globalize from '../scripts/globalize';
|
||||||
// type (skin, screensaver, etc)
|
// type (skin, screensaver, etc)
|
||||||
#register(obj) {
|
#register(obj) {
|
||||||
this.pluginsList.push(obj);
|
this.pluginsList.push(obj);
|
||||||
events.trigger(this, 'registered', [obj]);
|
Events.trigger(this, 'registered', [obj]);
|
||||||
}
|
}
|
||||||
|
|
||||||
ofType(type) {
|
ofType(type) {
|
||||||
|
|
|
@ -7,7 +7,7 @@ import scrollHelper from '../../scripts/scrollHelper';
|
||||||
import datetime from '../../scripts/datetime';
|
import datetime from '../../scripts/datetime';
|
||||||
import imageLoader from '../images/imageLoader';
|
import imageLoader from '../images/imageLoader';
|
||||||
import recordingFields from './recordingfields';
|
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/emby-button';
|
||||||
import '../../elements/emby-button/paper-icon-button-light';
|
import '../../elements/emby-button/paper-icon-button-light';
|
||||||
import '../../elements/emby-checkbox/emby-checkbox';
|
import '../../elements/emby-checkbox/emby-checkbox';
|
||||||
|
@ -166,7 +166,7 @@ function showEditor(itemId, serverId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
dlg.addEventListener('close', function () {
|
dlg.addEventListener('close', function () {
|
||||||
events.off(currentRecordingFields, 'recordingchanged', onRecordingChanged);
|
Events.off(currentRecordingFields, 'recordingchanged', onRecordingChanged);
|
||||||
executeCloseAction(closeAction, itemId, serverId);
|
executeCloseAction(closeAction, itemId, serverId);
|
||||||
|
|
||||||
if (currentRecordingFields && currentRecordingFields.hasChanged()) {
|
if (currentRecordingFields && currentRecordingFields.hasChanged()) {
|
||||||
|
@ -190,7 +190,7 @@ function showEditor(itemId, serverId) {
|
||||||
serverId: serverId
|
serverId: serverId
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(currentRecordingFields, 'recordingchanged', onRecordingChanged);
|
Events.on(currentRecordingFields, 'recordingchanged', onRecordingChanged);
|
||||||
|
|
||||||
dialogHelper.open(dlg);
|
dialogHelper.open(dlg);
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import serverNotifications from '../../scripts/serverNotifications';
|
import serverNotifications from '../../scripts/serverNotifications';
|
||||||
import loading from '../loading/loading';
|
import loading from '../loading/loading';
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
|
@ -104,14 +104,14 @@ class RecordingEditor {
|
||||||
const timerChangedHandler = onTimerChangedExternally.bind(this);
|
const timerChangedHandler = onTimerChangedExternally.bind(this);
|
||||||
this.timerChangedHandler = timerChangedHandler;
|
this.timerChangedHandler = timerChangedHandler;
|
||||||
|
|
||||||
events.on(serverNotifications, 'TimerCreated', timerChangedHandler);
|
Events.on(serverNotifications, 'TimerCreated', timerChangedHandler);
|
||||||
events.on(serverNotifications, 'TimerCancelled', timerChangedHandler);
|
Events.on(serverNotifications, 'TimerCancelled', timerChangedHandler);
|
||||||
|
|
||||||
const seriesTimerChangedHandler = onSeriesTimerChangedExternally.bind(this);
|
const seriesTimerChangedHandler = onSeriesTimerChangedExternally.bind(this);
|
||||||
this.seriesTimerChangedHandler = seriesTimerChangedHandler;
|
this.seriesTimerChangedHandler = seriesTimerChangedHandler;
|
||||||
|
|
||||||
events.on(serverNotifications, 'SeriesTimerCreated', seriesTimerChangedHandler);
|
Events.on(serverNotifications, 'SeriesTimerCreated', seriesTimerChangedHandler);
|
||||||
events.on(serverNotifications, 'SeriesTimerCancelled', seriesTimerChangedHandler);
|
Events.on(serverNotifications, 'SeriesTimerCancelled', seriesTimerChangedHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
embed() {
|
embed() {
|
||||||
|
@ -144,14 +144,14 @@ class RecordingEditor {
|
||||||
const timerChangedHandler = this.timerChangedHandler;
|
const timerChangedHandler = this.timerChangedHandler;
|
||||||
this.timerChangedHandler = null;
|
this.timerChangedHandler = null;
|
||||||
|
|
||||||
events.off(serverNotifications, 'TimerCreated', timerChangedHandler);
|
Events.off(serverNotifications, 'TimerCreated', timerChangedHandler);
|
||||||
events.off(serverNotifications, 'TimerCancelled', timerChangedHandler);
|
Events.off(serverNotifications, 'TimerCancelled', timerChangedHandler);
|
||||||
|
|
||||||
const seriesTimerChangedHandler = this.seriesTimerChangedHandler;
|
const seriesTimerChangedHandler = this.seriesTimerChangedHandler;
|
||||||
this.seriesTimerChangedHandler = null;
|
this.seriesTimerChangedHandler = null;
|
||||||
|
|
||||||
events.off(serverNotifications, 'SeriesTimerCreated', seriesTimerChangedHandler);
|
Events.off(serverNotifications, 'SeriesTimerCreated', seriesTimerChangedHandler);
|
||||||
events.off(serverNotifications, 'SeriesTimerCancelled', seriesTimerChangedHandler);
|
Events.off(serverNotifications, 'SeriesTimerCancelled', seriesTimerChangedHandler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,7 +207,7 @@ function onRecordChange(e) {
|
||||||
if (!hasEnabledTimer) {
|
if (!hasEnabledTimer) {
|
||||||
loading.show();
|
loading.show();
|
||||||
recordingHelper.createRecording(apiClient, options.programId, false).then(function () {
|
recordingHelper.createRecording(apiClient, options.programId, false).then(function () {
|
||||||
events.trigger(self, 'recordingchanged');
|
Events.trigger(self, 'recordingchanged');
|
||||||
fetchData(self);
|
fetchData(self);
|
||||||
loading.hide();
|
loading.hide();
|
||||||
});
|
});
|
||||||
|
@ -216,7 +216,7 @@ function onRecordChange(e) {
|
||||||
if (hasEnabledTimer) {
|
if (hasEnabledTimer) {
|
||||||
loading.show();
|
loading.show();
|
||||||
recordingHelper.cancelTimer(apiClient, this.TimerId, true).then(function () {
|
recordingHelper.cancelTimer(apiClient, this.TimerId, true).then(function () {
|
||||||
events.trigger(self, 'recordingchanged');
|
Events.trigger(self, 'recordingchanged');
|
||||||
fetchData(self);
|
fetchData(self);
|
||||||
loading.hide();
|
loading.hide();
|
||||||
});
|
});
|
||||||
|
|
|
@ -4,7 +4,7 @@ import listView from '../listview/listview';
|
||||||
import imageLoader from '../images/imageLoader';
|
import imageLoader from '../images/imageLoader';
|
||||||
import { playbackManager } from '../playback/playbackmanager';
|
import { playbackManager } from '../playback/playbackmanager';
|
||||||
import nowPlayingHelper from '../playback/nowplayinghelper';
|
import nowPlayingHelper from '../playback/nowplayinghelper';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import { appHost } from '../apphost';
|
import { appHost } from '../apphost';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import layoutManager from '../layoutManager';
|
import layoutManager from '../layoutManager';
|
||||||
|
@ -631,18 +631,18 @@ export default function () {
|
||||||
const player = currentPlayer;
|
const player = currentPlayer;
|
||||||
|
|
||||||
if (player) {
|
if (player) {
|
||||||
events.off(player, 'playbackstart', onPlaybackStart);
|
Events.off(player, 'playbackstart', onPlaybackStart);
|
||||||
events.off(player, 'statechange', onStateChanged);
|
Events.off(player, 'statechange', onStateChanged);
|
||||||
events.off(player, 'repeatmodechange', onRepeatModeChange);
|
Events.off(player, 'repeatmodechange', onRepeatModeChange);
|
||||||
events.off(player, 'shufflequeuemodechange', onShuffleQueueModeChange);
|
Events.off(player, 'shufflequeuemodechange', onShuffleQueueModeChange);
|
||||||
events.off(player, 'playlistitemremove', onPlaylistItemRemoved);
|
Events.off(player, 'playlistitemremove', onPlaylistItemRemoved);
|
||||||
events.off(player, 'playlistitemmove', onPlaylistUpdate);
|
Events.off(player, 'playlistitemmove', onPlaylistUpdate);
|
||||||
events.off(player, 'playlistitemadd', onPlaylistUpdate);
|
Events.off(player, 'playlistitemadd', onPlaylistUpdate);
|
||||||
events.off(player, 'playbackstop', onPlaybackStopped);
|
Events.off(player, 'playbackstop', onPlaybackStopped);
|
||||||
events.off(player, 'volumechange', onVolumeChanged);
|
Events.off(player, 'volumechange', onVolumeChanged);
|
||||||
events.off(player, 'pause', onPlayPauseStateChanged);
|
Events.off(player, 'pause', onPlayPauseStateChanged);
|
||||||
events.off(player, 'unpause', onPlayPauseStateChanged);
|
Events.off(player, 'unpause', onPlayPauseStateChanged);
|
||||||
events.off(player, 'timeupdate', onTimeUpdate);
|
Events.off(player, 'timeupdate', onTimeUpdate);
|
||||||
currentPlayer = null;
|
currentPlayer = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -653,18 +653,18 @@ export default function () {
|
||||||
onStateChanged.call(player, {
|
onStateChanged.call(player, {
|
||||||
type: 'init'
|
type: 'init'
|
||||||
}, state);
|
}, state);
|
||||||
events.on(player, 'playbackstart', onPlaybackStart);
|
Events.on(player, 'playbackstart', onPlaybackStart);
|
||||||
events.on(player, 'statechange', onStateChanged);
|
Events.on(player, 'statechange', onStateChanged);
|
||||||
events.on(player, 'repeatmodechange', onRepeatModeChange);
|
Events.on(player, 'repeatmodechange', onRepeatModeChange);
|
||||||
events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange);
|
Events.on(player, 'shufflequeuemodechange', onShuffleQueueModeChange);
|
||||||
events.on(player, 'playlistitemremove', onPlaylistItemRemoved);
|
Events.on(player, 'playlistitemremove', onPlaylistItemRemoved);
|
||||||
events.on(player, 'playlistitemmove', onPlaylistUpdate);
|
Events.on(player, 'playlistitemmove', onPlaylistUpdate);
|
||||||
events.on(player, 'playlistitemadd', onPlaylistUpdate);
|
Events.on(player, 'playlistitemadd', onPlaylistUpdate);
|
||||||
events.on(player, 'playbackstop', onPlaybackStopped);
|
Events.on(player, 'playbackstop', onPlaybackStopped);
|
||||||
events.on(player, 'volumechange', onVolumeChanged);
|
Events.on(player, 'volumechange', onVolumeChanged);
|
||||||
events.on(player, 'pause', onPlayPauseStateChanged);
|
Events.on(player, 'pause', onPlayPauseStateChanged);
|
||||||
events.on(player, 'unpause', onPlayPauseStateChanged);
|
Events.on(player, 'unpause', onPlayPauseStateChanged);
|
||||||
events.on(player, 'timeupdate', onTimeUpdate);
|
Events.on(player, 'timeupdate', onTimeUpdate);
|
||||||
const playerInfo = playbackManager.getPlayerInfo();
|
const playerInfo = playbackManager.getPlayerInfo();
|
||||||
const supportedCommands = playerInfo.supportedCommands;
|
const supportedCommands = playerInfo.supportedCommands;
|
||||||
currentPlayerSupportedCommands = supportedCommands;
|
currentPlayerSupportedCommands = supportedCommands;
|
||||||
|
@ -915,7 +915,7 @@ export default function () {
|
||||||
bindEvents(context);
|
bindEvents(context);
|
||||||
context.querySelector('.sendMessageForm').addEventListener('submit', onMessageSubmit);
|
context.querySelector('.sendMessageForm').addEventListener('submit', onMessageSubmit);
|
||||||
context.querySelector('.typeTextForm').addEventListener('submit', onSendStringSubmit);
|
context.querySelector('.typeTextForm').addEventListener('submit', onSendStringSubmit);
|
||||||
events.on(playbackManager, 'playerchange', onPlayerChange);
|
Events.on(playbackManager, 'playerchange', onPlayerChange);
|
||||||
|
|
||||||
if (layoutManager.tv) {
|
if (layoutManager.tv) {
|
||||||
const positionSlider = context.querySelector('.nowPlayingPositionSlider');
|
const positionSlider = context.querySelector('.nowPlayingPositionSlider');
|
||||||
|
@ -926,7 +926,7 @@ export default function () {
|
||||||
|
|
||||||
function onDialogClosed(e) {
|
function onDialogClosed(e) {
|
||||||
releaseCurrentPlayer();
|
releaseCurrentPlayer();
|
||||||
events.off(playbackManager, 'playerchange', onPlayerChange);
|
Events.off(playbackManager, 'playerchange', onPlayerChange);
|
||||||
lastPlayerState = null;
|
lastPlayerState = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import layoutManager from '../layoutManager';
|
import layoutManager from '../layoutManager';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import browser from '../../scripts/browser';
|
import browser from '../../scripts/browser';
|
||||||
import AlphaPicker from '../alphaPicker/alphaPicker';
|
import AlphaPicker from '../alphaPicker/alphaPicker';
|
||||||
import '../../elements/emby-input/emby-input';
|
import '../../elements/emby-input/emby-input';
|
||||||
|
@ -15,7 +15,7 @@ import './searchfields.css';
|
||||||
let value = instance.nextSearchValue;
|
let value = instance.nextSearchValue;
|
||||||
|
|
||||||
value = (value || '').trim();
|
value = (value || '').trim();
|
||||||
events.trigger(instance, 'search', [value]);
|
Events.trigger(instance, 'search', [value]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function triggerSearch(instance, value) {
|
function triggerSearch(instance, value) {
|
||||||
|
|
|
@ -7,7 +7,7 @@ import loading from '../loading/loading';
|
||||||
import subtitleAppearanceHelper from './subtitleappearancehelper';
|
import subtitleAppearanceHelper from './subtitleappearancehelper';
|
||||||
import settingsHelper from '../settingshelper';
|
import settingsHelper from '../settingshelper';
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import '../listview/listview.css';
|
import '../listview/listview.css';
|
||||||
import '../../elements/emby-select/emby-select';
|
import '../../elements/emby-select/emby-select';
|
||||||
import '../../elements/emby-slider/emby-slider';
|
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 () {
|
}, function () {
|
||||||
loading.hide();
|
loading.hide();
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import { playbackManager } from '../playback/playbackmanager';
|
import { playbackManager } from '../playback/playbackmanager';
|
||||||
import syncPlayManager from './syncPlayManager';
|
import syncPlayManager from './syncPlayManager';
|
||||||
import loading from '../loading/loading';
|
import loading from '../loading/loading';
|
||||||
|
@ -150,7 +150,7 @@ function showLeaveGroupSelection (button, user, apiClient) {
|
||||||
|
|
||||||
// Register to SyncPlay events
|
// Register to SyncPlay events
|
||||||
let syncPlayEnabled = false;
|
let syncPlayEnabled = false;
|
||||||
events.on(syncPlayManager, 'enabled', function (e, enabled) {
|
Events.on(syncPlayManager, 'enabled', function (e, enabled) {
|
||||||
syncPlayEnabled = enabled;
|
syncPlayEnabled = enabled;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* @module components/syncPlay/syncPlayManager
|
* @module components/syncPlay/syncPlayManager
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import { playbackManager } from '../playback/playbackmanager';
|
import { playbackManager } from '../playback/playbackmanager';
|
||||||
import timeSyncManager from './timeSyncManager';
|
import timeSyncManager from './timeSyncManager';
|
||||||
import toast from '../toast/toast';
|
import toast from '../toast/toast';
|
||||||
|
@ -25,13 +25,13 @@ function waitForEventOnce(emitter, eventType, timeout) {
|
||||||
}, timeout);
|
}, timeout);
|
||||||
}
|
}
|
||||||
const callback = () => {
|
const callback = () => {
|
||||||
events.off(emitter, eventType, callback);
|
Events.off(emitter, eventType, callback);
|
||||||
if (rejectTimeout) {
|
if (rejectTimeout) {
|
||||||
clearTimeout(rejectTimeout);
|
clearTimeout(rejectTimeout);
|
||||||
}
|
}
|
||||||
resolve(arguments);
|
resolve(arguments);
|
||||||
};
|
};
|
||||||
events.on(emitter, eventType, callback);
|
Events.on(emitter, eventType, callback);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,25 +92,25 @@ class SyncPlayManager {
|
||||||
this.roundTripDuration = 0;
|
this.roundTripDuration = 0;
|
||||||
this.notifySyncPlayReady = false;
|
this.notifySyncPlayReady = false;
|
||||||
|
|
||||||
events.on(playbackManager, 'playbackstart', (player, state) => {
|
Events.on(playbackManager, 'playbackstart', (player, state) => {
|
||||||
this.onPlaybackStart(player, state);
|
this.onPlaybackStart(player, state);
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(playbackManager, 'playbackstop', (stopInfo) => {
|
Events.on(playbackManager, 'playbackstop', (stopInfo) => {
|
||||||
this.onPlaybackStop(stopInfo);
|
this.onPlaybackStop(stopInfo);
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(playbackManager, 'playerchange', () => {
|
Events.on(playbackManager, 'playerchange', () => {
|
||||||
this.onPlayerChange();
|
this.onPlayerChange();
|
||||||
});
|
});
|
||||||
|
|
||||||
this.bindToPlayer(playbackManager.getCurrentPlayer());
|
this.bindToPlayer(playbackManager.getCurrentPlayer());
|
||||||
|
|
||||||
events.on(this, 'timeupdate', (event) => {
|
Events.on(this, 'timeupdate', (event) => {
|
||||||
this.syncPlaybackTime();
|
this.syncPlaybackTime();
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(timeSyncManager, 'update', (event, error, timeOffset, ping) => {
|
Events.on(timeSyncManager, 'update', (event, error, timeOffset, ping) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
console.debug('SyncPlay, time update issue', error);
|
console.debug('SyncPlay, time update issue', error);
|
||||||
return;
|
return;
|
||||||
|
@ -121,7 +121,7 @@ class SyncPlayManager {
|
||||||
|
|
||||||
if (this.notifySyncPlayReady) {
|
if (this.notifySyncPlayReady) {
|
||||||
this.syncPlayReady = true;
|
this.syncPlayReady = true;
|
||||||
events.trigger(this, 'ready');
|
Events.trigger(this, 'ready');
|
||||||
this.notifySyncPlayReady = false;
|
this.notifySyncPlayReady = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,14 +149,14 @@ class SyncPlayManager {
|
||||||
* Called when playback starts.
|
* Called when playback starts.
|
||||||
*/
|
*/
|
||||||
onPlaybackStart (player, state) {
|
onPlaybackStart (player, state) {
|
||||||
events.trigger(this, 'playbackstart', [player, state]);
|
Events.trigger(this, 'playbackstart', [player, state]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when playback stops.
|
* Called when playback stops.
|
||||||
*/
|
*/
|
||||||
onPlaybackStop (stopInfo) {
|
onPlaybackStop (stopInfo) {
|
||||||
events.trigger(this, 'playbackstop', [stopInfo]);
|
Events.trigger(this, 'playbackstop', [stopInfo]);
|
||||||
if (this.isSyncPlayEnabled()) {
|
if (this.isSyncPlayEnabled()) {
|
||||||
this.disableSyncPlay(false);
|
this.disableSyncPlay(false);
|
||||||
}
|
}
|
||||||
|
@ -167,21 +167,21 @@ class SyncPlayManager {
|
||||||
*/
|
*/
|
||||||
onPlayerChange () {
|
onPlayerChange () {
|
||||||
this.bindToPlayer(playbackManager.getCurrentPlayer());
|
this.bindToPlayer(playbackManager.getCurrentPlayer());
|
||||||
events.trigger(this, 'playerchange', [this.currentPlayer]);
|
Events.trigger(this, 'playerchange', [this.currentPlayer]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when playback unpauses.
|
* Called when playback unpauses.
|
||||||
*/
|
*/
|
||||||
onPlayerUnpause () {
|
onPlayerUnpause () {
|
||||||
events.trigger(this, 'unpause', [this.currentPlayer]);
|
Events.trigger(this, 'unpause', [this.currentPlayer]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when playback pauses.
|
* Called when playback pauses.
|
||||||
*/
|
*/
|
||||||
onPlayerPause() {
|
onPlayerPause() {
|
||||||
events.trigger(this, 'pause', [this.currentPlayer]);
|
Events.trigger(this, 'pause', [this.currentPlayer]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -191,7 +191,7 @@ class SyncPlayManager {
|
||||||
onTimeUpdate (e) {
|
onTimeUpdate (e) {
|
||||||
// NOTICE: this event is unreliable, at least in Safari
|
// NOTICE: this event is unreliable, at least in Safari
|
||||||
// which just stops firing the event after a while.
|
// 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 () {
|
onPlaying () {
|
||||||
// TODO: implement group wait
|
// TODO: implement group wait
|
||||||
this.lastPlaybackWaiting = null;
|
this.lastPlaybackWaiting = null;
|
||||||
events.trigger(this, 'playing');
|
Events.trigger(this, 'playing');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -212,7 +212,7 @@ class SyncPlayManager {
|
||||||
this.lastPlaybackWaiting = new Date();
|
this.lastPlaybackWaiting = new Date();
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(this, 'waiting');
|
Events.trigger(this, 'waiting');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -260,11 +260,11 @@ class SyncPlayManager {
|
||||||
self.onWaiting();
|
self.onWaiting();
|
||||||
};
|
};
|
||||||
|
|
||||||
events.on(player, 'unpause', this._onPlayerUnpause);
|
Events.on(player, 'unpause', this._onPlayerUnpause);
|
||||||
events.on(player, 'pause', this._onPlayerPause);
|
Events.on(player, 'pause', this._onPlayerPause);
|
||||||
events.on(player, 'timeupdate', this._onTimeUpdate);
|
Events.on(player, 'timeupdate', this._onTimeUpdate);
|
||||||
events.on(player, 'playing', this._onPlaying);
|
Events.on(player, 'playing', this._onPlaying);
|
||||||
events.on(player, 'waiting', this._onWaiting);
|
Events.on(player, 'waiting', this._onWaiting);
|
||||||
|
|
||||||
// Save player current PlaybackRate value
|
// Save player current PlaybackRate value
|
||||||
if (player.supports && player.supports('PlaybackRate')) {
|
if (player.supports && player.supports('PlaybackRate')) {
|
||||||
|
@ -278,11 +278,11 @@ class SyncPlayManager {
|
||||||
releaseCurrentPlayer () {
|
releaseCurrentPlayer () {
|
||||||
const player = this.currentPlayer;
|
const player = this.currentPlayer;
|
||||||
if (player) {
|
if (player) {
|
||||||
events.off(player, 'unpause', this._onPlayerUnpause);
|
Events.off(player, 'unpause', this._onPlayerUnpause);
|
||||||
events.off(player, 'pause', this._onPlayerPause);
|
Events.off(player, 'pause', this._onPlayerPause);
|
||||||
events.off(player, 'timeupdate', this._onTimeUpdate);
|
Events.off(player, 'timeupdate', this._onTimeUpdate);
|
||||||
events.off(player, 'playing', this._onPlaying);
|
Events.off(player, 'playing', this._onPlaying);
|
||||||
events.off(player, 'waiting', this._onWaiting);
|
Events.off(player, 'waiting', this._onWaiting);
|
||||||
// Restore player original PlaybackRate value
|
// Restore player original PlaybackRate value
|
||||||
if (this.playbackRateSupported) {
|
if (this.playbackRateSupported) {
|
||||||
player.setPlaybackRate(this.localPlayerPlaybackRate);
|
player.setPlaybackRate(this.localPlayerPlaybackRate);
|
||||||
|
@ -486,7 +486,7 @@ class SyncPlayManager {
|
||||||
enableSyncPlay (apiClient, enabledAt, showMessage = false) {
|
enableSyncPlay (apiClient, enabledAt, showMessage = false) {
|
||||||
this.syncPlayEnabledAt = enabledAt;
|
this.syncPlayEnabledAt = enabledAt;
|
||||||
this.injectPlaybackManager();
|
this.injectPlaybackManager();
|
||||||
events.trigger(this, 'enabled', [true]);
|
Events.trigger(this, 'enabled', [true]);
|
||||||
|
|
||||||
waitForEventOnce(this, 'ready').then(() => {
|
waitForEventOnce(this, 'ready').then(() => {
|
||||||
this.processCommand(this.queuedCommand, apiClient);
|
this.processCommand(this.queuedCommand, apiClient);
|
||||||
|
@ -515,7 +515,7 @@ class SyncPlayManager {
|
||||||
this.lastCommand = null;
|
this.lastCommand = null;
|
||||||
this.queuedCommand = null;
|
this.queuedCommand = null;
|
||||||
this.syncEnabled = false;
|
this.syncEnabled = false;
|
||||||
events.trigger(this, 'enabled', [false]);
|
Events.trigger(this, 'enabled', [false]);
|
||||||
this.restorePlaybackManager();
|
this.restorePlaybackManager();
|
||||||
|
|
||||||
if (showMessage) {
|
if (showMessage) {
|
||||||
|
@ -814,7 +814,7 @@ class SyncPlayManager {
|
||||||
*/
|
*/
|
||||||
showSyncIcon (syncMethod) {
|
showSyncIcon (syncMethod) {
|
||||||
this.syncMethod = 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 () {
|
clearSyncIcon () {
|
||||||
this.syncMethod = 'None';
|
this.syncMethod = 'None';
|
||||||
events.trigger(this, 'syncing', [false, this.syncMethod]);
|
Events.trigger(this, 'syncing', [false, this.syncMethod]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* @module components/syncPlay/timeSyncManager
|
* @module components/syncPlay/timeSyncManager
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Time estimation
|
* Time estimation
|
||||||
|
@ -131,11 +131,11 @@ class TimeSyncManager {
|
||||||
this.pings++;
|
this.pings++;
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(this, 'update', [null, this.getTimeOffset(), this.getPing()]);
|
Events.trigger(this, 'update', [null, this.getTimeOffset(), this.getPing()]);
|
||||||
});
|
});
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
events.trigger(this, 'update', [error, null, null]);
|
Events.trigger(this, 'update', [error, null, null]);
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.requestPing();
|
this.requestPing();
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
import { playbackManager } from '../playback/playbackmanager';
|
import { playbackManager } from '../playback/playbackmanager';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import mediaInfo from '../mediainfo/mediainfo';
|
import mediaInfo from '../mediainfo/mediainfo';
|
||||||
import layoutManager from '../layoutManager';
|
import layoutManager from '../layoutManager';
|
||||||
import focusManager from '../focusManager';
|
import focusManager from '../focusManager';
|
||||||
|
@ -136,7 +136,7 @@ import '../../assets/css/flexstyles.css';
|
||||||
elem.classList.add('hide');
|
elem.classList.add('hide');
|
||||||
|
|
||||||
clearHideAnimationEventListeners(instance, elem);
|
clearHideAnimationEventListeners(instance, elem);
|
||||||
events.trigger(instance, 'hide');
|
Events.trigger(instance, 'hide');
|
||||||
}
|
}
|
||||||
|
|
||||||
function hideComingUpNext() {
|
function hideComingUpNext() {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import datetime from '../../scripts/datetime';
|
import datetime from '../../scripts/datetime';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import itemHelper from '../../components/itemHelper';
|
import itemHelper from '../../components/itemHelper';
|
||||||
import serverNotifications from '../../scripts/serverNotifications';
|
import serverNotifications from '../../scripts/serverNotifications';
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
|
@ -799,13 +799,13 @@ import taskButton from '../../scripts/taskbutton';
|
||||||
loading.show();
|
loading.show();
|
||||||
pollForInfo(page, apiClient);
|
pollForInfo(page, apiClient);
|
||||||
DashboardPage.startInterval(apiClient);
|
DashboardPage.startInterval(apiClient);
|
||||||
events.on(serverNotifications, 'RestartRequired', onRestartRequired);
|
Events.on(serverNotifications, 'RestartRequired', onRestartRequired);
|
||||||
events.on(serverNotifications, 'ServerShuttingDown', onServerShuttingDown);
|
Events.on(serverNotifications, 'ServerShuttingDown', onServerShuttingDown);
|
||||||
events.on(serverNotifications, 'ServerRestarting', onServerRestarting);
|
Events.on(serverNotifications, 'ServerRestarting', onServerRestarting);
|
||||||
events.on(serverNotifications, 'PackageInstalling', onPackageInstalling);
|
Events.on(serverNotifications, 'PackageInstalling', onPackageInstalling);
|
||||||
events.on(serverNotifications, 'PackageInstallationCompleted', onPackageInstallationCompleted);
|
Events.on(serverNotifications, 'PackageInstallationCompleted', onPackageInstallationCompleted);
|
||||||
events.on(serverNotifications, 'Sessions', onSessionsUpdate);
|
Events.on(serverNotifications, 'Sessions', onSessionsUpdate);
|
||||||
events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
Events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
||||||
DashboardPage.lastAppUpdateCheck = null;
|
DashboardPage.lastAppUpdateCheck = null;
|
||||||
reloadSystemInfo(page, ApiClient);
|
reloadSystemInfo(page, ApiClient);
|
||||||
|
|
||||||
|
@ -839,13 +839,13 @@ import taskButton from '../../scripts/taskbutton';
|
||||||
const apiClient = ApiClient;
|
const apiClient = ApiClient;
|
||||||
const page = this;
|
const page = this;
|
||||||
|
|
||||||
events.off(serverNotifications, 'RestartRequired', onRestartRequired);
|
Events.off(serverNotifications, 'RestartRequired', onRestartRequired);
|
||||||
events.off(serverNotifications, 'ServerShuttingDown', onServerShuttingDown);
|
Events.off(serverNotifications, 'ServerShuttingDown', onServerShuttingDown);
|
||||||
events.off(serverNotifications, 'ServerRestarting', onServerRestarting);
|
Events.off(serverNotifications, 'ServerRestarting', onServerRestarting);
|
||||||
events.off(serverNotifications, 'PackageInstalling', onPackageInstalling);
|
Events.off(serverNotifications, 'PackageInstalling', onPackageInstalling);
|
||||||
events.off(serverNotifications, 'PackageInstallationCompleted', onPackageInstallationCompleted);
|
Events.off(serverNotifications, 'PackageInstallationCompleted', onPackageInstallationCompleted);
|
||||||
events.off(serverNotifications, 'Sessions', onSessionsUpdate);
|
Events.off(serverNotifications, 'Sessions', onSessionsUpdate);
|
||||||
events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
Events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
||||||
|
|
||||||
if (apiClient) {
|
if (apiClient) {
|
||||||
DashboardPage.stopInterval(apiClient);
|
DashboardPage.stopInterval(apiClient);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import 'jquery';
|
import 'jquery';
|
||||||
import loading from '../../../components/loading/loading';
|
import loading from '../../../components/loading/loading';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import globalize from '../../../scripts/globalize';
|
import globalize from '../../../scripts/globalize';
|
||||||
import serverNotifications from '../../../scripts/serverNotifications';
|
import serverNotifications from '../../../scripts/serverNotifications';
|
||||||
import { formatDistance, formatDistanceToNow } from 'date-fns';
|
import { formatDistance, formatDistanceToNow } from 'date-fns';
|
||||||
|
@ -177,7 +177,7 @@ import '../../../elements/emby-button/emby-button';
|
||||||
});
|
});
|
||||||
|
|
||||||
view.addEventListener('viewbeforehide', function() {
|
view.addEventListener('viewbeforehide', function() {
|
||||||
events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
Events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
||||||
stopInterval();
|
stopInterval();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ import '../../../elements/emby-button/emby-button';
|
||||||
loading.show();
|
loading.show();
|
||||||
startInterval();
|
startInterval();
|
||||||
reloadList(view);
|
reloadList(view);
|
||||||
events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
Events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { appHost } from '../../components/apphost';
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import { appRouter } from '../../components/appRouter';
|
import { appRouter } from '../../components/appRouter';
|
||||||
import layoutManager from '../../components/layoutManager';
|
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 * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
||||||
import datetime from '../../scripts/datetime';
|
import datetime from '../../scripts/datetime';
|
||||||
|
@ -2048,12 +2048,12 @@ export default function (view, params) {
|
||||||
reload(self, page, params);
|
reload(self, page, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
events.on(apiClient, 'message', onWebSocketMessage);
|
Events.on(apiClient, 'message', onWebSocketMessage);
|
||||||
events.on(playbackManager, 'playerchange', onPlayerChange);
|
Events.on(playbackManager, 'playerchange', onPlayerChange);
|
||||||
});
|
});
|
||||||
view.addEventListener('viewbeforehide', function () {
|
view.addEventListener('viewbeforehide', function () {
|
||||||
events.off(apiClient, 'message', onWebSocketMessage);
|
Events.off(apiClient, 'message', onWebSocketMessage);
|
||||||
events.off(playbackManager, 'playerchange', onPlayerChange);
|
Events.off(playbackManager, 'playerchange', onPlayerChange);
|
||||||
libraryMenu.setTransparentMenu(false);
|
libraryMenu.setTransparentMenu(false);
|
||||||
});
|
});
|
||||||
view.addEventListener('viewdestroy', function () {
|
view.addEventListener('viewdestroy', function () {
|
||||||
|
|
|
@ -2,7 +2,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
||||||
import imageLoader from '../../components/images/imageLoader';
|
import imageLoader from '../../components/images/imageLoader';
|
||||||
import libraryBrowser from '../../scripts/libraryBrowser';
|
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import * as userSettings from '../../scripts/settings/userSettings';
|
import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ export default function (view, params, tabContent) {
|
||||||
mode: 'livetvchannels',
|
mode: 'livetvchannels',
|
||||||
serverId: ApiClient.serverId()
|
serverId: ApiClient.serverId()
|
||||||
});
|
});
|
||||||
events.on(filterDialog, 'filterchange', function () {
|
Events.on(filterDialog, 'filterchange', function () {
|
||||||
reloadItems(context);
|
reloadItems(context);
|
||||||
});
|
});
|
||||||
filterDialog.show();
|
filterDialog.show();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import loading from '../components/loading/loading';
|
import loading from '../components/loading/loading';
|
||||||
import globalize from '../scripts/globalize';
|
import globalize from '../scripts/globalize';
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ function init(page, type, providerId) {
|
||||||
|
|
||||||
import(url).then(({default: factory}) => {
|
import(url).then(({default: factory}) => {
|
||||||
const instance = new factory(page, providerId, {});
|
const instance = new factory(page, providerId, {});
|
||||||
events.on(instance, 'submitted', onListingsSubmitted);
|
Events.on(instance, 'submitted', onListingsSubmitted);
|
||||||
instance.init();
|
instance.init();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import * as userSettings from '../../scripts/settings/userSettings';
|
import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import libraryBrowser from '../../scripts/libraryBrowser';
|
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||||
import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
|
import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
|
||||||
import listView from '../../components/listview/listview';
|
import listView from '../../components/listview/listview';
|
||||||
|
@ -284,7 +284,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
mode: 'movies',
|
mode: 'movies',
|
||||||
serverId: ApiClient.serverId()
|
serverId: ApiClient.serverId()
|
||||||
});
|
});
|
||||||
events.on(filterDialog, 'filterchange', () => {
|
Events.on(filterDialog, 'filterchange', () => {
|
||||||
query.StartIndex = 0;
|
query.StartIndex = 0;
|
||||||
itemsContainer.refreshItems();
|
itemsContainer.refreshItems();
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import layoutManager from '../../components/layoutManager';
|
import layoutManager from '../../components/layoutManager';
|
||||||
import inputManager from '../../scripts/inputManager';
|
import inputManager from '../../scripts/inputManager';
|
||||||
import * as userSettings from '../../scripts/settings/userSettings';
|
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);
|
inputManager.on(window, onInputCommand);
|
||||||
});
|
});
|
||||||
view.addEventListener('viewbeforehide', function () {
|
view.addEventListener('viewbeforehide', function () {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import libraryBrowser from '../../scripts/libraryBrowser';
|
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||||
import imageLoader from '../../components/images/imageLoader';
|
import imageLoader from '../../components/images/imageLoader';
|
||||||
import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
|
import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
|
||||||
|
@ -198,7 +198,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
mode: 'movies',
|
mode: 'movies',
|
||||||
serverId: ApiClient.serverId()
|
serverId: ApiClient.serverId()
|
||||||
});
|
});
|
||||||
events.on(filterDialog, 'filterchange', function () {
|
Events.on(filterDialog, 'filterchange', function () {
|
||||||
getQuery(tabContent).StartIndex = 0;
|
getQuery(tabContent).StartIndex = 0;
|
||||||
reloadItems();
|
reloadItems();
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { playbackManager } from '../../components/playback/playbackmanager';
|
import { playbackManager } from '../../components/playback/playbackmanager';
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import libraryBrowser from '../../scripts/libraryBrowser';
|
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||||
import imageLoader from '../../components/images/imageLoader';
|
import imageLoader from '../../components/images/imageLoader';
|
||||||
import AlphaPicker from '../../components/alphaPicker/alphaPicker';
|
import AlphaPicker from '../../components/alphaPicker/alphaPicker';
|
||||||
|
@ -210,8 +210,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
mode: 'albums',
|
mode: 'albums',
|
||||||
serverId: ApiClient.serverId()
|
serverId: ApiClient.serverId()
|
||||||
});
|
});
|
||||||
|
Events.on(filterDialog, 'filterchange', function () {
|
||||||
events.on(filterDialog, 'filterchange', function () {
|
|
||||||
getQuery().StartIndex = 0;
|
getQuery().StartIndex = 0;
|
||||||
reloadItems(tabContent);
|
reloadItems(tabContent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import libraryBrowser from '../../scripts/libraryBrowser';
|
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||||
import imageLoader from '../../components/images/imageLoader';
|
import imageLoader from '../../components/images/imageLoader';
|
||||||
import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
|
import { AlphaPicker } from '../../components/alphaPicker/alphaPicker';
|
||||||
|
@ -182,7 +182,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
mode: this.mode,
|
mode: this.mode,
|
||||||
serverId: ApiClient.serverId()
|
serverId: ApiClient.serverId()
|
||||||
});
|
});
|
||||||
events.on(filterDialog, 'filterchange', function () {
|
Events.on(filterDialog, 'filterchange', function () {
|
||||||
getQuery(tabContent).StartIndex = 0;
|
getQuery(tabContent).StartIndex = 0;
|
||||||
reloadItems(tabContent);
|
reloadItems(tabContent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import libraryBrowser from '../../scripts/libraryBrowser';
|
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||||
import imageLoader from '../../components/images/imageLoader';
|
import imageLoader from '../../components/images/imageLoader';
|
||||||
import listView from '../../components/listview/listview';
|
import listView from '../../components/listview/listview';
|
||||||
|
@ -137,7 +137,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
mode: 'songs',
|
mode: 'songs',
|
||||||
serverId: ApiClient.serverId()
|
serverId: ApiClient.serverId()
|
||||||
});
|
});
|
||||||
events.on(filterDialog, 'filterchange', function () {
|
Events.on(filterDialog, 'filterchange', function () {
|
||||||
getQuery(tabContent).StartIndex = 0;
|
getQuery(tabContent).StartIndex = 0;
|
||||||
reloadItems(tabContent);
|
reloadItems(tabContent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,7 +6,7 @@ import datetime from '../../../scripts/datetime';
|
||||||
import itemHelper from '../../../components/itemHelper';
|
import itemHelper from '../../../components/itemHelper';
|
||||||
import mediaInfo from '../../../components/mediainfo/mediainfo';
|
import mediaInfo from '../../../components/mediainfo/mediainfo';
|
||||||
import focusManager from '../../../components/focusManager';
|
import focusManager from '../../../components/focusManager';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import browser from '../../../scripts/browser';
|
import browser from '../../../scripts/browser';
|
||||||
import globalize from '../../../scripts/globalize';
|
import globalize from '../../../scripts/globalize';
|
||||||
import { appHost } from '../../../components/apphost';
|
import { appHost } from '../../../components/apphost';
|
||||||
|
@ -540,16 +540,16 @@ import '../../../assets/css/videoosd.css';
|
||||||
onStateChanged.call(player, {
|
onStateChanged.call(player, {
|
||||||
type: 'init'
|
type: 'init'
|
||||||
}, state);
|
}, state);
|
||||||
events.on(player, 'playbackstart', onPlaybackStart);
|
Events.on(player, 'playbackstart', onPlaybackStart);
|
||||||
events.on(player, 'playbackstop', onPlaybackStopped);
|
Events.on(player, 'playbackstop', onPlaybackStopped);
|
||||||
events.on(player, 'volumechange', onVolumeChanged);
|
Events.on(player, 'volumechange', onVolumeChanged);
|
||||||
events.on(player, 'pause', onPlayPauseStateChanged);
|
Events.on(player, 'pause', onPlayPauseStateChanged);
|
||||||
events.on(player, 'unpause', onPlayPauseStateChanged);
|
Events.on(player, 'unpause', onPlayPauseStateChanged);
|
||||||
events.on(player, 'timeupdate', onTimeUpdate);
|
Events.on(player, 'timeupdate', onTimeUpdate);
|
||||||
events.on(player, 'fullscreenchange', updateFullscreenIcon);
|
Events.on(player, 'fullscreenchange', updateFullscreenIcon);
|
||||||
events.on(player, 'mediastreamschange', onMediaStreamsChanged);
|
Events.on(player, 'mediastreamschange', onMediaStreamsChanged);
|
||||||
events.on(player, 'beginFetch', onBeginFetch);
|
Events.on(player, 'beginFetch', onBeginFetch);
|
||||||
events.on(player, 'endFetch', onEndFetch);
|
Events.on(player, 'endFetch', onEndFetch);
|
||||||
resetUpNextDialog();
|
resetUpNextDialog();
|
||||||
|
|
||||||
if (player.isFetching) {
|
if (player.isFetching) {
|
||||||
|
@ -564,14 +564,14 @@ import '../../../assets/css/videoosd.css';
|
||||||
const player = currentPlayer;
|
const player = currentPlayer;
|
||||||
|
|
||||||
if (player) {
|
if (player) {
|
||||||
events.off(player, 'playbackstart', onPlaybackStart);
|
Events.off(player, 'playbackstart', onPlaybackStart);
|
||||||
events.off(player, 'playbackstop', onPlaybackStopped);
|
Events.off(player, 'playbackstop', onPlaybackStopped);
|
||||||
events.off(player, 'volumechange', onVolumeChanged);
|
Events.off(player, 'volumechange', onVolumeChanged);
|
||||||
events.off(player, 'pause', onPlayPauseStateChanged);
|
Events.off(player, 'pause', onPlayPauseStateChanged);
|
||||||
events.off(player, 'unpause', onPlayPauseStateChanged);
|
Events.off(player, 'unpause', onPlayPauseStateChanged);
|
||||||
events.off(player, 'timeupdate', onTimeUpdate);
|
Events.off(player, 'timeupdate', onTimeUpdate);
|
||||||
events.off(player, 'fullscreenchange', updateFullscreenIcon);
|
Events.off(player, 'fullscreenchange', updateFullscreenIcon);
|
||||||
events.off(player, 'mediastreamschange', onMediaStreamsChanged);
|
Events.off(player, 'mediastreamschange', onMediaStreamsChanged);
|
||||||
currentPlayer = null;
|
currentPlayer = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -623,7 +623,7 @@ import '../../../assets/css/videoosd.css';
|
||||||
player: player,
|
player: player,
|
||||||
nextItem: nextItem
|
nextItem: nextItem
|
||||||
});
|
});
|
||||||
events.on(currentUpNextDialog, 'hide', onUpNextHidden);
|
Events.on(currentUpNextDialog, 'hide', onUpNextHidden);
|
||||||
}, onUpNextHidden);
|
}, onUpNextHidden);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1299,7 +1299,7 @@ import '../../../assets/css/videoosd.css';
|
||||||
});
|
});
|
||||||
view.addEventListener('viewshow', function (e) {
|
view.addEventListener('viewshow', function (e) {
|
||||||
try {
|
try {
|
||||||
events.on(playbackManager, 'playerchange', onPlayerChange);
|
Events.on(playbackManager, 'playerchange', onPlayerChange);
|
||||||
bindToPlayer(playbackManager.getCurrentPlayer());
|
bindToPlayer(playbackManager.getCurrentPlayer());
|
||||||
/* eslint-disable-next-line compat/compat */
|
/* eslint-disable-next-line compat/compat */
|
||||||
dom.addEventListener(document, window.PointerEvent ? 'pointermove' : 'mousemove', onPointerMove, {
|
dom.addEventListener(document, window.PointerEvent ? 'pointermove' : 'mousemove', onPointerMove, {
|
||||||
|
@ -1384,7 +1384,7 @@ import '../../../assets/css/videoosd.css';
|
||||||
passive: true
|
passive: true
|
||||||
});
|
});
|
||||||
inputManager.off(window, onInputCommand);
|
inputManager.off(window, onInputCommand);
|
||||||
events.off(playbackManager, 'playerchange', onPlayerChange);
|
Events.off(playbackManager, 'playerchange', onPlayerChange);
|
||||||
releaseCurrentPlayer();
|
releaseCurrentPlayer();
|
||||||
});
|
});
|
||||||
view.querySelector('.btnFullscreen').addEventListener('click', function () {
|
view.querySelector('.btnFullscreen').addEventListener('click', function () {
|
||||||
|
@ -1555,8 +1555,8 @@ import '../../../assets/css/videoosd.css';
|
||||||
preventDefaultOnMove: true,
|
preventDefaultOnMove: true,
|
||||||
ignoreTagNames: ['BUTTON', 'INPUT', 'TEXTAREA']
|
ignoreTagNames: ['BUTTON', 'INPUT', 'TEXTAREA']
|
||||||
});
|
});
|
||||||
events.on(self.touchHelper, 'swipeup', onVerticalSwipe);
|
Events.on(self.touchHelper, 'swipeup', onVerticalSwipe);
|
||||||
events.on(self.touchHelper, 'swipedown', onVerticalSwipe);
|
Events.on(self.touchHelper, 'swipedown', onVerticalSwipe);
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import SearchFields from '../components/search/searchfields';
|
import SearchFields from '../components/search/searchfields';
|
||||||
import SearchResults from '../components/search/searchresults';
|
import SearchResults from '../components/search/searchresults';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
export default function (view, params) {
|
export default function (view, params) {
|
||||||
function onSearch(e, value) {
|
function onSearch(e, value) {
|
||||||
|
@ -19,7 +19,7 @@ export default function (view, params) {
|
||||||
parentId: params.parentId,
|
parentId: params.parentId,
|
||||||
collectionType: params.collectionType
|
collectionType: params.collectionType
|
||||||
});
|
});
|
||||||
events.on(self.searchFields, 'search', onSearch);
|
Events.on(self.searchFields, 'search', onSearch);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
view.addEventListener('viewdestroy', function () {
|
view.addEventListener('viewdestroy', function () {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import libraryBrowser from '../../scripts/libraryBrowser';
|
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||||
import imageLoader from '../../components/images/imageLoader';
|
import imageLoader from '../../components/images/imageLoader';
|
||||||
import listView from '../../components/listview/listview';
|
import listView from '../../components/listview/listview';
|
||||||
|
@ -177,7 +177,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
mode: 'episodes',
|
mode: 'episodes',
|
||||||
serverId: ApiClient.serverId()
|
serverId: ApiClient.serverId()
|
||||||
});
|
});
|
||||||
events.on(filterDialog, 'filterchange', function () {
|
Events.on(filterDialog, 'filterchange', function () {
|
||||||
reloadItems(tabContent);
|
reloadItems(tabContent);
|
||||||
});
|
});
|
||||||
filterDialog.show();
|
filterDialog.show();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import inputManager from '../../scripts/inputManager';
|
import inputManager from '../../scripts/inputManager';
|
||||||
import libraryMenu from '../../scripts/libraryMenu';
|
import libraryMenu from '../../scripts/libraryMenu';
|
||||||
import layoutManager from '../../components/layoutManager';
|
import layoutManager from '../../components/layoutManager';
|
||||||
|
@ -374,14 +374,14 @@ import '../../elements/emby-button/emby-button';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
events.on(playbackManager, 'playbackstop', onPlaybackStop);
|
Events.on(playbackManager, 'playbackstop', onPlaybackStop);
|
||||||
events.on(ApiClient, 'message', onWebSocketMessage);
|
Events.on(ApiClient, 'message', onWebSocketMessage);
|
||||||
inputManager.on(window, onInputCommand);
|
inputManager.on(window, onInputCommand);
|
||||||
});
|
});
|
||||||
view.addEventListener('viewbeforehide', function (e) {
|
view.addEventListener('viewbeforehide', function (e) {
|
||||||
inputManager.off(window, onInputCommand);
|
inputManager.off(window, onInputCommand);
|
||||||
events.off(playbackManager, 'playbackstop', onPlaybackStop);
|
Events.off(playbackManager, 'playbackstop', onPlaybackStop);
|
||||||
events.off(ApiClient, 'message', onWebSocketMessage);
|
Events.off(ApiClient, 'message', onWebSocketMessage);
|
||||||
});
|
});
|
||||||
view.addEventListener('viewdestroy', function (e) {
|
view.addEventListener('viewdestroy', function (e) {
|
||||||
tabControllers.forEach(function (t) {
|
tabControllers.forEach(function (t) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import libraryBrowser from '../../scripts/libraryBrowser';
|
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||||
import imageLoader from '../../components/images/imageLoader';
|
import imageLoader from '../../components/images/imageLoader';
|
||||||
import listView from '../../components/listview/listview';
|
import listView from '../../components/listview/listview';
|
||||||
|
@ -220,7 +220,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
mode: 'series',
|
mode: 'series',
|
||||||
serverId: ApiClient.serverId()
|
serverId: ApiClient.serverId()
|
||||||
});
|
});
|
||||||
events.on(filterDialog, 'filterchange', function () {
|
Events.on(filterDialog, 'filterchange', function () {
|
||||||
getQuery(tabContent).StartIndex = 0;
|
getQuery(tabContent).StartIndex = 0;
|
||||||
reloadItems(tabContent);
|
reloadItems(tabContent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
import EmbyProgressRing from '../emby-progressring/emby-progressring';
|
import EmbyProgressRing from '../emby-progressring/emby-progressring';
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
import serverNotifications from '../../scripts/serverNotifications';
|
import serverNotifications from '../../scripts/serverNotifications';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import 'webcomponents.js';
|
import 'webcomponents.js';
|
||||||
|
|
||||||
/* eslint-disable indent */
|
/* eslint-disable indent */
|
||||||
|
|
||||||
function addNotificationEvent(instance, name, handler) {
|
function addNotificationEvent(instance, name, handler) {
|
||||||
const localHandler = handler.bind(instance);
|
const localHandler = handler.bind(instance);
|
||||||
events.on(serverNotifications, name, localHandler);
|
Events.on(serverNotifications, name, localHandler);
|
||||||
instance[name] = localHandler;
|
instance[name] = localHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeNotificationEvent(instance, name) {
|
function removeNotificationEvent(instance, name) {
|
||||||
const handler = instance[name];
|
const handler = instance[name];
|
||||||
if (handler) {
|
if (handler) {
|
||||||
events.off(serverNotifications, name, handler);
|
Events.off(serverNotifications, name, handler);
|
||||||
instance[name] = null;
|
instance[name] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import dom from '../../scripts/dom';
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import focusManager from '../../components/focusManager';
|
import focusManager from '../../components/focusManager';
|
||||||
import serverNotifications from '../../scripts/serverNotifications';
|
import serverNotifications from '../../scripts/serverNotifications';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import 'webcomponents.js';
|
import 'webcomponents.js';
|
||||||
|
|
||||||
/* eslint-disable indent */
|
/* eslint-disable indent */
|
||||||
|
@ -271,7 +271,7 @@ import 'webcomponents.js';
|
||||||
function addNotificationEvent(instance, name, handler, owner) {
|
function addNotificationEvent(instance, name, handler, owner) {
|
||||||
const localHandler = handler.bind(instance);
|
const localHandler = handler.bind(instance);
|
||||||
owner = owner || serverNotifications;
|
owner = owner || serverNotifications;
|
||||||
events.on(owner, name, localHandler);
|
Events.on(owner, name, localHandler);
|
||||||
instance['event_' + name] = localHandler;
|
instance['event_' + name] = localHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,7 +279,7 @@ import 'webcomponents.js';
|
||||||
const handler = instance['event_' + name];
|
const handler = instance['event_' + name];
|
||||||
if (handler) {
|
if (handler) {
|
||||||
owner = owner || serverNotifications;
|
owner = owner || serverNotifications;
|
||||||
events.off(owner, name, handler);
|
Events.off(owner, name, handler);
|
||||||
instance['event_' + name] = null;
|
instance['event_' + name] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import serverNotifications from '../../scripts/serverNotifications';
|
import serverNotifications from '../../scripts/serverNotifications';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import EmbyButtonPrototype from '../../elements/emby-button/emby-button';
|
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) {
|
function addNotificationEvent(instance, name, handler) {
|
||||||
const localHandler = handler.bind(instance);
|
const localHandler = handler.bind(instance);
|
||||||
events.on(serverNotifications, name, localHandler);
|
Events.on(serverNotifications, name, localHandler);
|
||||||
instance[name] = localHandler;
|
instance[name] = localHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeNotificationEvent(instance, name) {
|
function removeNotificationEvent(instance, name) {
|
||||||
const handler = instance[name];
|
const handler = instance[name];
|
||||||
if (handler) {
|
if (handler) {
|
||||||
events.off(serverNotifications, name, handler);
|
Events.off(serverNotifications, name, handler);
|
||||||
instance[name] = null;
|
instance[name] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import serverNotifications from '../../scripts/serverNotifications';
|
import serverNotifications from '../../scripts/serverNotifications';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import EmbyButtonPrototype from '../emby-button/emby-button';
|
import EmbyButtonPrototype from '../emby-button/emby-button';
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@ import EmbyButtonPrototype from '../emby-button/emby-button';
|
||||||
|
|
||||||
function addNotificationEvent(instance, name, handler) {
|
function addNotificationEvent(instance, name, handler) {
|
||||||
const localHandler = handler.bind(instance);
|
const localHandler = handler.bind(instance);
|
||||||
events.on(serverNotifications, name, localHandler);
|
Events.on(serverNotifications, name, localHandler);
|
||||||
instance[name] = localHandler;
|
instance[name] = localHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeNotificationEvent(instance, name) {
|
function removeNotificationEvent(instance, name) {
|
||||||
const handler = instance[name];
|
const handler = instance[name];
|
||||||
if (handler) {
|
if (handler) {
|
||||||
events.off(serverNotifications, name, handler);
|
Events.off(serverNotifications, name, handler);
|
||||||
instance[name] = null;
|
instance[name] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import { playbackManager } from '../components/playback/playbackmanager';
|
import { playbackManager } from '../components/playback/playbackmanager';
|
||||||
import { pluginManager } from '../components/pluginManager';
|
import { pluginManager } from '../components/pluginManager';
|
||||||
import inputManager from '../scripts/inputManager';
|
import inputManager from '../scripts/inputManager';
|
||||||
|
@ -16,7 +16,7 @@ function getFunctionalEventIdleTime() {
|
||||||
return new Date().getTime() - lastFunctionalEvent;
|
return new Date().getTime() - lastFunctionalEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
events.on(playbackManager, 'playbackstop', function (e, stopInfo) {
|
Events.on(playbackManager, 'playbackstop', function (e, stopInfo) {
|
||||||
const state = stopInfo.state;
|
const state = stopInfo.state;
|
||||||
if (state.NowPlayingItem && state.NowPlayingItem.MediaType == 'Video') {
|
if (state.NowPlayingItem && state.NowPlayingItem.MediaType == 'Video') {
|
||||||
lastFunctionalEvent = new Date().getTime();
|
lastFunctionalEvent = new Date().getTime();
|
||||||
|
|
|
@ -2,7 +2,7 @@ import loading from '../../components/loading/loading';
|
||||||
import keyboardnavigation from '../../scripts/keyboardNavigation';
|
import keyboardnavigation from '../../scripts/keyboardNavigation';
|
||||||
import dialogHelper from '../../components/dialogHelper/dialogHelper';
|
import dialogHelper from '../../components/dialogHelper/dialogHelper';
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import './style.css';
|
import './style.css';
|
||||||
import 'material-design-icons-iconfont';
|
import 'material-design-icons-iconfont';
|
||||||
import '../../elements/emby-button/paper-icon-button-light';
|
import '../../elements/emby-button/paper-icon-button-light';
|
||||||
|
@ -289,7 +289,7 @@ export class BookPlayer {
|
||||||
epubElem.style.display = 'block';
|
epubElem.style.display = 'block';
|
||||||
rendition.on('relocated', (locations) => {
|
rendition.on('relocated', (locations) => {
|
||||||
this.progress = book.locations.percentageFromCfi(locations.start.cfi);
|
this.progress = book.locations.percentageFromCfi(locations.start.cfi);
|
||||||
events.trigger(this, 'timeupdate');
|
Events.trigger(this, 'timeupdate');
|
||||||
});
|
});
|
||||||
|
|
||||||
loading.hide();
|
loading.hide();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import events from 'events';
|
import { Events, ConnectionManager } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
// LinkParser
|
// LinkParser
|
||||||
//
|
//
|
||||||
|
@ -221,8 +221,8 @@ function getCachedValue(key) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
events.on(window.connectionManager, 'localusersignedin', clearCache);
|
Events.on(ConnectionManager, 'localusersignedin', clearCache);
|
||||||
events.on(window.connectionManager, 'localusersignedout', clearCache);
|
Events.on(ConnectionManager, 'localusersignedout', clearCache);
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
getServerAddress: getServerAddress
|
getServerAddress: getServerAddress
|
||||||
|
|
|
@ -2,7 +2,7 @@ import appSettings from '../../scripts/settings/appSettings';
|
||||||
import * as userSettings from '../../scripts/settings/userSettings';
|
import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import { playbackManager } from '../../components/playback/playbackmanager';
|
import { playbackManager } from '../../components/playback/playbackmanager';
|
||||||
import globalize from '../../scripts/globalize';
|
import globalize from '../../scripts/globalize';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import castSenderApiLoader from '../../components/castSenderApi';
|
import castSenderApiLoader from '../../components/castSenderApi';
|
||||||
|
|
||||||
// Based on https://github.com/googlecast/CastVideos-chrome/blob/master/CastVideos.js
|
// 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'));
|
alertText(globalize.translate('MessageChromecastConnectionError'), globalize.translate('HeaderError'));
|
||||||
}, 300);
|
}, 300);
|
||||||
} else if (message.type) {
|
} 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('volumeupbutton', onVolumeUpKeyDown, false);
|
||||||
document.addEventListener('volumedownbutton', onVolumeDownKeyDown, false);
|
document.addEventListener('volumedownbutton', onVolumeDownKeyDown, false);
|
||||||
|
|
||||||
events.trigger(this, 'connect');
|
Events.trigger(this, 'connect');
|
||||||
this.sendMessage({
|
this.sendMessage({
|
||||||
options: {},
|
options: {},
|
||||||
command: 'Identify'
|
command: 'Identify'
|
||||||
|
@ -495,11 +495,11 @@ function getItemsForPlayback(apiClient, query) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function bindEventForRelay(instance, eventName) {
|
function bindEventForRelay(instance, eventName) {
|
||||||
events.on(instance._castPlayer, eventName, function (e, data) {
|
Events.on(instance._castPlayer, eventName, function (e, data) {
|
||||||
console.debug('cc: ' + eventName);
|
console.debug('cc: ' + eventName);
|
||||||
const state = instance.getPlayerStateInternal(data);
|
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) {
|
if (currentResolve) {
|
||||||
sendConnectionResult(true);
|
sendConnectionResult(true);
|
||||||
} else {
|
} else {
|
||||||
|
@ -526,20 +526,20 @@ function initializeChromecast() {
|
||||||
instance.lastPlayerData = null;
|
instance.lastPlayerData = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(instance._castPlayer, 'playbackstart', function (e, data) {
|
Events.on(instance._castPlayer, 'playbackstart', function (e, data) {
|
||||||
console.debug('cc: playbackstart');
|
console.debug('cc: playbackstart');
|
||||||
|
|
||||||
instance._castPlayer.initializeCastPlayer();
|
instance._castPlayer.initializeCastPlayer();
|
||||||
|
|
||||||
const state = instance.getPlayerStateInternal(data);
|
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');
|
console.debug('cc: playbackstop');
|
||||||
let state = instance.getPlayerStateInternal(data);
|
let state = instance.getPlayerStateInternal(data);
|
||||||
|
|
||||||
events.trigger(instance, 'playbackstop', [state]);
|
Events.trigger(instance, 'playbackstop', [state]);
|
||||||
|
|
||||||
state = instance.lastPlayerData.PlayState || {};
|
state = instance.lastPlayerData.PlayState || {};
|
||||||
const volume = state.VolumeLevel || 0.5;
|
const volume = state.VolumeLevel || 0.5;
|
||||||
|
@ -552,11 +552,11 @@ function initializeChromecast() {
|
||||||
instance.lastPlayerData.PlayState.IsMuted = mute;
|
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');
|
console.debug('cc: positionchange');
|
||||||
const state = instance.getPlayerStateInternal(data);
|
const state = instance.getPlayerStateInternal(data);
|
||||||
|
|
||||||
events.trigger(instance, 'timeupdate', [state]);
|
Events.trigger(instance, 'timeupdate', [state]);
|
||||||
});
|
});
|
||||||
|
|
||||||
bindEventForRelay(instance, 'timeupdate');
|
bindEventForRelay(instance, 'timeupdate');
|
||||||
|
@ -566,11 +566,11 @@ function initializeChromecast() {
|
||||||
bindEventForRelay(instance, 'repeatmodechange');
|
bindEventForRelay(instance, 'repeatmodechange');
|
||||||
bindEventForRelay(instance, 'shufflequeuemodechange');
|
bindEventForRelay(instance, 'shufflequeuemodechange');
|
||||||
|
|
||||||
events.on(instance._castPlayer, 'playstatechange', function (e, data) {
|
Events.on(instance._castPlayer, 'playstatechange', function (e, data) {
|
||||||
console.debug('cc: playstatechange');
|
console.debug('cc: playstatechange');
|
||||||
const state = instance.getPlayerStateInternal(data);
|
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));
|
console.debug(JSON.stringify(data));
|
||||||
|
|
||||||
if (triggerStateChange) {
|
if (triggerStateChange) {
|
||||||
events.trigger(this, 'statechange', [data]);
|
Events.trigger(this, 'statechange', [data]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import browser from '../../scripts/browser';
|
import browser from '../../scripts/browser';
|
||||||
import { appHost } from '../../components/apphost';
|
import { appHost } from '../../components/apphost';
|
||||||
import * as htmlMediaHelper from '../../components/htmlMediaHelper';
|
import * as htmlMediaHelper from '../../components/htmlMediaHelper';
|
||||||
|
@ -251,14 +251,14 @@ class HtmlAudioPlayer {
|
||||||
// Don't trigger events after user stop
|
// Don't trigger events after user stop
|
||||||
if (!self._isFadingOut) {
|
if (!self._isFadingOut) {
|
||||||
self._currentTime = time;
|
self._currentTime = time;
|
||||||
events.trigger(self, 'timeupdate');
|
Events.trigger(self, 'timeupdate');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onVolumeChange() {
|
function onVolumeChange() {
|
||||||
if (!self._isFadingOut) {
|
if (!self._isFadingOut) {
|
||||||
htmlMediaHelper.saveVolume(this.volume);
|
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);
|
htmlMediaHelper.seekOnPlaybackStart(self, e.target, self._currentPlayOptions.playerStartPositionTicks);
|
||||||
}
|
}
|
||||||
events.trigger(self, 'playing');
|
Events.trigger(self, 'playing');
|
||||||
}
|
}
|
||||||
|
|
||||||
function onPlay(e) {
|
function onPlay(e) {
|
||||||
events.trigger(self, 'unpause');
|
Events.trigger(self, 'unpause');
|
||||||
}
|
}
|
||||||
|
|
||||||
function onPause() {
|
function onPause() {
|
||||||
events.trigger(self, 'pause');
|
Events.trigger(self, 'pause');
|
||||||
}
|
}
|
||||||
|
|
||||||
function onWaiting() {
|
function onWaiting() {
|
||||||
events.trigger(self, 'waiting');
|
Events.trigger(self, 'waiting');
|
||||||
}
|
}
|
||||||
|
|
||||||
function onError() {
|
function onError() {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import browser from '../../scripts/browser';
|
import browser from '../../scripts/browser';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import { appHost } from '../../components/apphost';
|
import { appHost } from '../../components/apphost';
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import dom from '../../scripts/dom';
|
import dom from '../../scripts/dom';
|
||||||
|
@ -286,7 +286,7 @@ function tryRemoveElement(elem) {
|
||||||
incrementFetchQueue() {
|
incrementFetchQueue() {
|
||||||
if (this.#fetchQueue <= 0) {
|
if (this.#fetchQueue <= 0) {
|
||||||
this.isFetching = true;
|
this.isFetching = true;
|
||||||
events.trigger(this, 'beginFetch');
|
Events.trigger(this, 'beginFetch');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.#fetchQueue++;
|
this.#fetchQueue++;
|
||||||
|
@ -300,7 +300,7 @@ function tryRemoveElement(elem) {
|
||||||
|
|
||||||
if (this.#fetchQueue <= 0) {
|
if (this.#fetchQueue <= 0) {
|
||||||
this.isFetching = false;
|
this.isFetching = false;
|
||||||
events.trigger(this, 'endFetch');
|
Events.trigger(this, 'endFetch');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -754,7 +754,7 @@ function tryRemoveElement(elem) {
|
||||||
this.updateSubtitleText(timeMs);
|
this.updateSubtitleText(timeMs);
|
||||||
}
|
}
|
||||||
|
|
||||||
events.trigger(this, 'timeupdate');
|
Events.trigger(this, 'timeupdate');
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -767,7 +767,7 @@ function tryRemoveElement(elem) {
|
||||||
*/
|
*/
|
||||||
const elem = e.target;
|
const elem = e.target;
|
||||||
saveVolume(elem.volume);
|
saveVolume(elem.volume);
|
||||||
events.trigger(this, 'volumechange');
|
Events.trigger(this, 'volumechange');
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -826,14 +826,14 @@ function tryRemoveElement(elem) {
|
||||||
this.onStartedAndNavigatedToOsd();
|
this.onStartedAndNavigatedToOsd();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
events.trigger(this, 'playing');
|
Events.trigger(this, 'playing');
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
onPlay = () => {
|
onPlay = () => {
|
||||||
events.trigger(this, 'unpause');
|
Events.trigger(this, 'unpause');
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -859,25 +859,25 @@ function tryRemoveElement(elem) {
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
onClick = () => {
|
onClick = () => {
|
||||||
events.trigger(this, 'click');
|
Events.trigger(this, 'click');
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
onDblClick = () => {
|
onDblClick = () => {
|
||||||
events.trigger(this, 'dblclick');
|
Events.trigger(this, 'dblclick');
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
onPause = () => {
|
onPause = () => {
|
||||||
events.trigger(this, 'pause');
|
Events.trigger(this, 'pause');
|
||||||
};
|
};
|
||||||
|
|
||||||
onWaiting() {
|
onWaiting() {
|
||||||
events.trigger(this, 'waiting');
|
Events.trigger(this, 'waiting');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1561,7 +1561,7 @@ function tryRemoveElement(elem) {
|
||||||
elem.style['-webkit-filter'] = `brightness(${cssValue})`;
|
elem.style['-webkit-filter'] = `brightness(${cssValue})`;
|
||||||
elem.style.filter = `brightness(${cssValue})`;
|
elem.style.filter = `brightness(${cssValue})`;
|
||||||
elem.brightnessValue = val;
|
elem.brightnessValue = val;
|
||||||
events.trigger(this, 'brightnesschange');
|
Events.trigger(this, 'brightnesschange');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { playbackManager } from '../../components/playback/playbackmanager';
|
import { playbackManager } from '../../components/playback/playbackmanager';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import serverNotifications from '../../scripts/serverNotifications';
|
import serverNotifications from '../../scripts/serverNotifications';
|
||||||
|
|
||||||
function getActivePlayerId() {
|
function getActivePlayerId() {
|
||||||
|
@ -104,7 +104,7 @@ function processUpdatedSessions(instance, sessions, apiClient) {
|
||||||
instance.lastPlayerData = session;
|
instance.lastPlayerData = session;
|
||||||
|
|
||||||
for (let i = 0, length = eventNames.length; i < length; i++) {
|
for (let i = 0, length = eventNames.length; i < length; i++) {
|
||||||
events.trigger(instance, eventNames[i], [session]);
|
Events.trigger(instance, eventNames[i], [session]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
instance.lastPlayerData = session;
|
instance.lastPlayerData = session;
|
||||||
|
@ -186,7 +186,7 @@ class SessionPlayer {
|
||||||
this.isLocalPlayer = false;
|
this.isLocalPlayer = false;
|
||||||
this.id = 'remoteplayer';
|
this.id = 'remoteplayer';
|
||||||
|
|
||||||
events.on(serverNotifications, 'Sessions', function (e, apiClient, data) {
|
Events.on(serverNotifications, 'Sessions', function (e, apiClient, data) {
|
||||||
processUpdatedSessions(self, data, apiClient);
|
processUpdatedSessions(self, data, apiClient);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import browser from '../../scripts/browser';
|
import browser from '../../scripts/browser';
|
||||||
import { appRouter } from '../../components/appRouter';
|
import { appRouter } from '../../components/appRouter';
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
|
@ -80,7 +80,7 @@ function onEndedInternal(instance) {
|
||||||
src: instance._currentSrc
|
src: instance._currentSrc
|
||||||
};
|
};
|
||||||
|
|
||||||
events.trigger(instance, 'stopped', [stopInfo]);
|
Events.trigger(instance, 'stopped', [stopInfo]);
|
||||||
|
|
||||||
instance._currentSrc = null;
|
instance._currentSrc = null;
|
||||||
if (instance.currentYoutubePlayer) {
|
if (instance.currentYoutubePlayer) {
|
||||||
|
@ -95,7 +95,7 @@ function onPlayerReady(event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTimeUpdate(e) {
|
function onTimeUpdate(e) {
|
||||||
events.trigger(this, 'timeupdate');
|
Events.trigger(this, 'timeupdate');
|
||||||
}
|
}
|
||||||
|
|
||||||
function onPlaying(instance, playOptions, resolve) {
|
function onPlaying(instance, playOptions, resolve) {
|
||||||
|
@ -139,7 +139,7 @@ function setCurrentSrc(instance, elem, options) {
|
||||||
} else if (event.data === YT.PlayerState.ENDED) {
|
} else if (event.data === YT.PlayerState.ENDED) {
|
||||||
onEndedInternal(instance);
|
onEndedInternal(instance);
|
||||||
} else if (event.data === YT.PlayerState.PAUSED) {
|
} 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
|
// This needs a delay before the youtube player will report the correct player state
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
events.trigger(instance, 'pause');
|
Events.trigger(instance, 'pause');
|
||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -290,7 +290,7 @@ class YoutubePlayer {
|
||||||
|
|
||||||
// This needs a delay before the youtube player will report the correct player state
|
// This needs a delay before the youtube player will report the correct player state
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
events.trigger(instance, 'unpause');
|
Events.trigger(instance, 'unpause');
|
||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import * as userSettings from './settings/userSettings';
|
import * as userSettings from './settings/userSettings';
|
||||||
import * as webSettings from './settings/webSettings';
|
import * as webSettings from './settings/webSettings';
|
||||||
import skinManager from './themeManager';
|
import skinManager from './themeManager';
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
// set the default theme when loading
|
// set the default theme when loading
|
||||||
skinManager.setTheme(userSettings.theme());
|
skinManager.setTheme(userSettings.theme());
|
||||||
|
|
||||||
// set the saved theme once a user authenticates
|
// 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());
|
skinManager.setTheme(userSettings.theme());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import * as userSettings from './settings/userSettings';
|
import * as userSettings from './settings/userSettings';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
/* eslint-disable indent */
|
/* eslint-disable indent */
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ import { events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
updateCurrentCulture();
|
updateCurrentCulture();
|
||||||
|
|
||||||
events.on(userSettings, 'change', function (e, name) {
|
Events.on(userSettings, 'change', function (e, name) {
|
||||||
if (name === 'language' || name === 'datetimelocale') {
|
if (name === 'language' || name === 'datetimelocale') {
|
||||||
updateCurrentCulture();
|
updateCurrentCulture();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import dom from './dom';
|
import dom from './dom';
|
||||||
import layoutManager from '../components/layoutManager';
|
import layoutManager from '../components/layoutManager';
|
||||||
import inputManager from './inputManager';
|
import inputManager from './inputManager';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import viewManager from '../components/viewManager/viewManager';
|
import viewManager from '../components/viewManager/viewManager';
|
||||||
import { appRouter } from '../components/appRouter';
|
import { appRouter } from '../components/appRouter';
|
||||||
import { appHost } from '../components/apphost';
|
import { appHost } from '../components/apphost';
|
||||||
|
@ -199,8 +199,8 @@ import '../assets/css/flexstyles.css';
|
||||||
if (layoutManager.mobile) {
|
if (layoutManager.mobile) {
|
||||||
initHeadRoom(skinHeader);
|
initHeadRoom(skinHeader);
|
||||||
}
|
}
|
||||||
events.on(playbackManager, 'playbackstart', onPlaybackStart);
|
Events.on(playbackManager, 'playbackstart', onPlaybackStart);
|
||||||
events.on(playbackManager, 'playbackstop', onPlaybackStop);
|
Events.on(playbackManager, 'playbackstop', onPlaybackStop);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onPlaybackStart(e) {
|
function onPlaybackStart(e) {
|
||||||
|
@ -978,7 +978,7 @@ import '../assets/css/flexstyles.css';
|
||||||
|
|
||||||
renderHeader();
|
renderHeader();
|
||||||
|
|
||||||
events.on(window.ConnectionManager, 'localusersignedin', function (e, user) {
|
Events.on(window.ConnectionManager, 'localusersignedin', function (e, user) {
|
||||||
const currentApiClient = window.ConnectionManager.getApiClient(user.ServerId);
|
const currentApiClient = window.ConnectionManager.getApiClient(user.ServerId);
|
||||||
|
|
||||||
currentDrawerType = null;
|
currentDrawerType = null;
|
||||||
|
@ -994,15 +994,15 @@ import '../assets/css/flexstyles.css';
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(window.ConnectionManager, 'localusersignedout', function () {
|
Events.on(window.ConnectionManager, 'localusersignedout', function () {
|
||||||
currentUser = {};
|
currentUser = {};
|
||||||
updateUserInHeader();
|
updateUserInHeader();
|
||||||
});
|
});
|
||||||
|
|
||||||
events.on(playbackManager, 'playerchange', updateCastIcon);
|
Events.on(playbackManager, 'playerchange', updateCastIcon);
|
||||||
|
|
||||||
events.on(syncPlayManager, 'enabled', onSyncPlayEnabled);
|
Events.on(syncPlayManager, 'enabled', onSyncPlayEnabled);
|
||||||
events.on(syncPlayManager, 'syncing', onSyncPlaySyncing);
|
Events.on(syncPlayManager, 'syncing', onSyncPlaySyncing);
|
||||||
|
|
||||||
loadNavDrawer();
|
loadNavDrawer();
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ import inputManager from './inputManager';
|
||||||
import focusManager from '../components/focusManager';
|
import focusManager from '../components/focusManager';
|
||||||
import browser from '../scripts/browser';
|
import browser from '../scripts/browser';
|
||||||
import layoutManager from '../components/layoutManager';
|
import layoutManager from '../components/layoutManager';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import dom from '../scripts/dom';
|
import dom from '../scripts/dom';
|
||||||
/* eslint-disable indent */
|
/* eslint-disable indent */
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ import dom from '../scripts/dom';
|
||||||
if (isMouseIdle) {
|
if (isMouseIdle) {
|
||||||
isMouseIdle = false;
|
isMouseIdle = false;
|
||||||
removeIdleClasses();
|
removeIdleClasses();
|
||||||
events.trigger(self, 'mouseactive');
|
Events.trigger(self, 'mouseactive');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ import dom from '../scripts/dom';
|
||||||
if (!isMouseIdle) {
|
if (!isMouseIdle) {
|
||||||
isMouseIdle = true;
|
isMouseIdle = true;
|
||||||
addIdleClasses();
|
addIdleClasses();
|
||||||
events.trigger(self, 'mouseidle');
|
Events.trigger(self, 'mouseidle');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ import dom from '../scripts/dom';
|
||||||
|
|
||||||
initMouse();
|
initMouse();
|
||||||
|
|
||||||
events.on(layoutManager, 'modechange', initMouse);
|
Events.on(layoutManager, 'modechange', initMouse);
|
||||||
|
|
||||||
/* eslint-enable indent */
|
/* eslint-enable indent */
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { playbackManager } from '../components/playback/playbackmanager';
|
import { playbackManager } from '../components/playback/playbackmanager';
|
||||||
import syncPlayManager from '../components/syncPlay/syncPlayManager';
|
import syncPlayManager from '../components/syncPlay/syncPlayManager';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
import inputManager from '../scripts/inputManager';
|
import inputManager from '../scripts/inputManager';
|
||||||
import focusManager from '../components/focusManager';
|
import focusManager from '../components/focusManager';
|
||||||
import { appRouter } from '../components/appRouter';
|
import { appRouter } from '../components/appRouter';
|
||||||
|
@ -191,7 +191,7 @@ function onMessageReceived(e, msg) {
|
||||||
} else if (msg.MessageType === 'UserDataChanged') {
|
} else if (msg.MessageType === 'UserDataChanged') {
|
||||||
if (msg.Data.UserId === apiClient.getCurrentUserId()) {
|
if (msg.Data.UserId === apiClient.getCurrentUserId()) {
|
||||||
for (let i = 0, length = msg.Data.UserDataList.length; i < length; i++) {
|
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') {
|
} else if (msg.MessageType === 'SyncPlayCommand') {
|
||||||
|
@ -199,16 +199,16 @@ function onMessageReceived(e, msg) {
|
||||||
} else if (msg.MessageType === 'SyncPlayGroupUpdate') {
|
} else if (msg.MessageType === 'SyncPlayGroupUpdate') {
|
||||||
syncPlayManager.processGroupUpdate(msg.Data, apiClient);
|
syncPlayManager.processGroupUpdate(msg.Data, apiClient);
|
||||||
} else {
|
} else {
|
||||||
events.trigger(serverNotifications, msg.MessageType, [apiClient, msg.Data]);
|
Events.trigger(serverNotifications, msg.MessageType, [apiClient, msg.Data]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function bindEvents(apiClient) {
|
function bindEvents(apiClient) {
|
||||||
events.off(apiClient, 'message', onMessageReceived);
|
Events.off(apiClient, 'message', onMessageReceived);
|
||||||
events.on(apiClient, 'message', onMessageReceived);
|
Events.on(apiClient, 'message', onMessageReceived);
|
||||||
}
|
}
|
||||||
|
|
||||||
window.ConnectionManager.getApiClients().forEach(bindEvents);
|
window.ConnectionManager.getApiClients().forEach(bindEvents);
|
||||||
events.on(window.ConnectionManager, 'apiclientcreated', function (e, newApiClient) {
|
Events.on(window.ConnectionManager, 'apiclientcreated', function (e, newApiClient) {
|
||||||
bindEvents(newApiClient);
|
bindEvents(newApiClient);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* eslint-disable indent */
|
/* eslint-disable indent */
|
||||||
import { appStorage, events } from 'jellyfin-apiclient';
|
import { AppStorage, Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
function getKey(name, userId) {
|
function getKey(name, userId) {
|
||||||
if (userId) {
|
if (userId) {
|
||||||
|
@ -80,15 +80,15 @@ import { appStorage, events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
export function set(name, value, userId) {
|
export function set(name, value, userId) {
|
||||||
const currentValue = this.get(name, userId);
|
const currentValue = this.get(name, userId);
|
||||||
appStorage.setItem(getKey(name, userId), value);
|
AppStorage.setItem(getKey(name, userId), value);
|
||||||
|
|
||||||
if (currentValue !== value) {
|
if (currentValue !== value) {
|
||||||
events.trigger(this, 'change', [name]);
|
Events.trigger(this, 'change', [name]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function get(name, userId) {
|
export function get(name, userId) {
|
||||||
return appStorage.getItem(getKey(name, userId));
|
return AppStorage.getItem(getKey(name, userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* eslint-enable indent */
|
/* eslint-enable indent */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import appSettings from './appSettings';
|
import appSettings from './appSettings';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
function onSaveTimeout() {
|
function onSaveTimeout() {
|
||||||
const self = this;
|
const self = this;
|
||||||
|
@ -77,7 +77,7 @@ export class UserSettings {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentValue !== value) {
|
if (currentValue !== value) {
|
||||||
events.trigger(this, 'change', [name]);
|
Events.trigger(this, 'change', [name]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
|
@ -96,7 +96,7 @@ function initClient() {
|
||||||
import('../components/apphost'),
|
import('../components/apphost'),
|
||||||
import('./settings/userSettings')
|
import('./settings/userSettings')
|
||||||
])
|
])
|
||||||
.then(([{ ConnectionManager, Credentials, events }, { appHost} , userSettings]) => {
|
.then(([{ ConnectionManager, Credentials, Events }, { appHost} , userSettings]) => {
|
||||||
var credentialProviderInstance = new Credentials();
|
var credentialProviderInstance = new Credentials();
|
||||||
var promises = [appHost.init()];
|
var promises = [appHost.init()];
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ function initClient() {
|
||||||
|
|
||||||
window.ConnectionManager = new ConnectionManager(credentialProviderInstance, appHost.appName(), appHost.appVersion(), appHost.deviceName(), appHost.deviceId(), capabilities);
|
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) {
|
if (!AppInfo.isNativeApp) {
|
||||||
console.debug('loading ApiClient singleton');
|
console.debug('loading ApiClient singleton');
|
||||||
|
@ -165,7 +165,7 @@ function initClient() {
|
||||||
import('jellyfin-apiclient')
|
import('jellyfin-apiclient')
|
||||||
])
|
])
|
||||||
.then(([ globalize, { ConnectionManager, events } ]) => {
|
.then(([ globalize, { ConnectionManager, events } ]) => {
|
||||||
events.on(ConnectionManager, 'localusersignedin', globalize.updateCurrentCulture);
|
Events.on(ConnectionManager, 'localusersignedin', globalize.updateCurrentCulture);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
import { ConnectionManager, events } from 'jellyfin-apiclient';
|
import { ConnectionManager, Events } from 'jellyfin-apiclient';
|
||||||
import serverNotifications from '../scripts/serverNotifications';
|
import serverNotifications from '../scripts/serverNotifications';
|
||||||
import globalize from '../scripts/globalize';
|
import globalize from '../scripts/globalize';
|
||||||
import '../elements/emby-button/emby-button';
|
import '../elements/emby-button/emby-button';
|
||||||
|
@ -110,12 +110,12 @@ export default function (options) {
|
||||||
|
|
||||||
if (options.mode == 'off') {
|
if (options.mode == 'off') {
|
||||||
button.removeEventListener('click', onButtonClick);
|
button.removeEventListener('click', onButtonClick);
|
||||||
events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
Events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
||||||
stopInterval();
|
stopInterval();
|
||||||
} else {
|
} else {
|
||||||
button.addEventListener('click', onButtonClick);
|
button.addEventListener('click', onButtonClick);
|
||||||
pollTasks();
|
pollTasks();
|
||||||
startInterval();
|
startInterval();
|
||||||
events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
Events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import dom from '../scripts/dom';
|
import dom from '../scripts/dom';
|
||||||
import { events } from 'jellyfin-apiclient';
|
import { Events } from 'jellyfin-apiclient';
|
||||||
|
|
||||||
function getTouches(e) {
|
function getTouches(e) {
|
||||||
return e.changedTouches || e.targetTouches || e.touches;
|
return e.changedTouches || e.targetTouches || e.touches;
|
||||||
|
@ -73,13 +73,13 @@ class TouchHelper {
|
||||||
lastDeltaY = deltaY;
|
lastDeltaY = deltaY;
|
||||||
|
|
||||||
if (deltaX > swipeXThreshold && Math.abs(deltaY) < swipeXMaxY) {
|
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) {
|
} 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) {
|
} else if ((deltaY < (0 - swipeYThreshold) || thresholdYMet) && Math.abs(deltaX) < swipeXMaxY) {
|
||||||
thresholdYMet = true;
|
thresholdYMet = true;
|
||||||
|
|
||||||
events.trigger(self, 'swipeup', [touchTarget, {
|
Events.trigger(self, 'swipeup', [touchTarget, {
|
||||||
deltaY: deltaY,
|
deltaY: deltaY,
|
||||||
deltaX: deltaX,
|
deltaX: deltaX,
|
||||||
clientX: clientX,
|
clientX: clientX,
|
||||||
|
@ -90,7 +90,7 @@ class TouchHelper {
|
||||||
} else if ((deltaY > swipeYThreshold || thresholdYMet) && Math.abs(deltaX) < swipeXMaxY) {
|
} else if ((deltaY > swipeYThreshold || thresholdYMet) && Math.abs(deltaX) < swipeXMaxY) {
|
||||||
thresholdYMet = true;
|
thresholdYMet = true;
|
||||||
|
|
||||||
events.trigger(self, 'swipedown', [touchTarget, {
|
Events.trigger(self, 'swipedown', [touchTarget, {
|
||||||
deltaY: deltaY,
|
deltaY: deltaY,
|
||||||
deltaX: deltaX,
|
deltaX: deltaX,
|
||||||
clientX: clientX,
|
clientX: clientX,
|
||||||
|
|
|
@ -18,7 +18,7 @@ module.exports = merge(common, {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
test: /\.js$/,
|
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: {
|
use: {
|
||||||
loader: 'babel-loader',
|
loader: 'babel-loader',
|
||||||
options: {
|
options: {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue