diff --git a/.eslintrc.js b/.eslintrc.js index 21ac86277..63f8a973c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -83,7 +83,6 @@ module.exports = { 'ApiClient': 'writable', 'chrome': 'writable', 'DlnaProfilePage': 'writable', - 'Dashboard': 'writable', 'DashboardPage': 'writable', 'Emby': 'readonly', 'Events': 'writable', diff --git a/src/components/appRouter.js b/src/components/appRouter.js index e93d4d825..462338f8f 100644 --- a/src/components/appRouter.js +++ b/src/components/appRouter.js @@ -9,6 +9,7 @@ import loading from './loading/loading'; import page from 'page'; import viewManager from './viewManager/viewManager'; import AppInfo from './AppInfo'; +import Dashboard from '../scripts/clientUtils'; class AppRouter { allRoutes = []; diff --git a/src/components/groupedcards.js b/src/components/groupedcards.js index 3dd7f6140..5b8eaa316 100644 --- a/src/components/groupedcards.js +++ b/src/components/groupedcards.js @@ -3,6 +3,7 @@ import dom from '../scripts/dom'; import { appRouter } from './appRouter'; import { ConnectionManager } from 'jellyfin-apiclient'; +import Dashboard from '../scripts/clientUtils'; function onGroupedCardClick(e, card) { const itemId = card.getAttribute('data-id'); diff --git a/src/components/homesections/homesections.js b/src/components/homesections/homesections.js index 27f1c4d79..c379744ba 100644 --- a/src/components/homesections/homesections.js +++ b/src/components/homesections/homesections.js @@ -10,6 +10,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../elements/emby-scroller/emby-scroller'; import '../../elements/emby-button/emby-button'; import './homesections.css'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/components/tvproviders/schedulesdirect.js b/src/components/tvproviders/schedulesdirect.js index b6160f93e..6346594fd 100644 --- a/src/components/tvproviders/schedulesdirect.js +++ b/src/components/tvproviders/schedulesdirect.js @@ -8,6 +8,7 @@ import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-select/emby-select'; import '../../elements/emby-button/emby-button'; import '../../assets/css/flexstyles.css'; +import Dashboard from '../../scripts/clientUtils'; export default function (page, providerId, options) { function reload() { diff --git a/src/components/tvproviders/xmltv.js b/src/components/tvproviders/xmltv.js index 9d23f7710..3b2efb321 100644 --- a/src/components/tvproviders/xmltv.js +++ b/src/components/tvproviders/xmltv.js @@ -5,6 +5,7 @@ import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-input/emby-input'; import '../listview/listview.css'; import '../../elements/emby-button/paper-icon-button-light'; +import Dashboard from '../../scripts/clientUtils'; export default function (page, providerId, options) { function getListingProvider(config, id) { diff --git a/src/components/viewContainer.js b/src/components/viewContainer.js index 2759d1a9f..7bec82ee7 100644 --- a/src/components/viewContainer.js +++ b/src/components/viewContainer.js @@ -1,4 +1,6 @@ import './viewManager/viewContainer.css'; +import Dashboard from '../scripts/clientUtils'; + /* eslint-disable indent */ function setControllerClass(view, options) { diff --git a/src/controllers/dashboard/dashboard.js b/src/controllers/dashboard/dashboard.js index fe82e2e74..854917db8 100644 --- a/src/controllers/dashboard/dashboard.js +++ b/src/controllers/dashboard/dashboard.js @@ -18,6 +18,7 @@ import '../../elements/emby-button/emby-button'; import '../../assets/css/flexstyles.css'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; import taskButton from '../../scripts/taskbutton'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/devices/device.js b/src/controllers/dashboard/devices/device.js index ec9932d38..18404d605 100644 --- a/src/controllers/dashboard/devices/device.js +++ b/src/controllers/dashboard/devices/device.js @@ -2,6 +2,7 @@ import loading from '../../../components/loading/loading'; import dom from '../../../scripts/dom'; import '../../../elements/emby-input/emby-input'; import '../../../elements/emby-button/emby-button'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/devices/devices.js b/src/controllers/dashboard/devices/devices.js index 2466b24d7..c817d2b99 100644 --- a/src/controllers/dashboard/devices/devices.js +++ b/src/controllers/dashboard/devices/devices.js @@ -7,6 +7,7 @@ import { localeWithSuffix } from '../../../scripts/dfnshelper'; import '../../../elements/emby-button/emby-button'; import '../../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../../components/cardbuilder/card.css'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/dlna/profile.js b/src/controllers/dashboard/dlna/profile.js index 2a770bf91..0106d35e9 100644 --- a/src/controllers/dashboard/dlna/profile.js +++ b/src/controllers/dashboard/dlna/profile.js @@ -6,6 +6,7 @@ import '../../../elements/emby-button/emby-button'; import '../../../elements/emby-input/emby-input'; import '../../../elements/emby-checkbox/emby-checkbox'; import '../../../components/listview/listview.css'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/dlna/settings.js b/src/controllers/dashboard/dlna/settings.js index f5591cdef..33c35b964 100644 --- a/src/controllers/dashboard/dlna/settings.js +++ b/src/controllers/dashboard/dlna/settings.js @@ -2,6 +2,7 @@ import 'jquery'; import loading from '../../../components/loading/loading'; import libraryMenu from '../../../scripts/libraryMenu'; import globalize from '../../../scripts/globalize'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/encodingsettings.js b/src/controllers/dashboard/encodingsettings.js index 7bd611df6..ad4445461 100644 --- a/src/controllers/dashboard/encodingsettings.js +++ b/src/controllers/dashboard/encodingsettings.js @@ -3,6 +3,7 @@ import loading from '../../components/loading/loading'; import globalize from '../../scripts/globalize'; import dom from '../../scripts/dom'; import libraryMenu from '../../scripts/libraryMenu'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/general.js b/src/controllers/dashboard/general.js index e181ae42b..ef2540eef 100644 --- a/src/controllers/dashboard/general.js +++ b/src/controllers/dashboard/general.js @@ -7,6 +7,7 @@ import '../../elements/emby-input/emby-input'; import '../../elements/emby-select/emby-select'; import '../../elements/emby-button/emby-button'; import AppInfo from '../../components/AppInfo'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/library.js b/src/controllers/dashboard/library.js index 9ef5f77fa..d3575c5ff 100644 --- a/src/controllers/dashboard/library.js +++ b/src/controllers/dashboard/library.js @@ -7,6 +7,7 @@ import dom from '../../scripts/dom'; import imageHelper from '../../scripts/imagehelper'; import '../../components/cardbuilder/card.css'; import '../../elements/emby-itemrefreshindicator/emby-itemrefreshindicator'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/librarydisplay.js b/src/controllers/dashboard/librarydisplay.js index fbae27fe7..7e7bbb7cf 100644 --- a/src/controllers/dashboard/librarydisplay.js +++ b/src/controllers/dashboard/librarydisplay.js @@ -3,6 +3,7 @@ import loading from '../../components/loading/loading'; import libraryMenu from '../../scripts/libraryMenu'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-button/emby-button'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/metadataImages.js b/src/controllers/dashboard/metadataImages.js index afc19c0ed..6dda2f1ee 100644 --- a/src/controllers/dashboard/metadataImages.js +++ b/src/controllers/dashboard/metadataImages.js @@ -3,6 +3,7 @@ import loading from '../../components/loading/loading'; import libraryMenu from '../../scripts/libraryMenu'; import globalize from '../../scripts/globalize'; import '../../components/listview/listview.css'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/metadatanfo.js b/src/controllers/dashboard/metadatanfo.js index e3fd0df00..58cebdd57 100644 --- a/src/controllers/dashboard/metadatanfo.js +++ b/src/controllers/dashboard/metadatanfo.js @@ -2,6 +2,7 @@ import 'jquery'; import loading from '../../components/loading/loading'; import libraryMenu from '../../scripts/libraryMenu'; import globalize from '../../scripts/globalize'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/networking.js b/src/controllers/dashboard/networking.js index a68a33487..28cca69b7 100644 --- a/src/controllers/dashboard/networking.js +++ b/src/controllers/dashboard/networking.js @@ -2,6 +2,7 @@ import loading from '../../components/loading/loading'; import globalize from '../../scripts/globalize'; import '../../elements/emby-checkbox/emby-checkbox'; import '../../elements/emby-select/emby-select'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/notifications/notification/index.js b/src/controllers/dashboard/notifications/notification/index.js index 1501a9a7b..eda000442 100644 --- a/src/controllers/dashboard/notifications/notification/index.js +++ b/src/controllers/dashboard/notifications/notification/index.js @@ -1,5 +1,6 @@ import 'jquery'; import '../../../../elements/emby-checkbox/emby-checkbox'; +import Dashboard from '../../../../scripts/clientUtils'; function fillItems(elem, items, cssClass, idPrefix, currentList, isEnabledList) { let html = '
'; diff --git a/src/controllers/dashboard/playback.js b/src/controllers/dashboard/playback.js index 0ea7dc320..b02090cd3 100644 --- a/src/controllers/dashboard/playback.js +++ b/src/controllers/dashboard/playback.js @@ -2,6 +2,7 @@ import 'jquery'; import loading from '../../components/loading/loading'; import libraryMenu from '../../scripts/libraryMenu'; import globalize from '../../scripts/globalize'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/plugins/add/index.js b/src/controllers/dashboard/plugins/add/index.js index 3854087e7..8738f8be7 100644 --- a/src/controllers/dashboard/plugins/add/index.js +++ b/src/controllers/dashboard/plugins/add/index.js @@ -2,6 +2,7 @@ import 'jquery'; import loading from '../../../../components/loading/loading'; import globalize from '../../../../scripts/globalize'; import '../../../../elements/emby-button/emby-button'; +import Dashboard from '../../../../scripts/clientUtils'; function populateHistory(packageInfo, page) { let html = ''; diff --git a/src/controllers/dashboard/plugins/installed/index.js b/src/controllers/dashboard/plugins/installed/index.js index 26e98a327..7ed0eddf9 100644 --- a/src/controllers/dashboard/plugins/installed/index.js +++ b/src/controllers/dashboard/plugins/installed/index.js @@ -4,6 +4,7 @@ import dom from '../../../../scripts/dom'; import globalize from '../../../../scripts/globalize'; import '../../../../components/cardbuilder/card.css'; import '../../../../elements/emby-button/emby-button'; +import Dashboard from '../../../../scripts/clientUtils'; function deletePlugin(page, uniqueid, name) { const msg = globalize.translate('UninstallPluginConfirmation', name); diff --git a/src/controllers/dashboard/streaming.js b/src/controllers/dashboard/streaming.js index 5fbf67491..5f504d953 100644 --- a/src/controllers/dashboard/streaming.js +++ b/src/controllers/dashboard/streaming.js @@ -2,6 +2,7 @@ import 'jquery'; import libraryMenu from '../../scripts/libraryMenu'; import loading from '../../components/loading/loading'; import globalize from '../../scripts/globalize'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/users/useredit.js b/src/controllers/dashboard/users/useredit.js index 3532f8262..90b039723 100644 --- a/src/controllers/dashboard/users/useredit.js +++ b/src/controllers/dashboard/users/useredit.js @@ -2,6 +2,7 @@ import 'jquery'; import loading from '../../../components/loading/loading'; import libraryMenu from '../../../scripts/libraryMenu'; import globalize from '../../../scripts/globalize'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/users/userlibraryaccess.js b/src/controllers/dashboard/users/userlibraryaccess.js index d07cc8f57..3c602fc3f 100644 --- a/src/controllers/dashboard/users/userlibraryaccess.js +++ b/src/controllers/dashboard/users/userlibraryaccess.js @@ -2,6 +2,7 @@ import 'jquery'; import loading from '../../../components/loading/loading'; import libraryMenu from '../../../scripts/libraryMenu'; import globalize from '../../../scripts/globalize'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/users/usernew.js b/src/controllers/dashboard/users/usernew.js index 9e6ffc3fc..0798423b8 100644 --- a/src/controllers/dashboard/users/usernew.js +++ b/src/controllers/dashboard/users/usernew.js @@ -2,6 +2,7 @@ import 'jquery'; import loading from '../../../components/loading/loading'; import globalize from '../../../scripts/globalize'; import '../../../elements/emby-checkbox/emby-checkbox'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/users/userpasswordpage.js b/src/controllers/dashboard/users/userpasswordpage.js index 2f5246c54..d5ed54b63 100644 --- a/src/controllers/dashboard/users/userpasswordpage.js +++ b/src/controllers/dashboard/users/userpasswordpage.js @@ -2,6 +2,7 @@ import loading from '../../../components/loading/loading'; import libraryMenu from '../../../scripts/libraryMenu'; import globalize from '../../../scripts/globalize'; import '../../../elements/emby-button/emby-button'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/dashboard/users/userprofilespage.js b/src/controllers/dashboard/users/userprofilespage.js index d0c5270d4..4650e5eb6 100644 --- a/src/controllers/dashboard/users/userprofilespage.js +++ b/src/controllers/dashboard/users/userprofilespage.js @@ -8,6 +8,7 @@ import '../../../components/cardbuilder/card.css'; import '../../../elements/emby-button/emby-button'; import '../../../components/indicators/indicators.css'; import '../../../assets/css/flexstyles.css'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index 38ea324b3..3f5373b09 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -27,6 +27,7 @@ import '../../elements/emby-ratingbutton/emby-ratingbutton'; import '../../elements/emby-scroller/emby-scroller'; import '../../elements/emby-select/emby-select'; import itemShortcuts from '../../components/shortcuts'; +import Dashboard from '../../scripts/clientUtils'; function getPromise(apiClient, params) { const id = params.id; diff --git a/src/controllers/livetv/livetvrecordings.js b/src/controllers/livetv/livetvrecordings.js index 23197da6c..a1fb55f53 100644 --- a/src/controllers/livetv/livetvrecordings.js +++ b/src/controllers/livetv/livetvrecordings.js @@ -4,6 +4,7 @@ import imageLoader from '../../components/images/imageLoader'; import '../../scripts/livetvcomponents'; import '../../components/listview/listview.css'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; +import Dashboard from '../../scripts/clientUtils'; function renderRecordings(elem, recordings, cardOptions, scrollX) { if (!elem) { diff --git a/src/controllers/livetv/livetvschedule.js b/src/controllers/livetv/livetvschedule.js index 2e795f0c7..a30db9879 100644 --- a/src/controllers/livetv/livetvschedule.js +++ b/src/controllers/livetv/livetvschedule.js @@ -5,6 +5,7 @@ import loading from '../../components/loading/loading'; import '../../scripts/livetvcomponents'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; +import Dashboard from '../../scripts/clientUtils'; function enableScrollX() { return !layoutManager.desktop; diff --git a/src/controllers/livetv/livetvsuggested.js b/src/controllers/livetv/livetvsuggested.js index 732b42bbf..bc011001c 100644 --- a/src/controllers/livetv/livetvsuggested.js +++ b/src/controllers/livetv/livetvsuggested.js @@ -10,6 +10,7 @@ import '../../assets/css/scrollstyles.css'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../elements/emby-tabs/emby-tabs'; import '../../elements/emby-button/emby-button'; +import Dashboard from '../../scripts/clientUtils'; function enableScrollX() { return !layoutManager.desktop; diff --git a/src/controllers/livetvguideprovider.js b/src/controllers/livetvguideprovider.js index 65507e829..c4e2d870f 100644 --- a/src/controllers/livetvguideprovider.js +++ b/src/controllers/livetvguideprovider.js @@ -1,6 +1,7 @@ import { Events } from 'jellyfin-apiclient'; import loading from '../components/loading/loading'; import globalize from '../scripts/globalize'; +import Dashboard from '../scripts/clientUtils'; function onListingsSubmitted() { Dashboard.navigate('livetvstatus.html'); diff --git a/src/controllers/livetvsettings.js b/src/controllers/livetvsettings.js index 8946a4452..01f9a9659 100644 --- a/src/controllers/livetvsettings.js +++ b/src/controllers/livetvsettings.js @@ -2,6 +2,7 @@ import 'jquery'; import loading from '../components/loading/loading'; import globalize from '../scripts/globalize'; import '../elements/emby-button/emby-button'; +import Dashboard from '../scripts/clientUtils'; function loadPage(page, config) { $('.liveTvSettingsForm', page).show(); diff --git a/src/controllers/livetvstatus.js b/src/controllers/livetvstatus.js index ac44336cc..d7f346b87 100644 --- a/src/controllers/livetvstatus.js +++ b/src/controllers/livetvstatus.js @@ -11,6 +11,7 @@ import '../elements/emby-itemscontainer/emby-itemscontainer'; import '../components/cardbuilder/card.css'; import 'material-design-icons-iconfont'; import '../elements/emby-button/emby-button'; +import Dashboard from '../scripts/clientUtils'; const enableFocusTransform = !browser.slow && !browser.edge; diff --git a/src/controllers/livetvtuner.js b/src/controllers/livetvtuner.js index 383e52faf..2f606d521 100644 --- a/src/controllers/livetvtuner.js +++ b/src/controllers/livetvtuner.js @@ -5,6 +5,7 @@ import '../elements/emby-input/emby-input'; import '../elements/emby-button/emby-button'; import '../elements/emby-checkbox/emby-checkbox'; import '../elements/emby-select/emby-select'; +import Dashboard from '../scripts/clientUtils'; function isM3uVariant(type) { return ['nextpvr'].indexOf(type || '') !== -1; diff --git a/src/controllers/movies/moviesrecommended.js b/src/controllers/movies/moviesrecommended.js index 18618345f..7de4cb455 100644 --- a/src/controllers/movies/moviesrecommended.js +++ b/src/controllers/movies/moviesrecommended.js @@ -14,6 +14,7 @@ import '../../elements/emby-scroller/emby-scroller'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../elements/emby-tabs/emby-tabs'; import '../../elements/emby-button/emby-button'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/music/musicrecommended.js b/src/controllers/music/musicrecommended.js index 107368ca7..a9433a615 100644 --- a/src/controllers/music/musicrecommended.js +++ b/src/controllers/music/musicrecommended.js @@ -14,6 +14,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../elements/emby-tabs/emby-tabs'; import '../../elements/emby-button/emby-button'; import '../../assets/css/flexstyles.css'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/music/songs.js b/src/controllers/music/songs.js index 316f85220..3fc754994 100644 --- a/src/controllers/music/songs.js +++ b/src/controllers/music/songs.js @@ -7,6 +7,7 @@ import loading from '../../components/loading/loading'; import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../scripts/globalize'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/session/addServer/index.js b/src/controllers/session/addServer/index.js index 1a16d7374..7bfb07e60 100644 --- a/src/controllers/session/addServer/index.js +++ b/src/controllers/session/addServer/index.js @@ -2,6 +2,7 @@ import appSettings from '../../../scripts/settings/appSettings'; import loading from '../../../components/loading/loading'; import globalize from '../../../scripts/globalize'; import '../../../elements/emby-button/emby-button'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/session/forgotPassword/index.js b/src/controllers/session/forgotPassword/index.js index 02de41e34..203605b8b 100644 --- a/src/controllers/session/forgotPassword/index.js +++ b/src/controllers/session/forgotPassword/index.js @@ -1,4 +1,5 @@ import globalize from '../../../scripts/globalize'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/session/login/index.js b/src/controllers/session/login/index.js index e1ac1d125..5cb38188b 100644 --- a/src/controllers/session/login/index.js +++ b/src/controllers/session/login/index.js @@ -1,7 +1,6 @@ import { appHost } from '../../../components/apphost'; import appSettings from '../../../scripts/settings/appSettings'; import dom from '../../../scripts/dom'; -import { ConnectionManager } from 'jellyfin-apiclient'; import loading from '../../../components/loading/loading'; import layoutManager from '../../../components/layoutManager'; import libraryMenu from '../../../scripts/libraryMenu'; @@ -9,6 +8,7 @@ import browser from '../../../scripts/browser'; import globalize from '../../../scripts/globalize'; import '../../../components/cardbuilder/card.css'; import '../../../elements/emby-checkbox/emby-checkbox'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/session/resetPassword/index.js b/src/controllers/session/resetPassword/index.js index 8ed9c18dd..cc84d76fa 100644 --- a/src/controllers/session/resetPassword/index.js +++ b/src/controllers/session/resetPassword/index.js @@ -1,4 +1,5 @@ import globalize from '../../../scripts/globalize'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/session/selectServer/index.js b/src/controllers/session/selectServer/index.js index accc828ba..8eb5c17c7 100644 --- a/src/controllers/session/selectServer/index.js +++ b/src/controllers/session/selectServer/index.js @@ -15,6 +15,7 @@ import '../../../elements/emby-scroller/emby-scroller'; import '../../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../../components/cardbuilder/card.css'; import '../../../elements/emby-button/emby-button'; +import Dashboard from '../../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/shows/episodes.js b/src/controllers/shows/episodes.js index f494f82e0..3dd08e3f7 100644 --- a/src/controllers/shows/episodes.js +++ b/src/controllers/shows/episodes.js @@ -7,6 +7,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder'; import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../scripts/globalize'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/shows/tvrecommended.js b/src/controllers/shows/tvrecommended.js index 936aa587e..e678fc711 100644 --- a/src/controllers/shows/tvrecommended.js +++ b/src/controllers/shows/tvrecommended.js @@ -13,6 +13,7 @@ import globalize from '../../scripts/globalize'; import '../../assets/css/scrollstyles.css'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; import '../../elements/emby-button/emby-button'; +import Dashboard from '../../scripts/clientUtils'; /* eslint-disable indent */ diff --git a/src/controllers/user/menu/index.js b/src/controllers/user/menu/index.js index f3f92386e..cfc5b5f4a 100644 --- a/src/controllers/user/menu/index.js +++ b/src/controllers/user/menu/index.js @@ -2,6 +2,7 @@ import { appHost } from '../../../components/apphost'; import '../../../components/listview/listview.css'; import '../../../elements/emby-button/emby-button'; import layoutManager from '../../../components/layoutManager'; +import Dashboard from '../../../scripts/clientUtils'; export default function (view, params) { view.querySelector('.btnLogout').addEventListener('click', function () { diff --git a/src/controllers/user/profile/index.js b/src/controllers/user/profile/index.js index 113f08c4d..b15334dab 100644 --- a/src/controllers/user/profile/index.js +++ b/src/controllers/user/profile/index.js @@ -4,6 +4,7 @@ import libraryMenu from '../../../scripts/libraryMenu'; import { appHost } from '../../../components/apphost'; import globalize from '../../../scripts/globalize'; import '../../../elements/emby-button/emby-button'; +import Dashboard from '../../../scripts/clientUtils'; function reloadUser(page) { const userId = getParameterByName('userId'); diff --git a/src/controllers/wizard/remote/index.js b/src/controllers/wizard/remote/index.js index 8f0aff72f..c5689e73b 100644 --- a/src/controllers/wizard/remote/index.js +++ b/src/controllers/wizard/remote/index.js @@ -2,6 +2,7 @@ import loading from '../../../components/loading/loading'; import '../../../elements/emby-checkbox/emby-checkbox'; import '../../../elements/emby-button/emby-button'; import '../../../elements/emby-select/emby-select'; +import Dashboard from '../../../scripts/clientUtils'; function save(page) { loading.show(); diff --git a/src/controllers/wizard/settings/index.js b/src/controllers/wizard/settings/index.js index 87cae0527..4a88e861f 100644 --- a/src/controllers/wizard/settings/index.js +++ b/src/controllers/wizard/settings/index.js @@ -2,6 +2,7 @@ import loading from '../../../components/loading/loading'; import '../../../elements/emby-checkbox/emby-checkbox'; import '../../../elements/emby-button/emby-button'; import '../../../elements/emby-select/emby-select'; +import Dashboard from '../../../scripts/clientUtils'; function save(page) { loading.show(); diff --git a/src/controllers/wizard/start/index.js b/src/controllers/wizard/start/index.js index 54e3d8e7d..3f524a870 100644 --- a/src/controllers/wizard/start/index.js +++ b/src/controllers/wizard/start/index.js @@ -2,6 +2,7 @@ import 'jquery'; import loading from '../../../components/loading/loading'; import '../../../elements/emby-button/emby-button'; import '../../../elements/emby-select/emby-select'; +import Dashboard from '../../../scripts/clientUtils'; function loadPage(page, config, languageOptions) { $('#selectLocalizationLanguage', page).html(languageOptions.map(function (l) { diff --git a/src/controllers/wizard/user/index.js b/src/controllers/wizard/user/index.js index 75cfde5b9..509509a19 100644 --- a/src/controllers/wizard/user/index.js +++ b/src/controllers/wizard/user/index.js @@ -3,6 +3,7 @@ import globalize from '../../../scripts/globalize'; import '../../../assets/css/dashboard.css'; import '../../../elements/emby-input/emby-input'; import '../../../elements/emby-button/emby-button'; +import Dashboard from '../../../scripts/clientUtils'; function getApiClient() { return ApiClient; diff --git a/src/scripts/clientUtils.js b/src/scripts/clientUtils.js index c9eaf7fc5..bf890d177 100644 --- a/src/scripts/clientUtils.js +++ b/src/scripts/clientUtils.js @@ -182,9 +182,7 @@ export function confirm(message, title, callback) { }); } -// This is used in plugins and templates, so keep it defined for now. -// TODO: Remove once plugins don't need it -window.Dashboard = { +const Dashboard = { alert, capabilities, confirm, @@ -203,21 +201,8 @@ window.Dashboard = { showLoadingMsg }; -export default { - alert, - capabilities, - confirm, - getPluginUrl, - getCurrentUser, - getCurrentUserId, - hideLoadingMsg, - logout, - navigate, - onServerChanged, - processErrorResponse, - processPluginConfigurationUpdateResult, - processServerConfigurationUpdateResult, - selectServer, - serverAddress, - showLoadingMsg -}; +// This is used in plugins and templates, so keep it defined for now. +// TODO: Remove once plugins don't need it +window.Dashboard = Dashboard; + +export default Dashboard; diff --git a/src/scripts/editorsidebar.js b/src/scripts/editorsidebar.js index ab9f5864b..686905cde 100644 --- a/src/scripts/editorsidebar.js +++ b/src/scripts/editorsidebar.js @@ -1,6 +1,7 @@ import 'jquery'; import globalize from './globalize'; import 'material-design-icons-iconfont'; +import Dashboard from './clientUtils'; /* eslint-disable indent */ diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index 42143aad7..92cb18b81 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -15,6 +15,7 @@ import '../elements/emby-button/paper-icon-button-light'; import 'material-design-icons-iconfont'; import '../assets/css/scrollstyles.css'; import '../assets/css/flexstyles.css'; +import Dashboard from './clientUtils'; /* eslint-disable indent */ diff --git a/src/scripts/playlists.js b/src/scripts/playlists.js index 3f09f621b..1b88aed1e 100644 --- a/src/scripts/playlists.js +++ b/src/scripts/playlists.js @@ -6,6 +6,7 @@ import libraryBrowser from 'libraryBrowser'; import imageLoader from 'imageLoader'; import * as userSettings from '../scripts/settings/userSettings'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; +import Dashboard from './clientUtils'; export default function (view, params) { function getPageData(context) { diff --git a/src/scripts/site.js b/src/scripts/site.js index 3643ca1d4..ec9bf0f0f 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -9,6 +9,7 @@ import 'resize-observer-polyfill'; import 'jellyfin-noto'; import '../assets/css/site.css'; import AppInfo from '../components/AppInfo'; +import Dashboard from './clientUtils'; // TODO: Move this elsewhere window.getWindowLocationSearch = function(win) { @@ -115,10 +116,9 @@ function initClient() { console.debug('loading ApiClient singleton'); return Promise.all([ - import('jellyfin-apiclient'), - import('./clientUtils') + import('jellyfin-apiclient') ]) - .then(([{ ApiClient }, clientUtils]) => { + .then(([{ ApiClient }]) => { console.debug('creating ApiClient singleton'); var apiClient = new ApiClient(Dashboard.serverAddress(), appHost.appName(), appHost.appVersion(), appHost.deviceName(), appHost.deviceId());