diff --git a/.eslintrc.js b/.eslintrc.js index 21ac86277a..63f8a973c4 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 e93d4d825d..462338f8f1 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 3dd7f61402..5b8eaa3161 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 27f1c4d79e..c379744ba5 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 b6160f93e0..6346594fda 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 9d23f7710b..3b2efb3214 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 2759d1a9f5..7bec82ee75 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 fe82e2e741..854917db8a 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 ec9932d381..18404d605f 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 2466b24d72..c817d2b99d 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 2a770bf91c..0106d35e91 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 f5591cdef8..33c35b9644 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 7bd611df6c..ad4445461d 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 e181ae42b6..ef2540eef8 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 9ef5f77fa3..d3575c5ff7 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 fbae27fe75..7e7bbb7cf8 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 afc19c0edf..6dda2f1ee6 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 e3fd0df002..58cebdd57e 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 a68a334878..28cca69b79 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 1501a9a7b5..eda0004420 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 0ea7dc3207..b02090cd33 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 3854087e7e..8738f8be74 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 26e98a3277..7ed0eddf93 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 5fbf67491c..5f504d9535 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 3532f82621..90b0397230 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 d07cc8f573..3c602fc3f5 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 9e6ffc3fc9..0798423b81 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 2f5246c54b..d5ed54b630 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 d0c5270d40..4650e5eb63 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 38ea324b3d..3f5373b092 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 23197da6cf..a1fb55f53a 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 2e795f0c7d..a30db98791 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 732b42bbf3..bc011001ca 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 65507e829f..c4e2d870f6 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 8946a44520..01f9a96590 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 ac44336cc0..d7f346b872 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 383e52faf7..2f606d5216 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 18618345fe..7de4cb4559 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 107368ca7e..a9433a6152 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 316f852203..3fc7549947 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 1a16d7374e..7bfb07e60d 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 02de41e344..203605b8bb 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 e1ac1d1259..5cb38188b9 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 8ed9c18dd8..cc84d76fae 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 accc828ba4..8eb5c17c7f 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 f494f82e0f..3dd08e3f76 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 936aa587ee..e678fc7118 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 f3f92386e2..cfc5b5f4a5 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 113f08c4d8..b15334dabe 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 8f0aff72f3..c5689e73bb 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 87cae05275..4a88e861f0 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 54e3d8e7df..3f524a870a 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 75cfde5b9b..509509a190 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 c9eaf7fc59..bf890d1771 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 ab9f5864b4..686905cde4 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 42143aad70..92cb18b81c 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 3f09f621b2..1b88aed1e1 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 3643ca1d43..ec9bf0f0f8 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());