diff --git a/package.json b/package.json index c727d180e8..9cbe54d6bc 100644 --- a/package.json +++ b/package.json @@ -152,6 +152,12 @@ "src/controllers/dashboard/encodingsettings.js", "src/controllers/dashboard/logs.js", "src/controllers/user/subtitles.js", + "src/controllers/dashboard/general.js", + "src/controllers/dashboard/librarydisplay.js", + "src/controllers/dashboard/metadataImages.js", + "src/controllers/dashboard/metadatanfo.js", + "src/controllers/dashboard/plugins/repositories.js", + "src/controllers/dashboard/streaming.js", "src/controllers/dashboard/mediaLibrary.js", "src/controllers/dashboard/networking.js", "src/controllers/dashboard/playback.js", diff --git a/src/controllers/dashboard/general.js b/src/controllers/dashboard/general.js index eb0f7edfa4..8e30749aba 100644 --- a/src/controllers/dashboard/general.js +++ b/src/controllers/dashboard/general.js @@ -1,5 +1,13 @@ -define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emby-input', 'emby-select', 'emby-button'], function ($, loading, globalize) { - 'use strict'; +import $ from 'jQuery'; +import loading from 'loading'; +import globalize from 'globalize'; +import 'emby-checkbox'; +import 'emby-textarea'; +import 'emby-input'; +import 'emby-select'; +import 'emby-button'; + +/* eslint-disable indent */ function loadPage(page, config, languageOptions, systemInfo) { page.querySelector('#txtServerName').value = systemInfo.ServerName; @@ -16,7 +24,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb function onSubmit() { loading.show(); - var form = this; + const form = this; $(form).parents('.page'); ApiClient.getServerConfiguration().then(function (config) { config.ServerName = $('#txtServerName', form).val(); @@ -24,7 +32,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb config.CachePath = form.querySelector('#txtCachePath').value; config.MetadataPath = $('#txtMetadataPath', form).val(); config.MetadataNetworkPath = $('#txtMetadataNetworkPath', form).val(); - var requiresReload = config.UICulture !== currentLanguage; + let requiresReload = config.UICulture !== currentLanguage; ApiClient.updateServerConfiguration(config).then(function() { ApiClient.getNamedConfiguration(brandingConfigKey).then(function(brandingConfig) { brandingConfig.LoginDisclaimer = form.querySelector('#txtLoginDisclaimer').value; @@ -43,7 +51,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb }); }); }, function () { - require(['alert'], function (alert) { + import('alert').then(({default: alert}) => { alert(globalize.translate('DefaultErrorMessage')); }); @@ -53,13 +61,13 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb return false; } - var currentBrandingOptions; - var currentLanguage; - var brandingConfigKey = 'branding'; - return function (view, params) { + let currentBrandingOptions; + let currentLanguage; + const brandingConfigKey = 'branding'; + export default function (view, params) { $('#btnSelectCachePath', view).on('click.selectDirectory', function () { - require(['directorybrowser'], function (directoryBrowser) { - var picker = new directoryBrowser.default(); + import('directorybrowser').then(({default: directoryBrowser}) => { + const picker = new directoryBrowser(); picker.show({ callback: function (path) { if (path) { @@ -75,8 +83,8 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb }); }); $('#btnSelectMetadataPath', view).on('click.selectDirectory', function () { - require(['directorybrowser'], function (directoryBrowser) { - var picker = new directoryBrowser.default(); + import('directorybrowser').then(({default: directoryBrowser}) => { + const picker = new directoryBrowser(); picker.show({ path: $('#txtMetadataPath', view).val(), networkSharePath: $('#txtMetadataNetworkPath', view).val(), @@ -100,9 +108,9 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb }); $('.dashboardGeneralForm', view).off('submit', onSubmit).on('submit', onSubmit); view.addEventListener('viewshow', function () { - var promiseConfig = ApiClient.getServerConfiguration(); - var promiseLanguageOptions = ApiClient.getJSON(ApiClient.getUrl('Localization/Options')); - var promiseSystemInfo = ApiClient.getSystemInfo(); + const promiseConfig = ApiClient.getServerConfiguration(); + const promiseLanguageOptions = ApiClient.getJSON(ApiClient.getUrl('Localization/Options')); + const promiseSystemInfo = ApiClient.getSystemInfo(); Promise.all([promiseConfig, promiseLanguageOptions, promiseSystemInfo]).then(function (responses) { loadPage(view, responses[0], responses[1], responses[2]); }); @@ -112,5 +120,6 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb view.querySelector('#txtCustomCss').value = config.CustomCss || ''; }); }); - }; -}); + } + +/* eslint-enable indent */ diff --git a/src/controllers/dashboard/librarydisplay.js b/src/controllers/dashboard/librarydisplay.js index a820c37528..2269e19c44 100644 --- a/src/controllers/dashboard/librarydisplay.js +++ b/src/controllers/dashboard/librarydisplay.js @@ -1,5 +1,10 @@ -define(['globalize', 'loading', 'libraryMenu', 'emby-checkbox', 'emby-button', 'emby-button'], function(globalize, loading, libraryMenu) { - 'use strict'; +import globalize from 'globalize'; +import loading from 'loading'; +import libraryMenu from 'libraryMenu'; +import 'emby-checkbox'; +import 'emby-button'; + +/* eslint-disable indent */ function getTabs() { return [{ @@ -17,7 +22,7 @@ define(['globalize', 'loading', 'libraryMenu', 'emby-checkbox', 'emby-button', ' }]; } - return function(view, params) { + export default function(view, params) { function loadData() { ApiClient.getServerConfiguration().then(function(config) { view.querySelector('.chkFolderView').checked = config.EnableFolderView; @@ -33,7 +38,7 @@ define(['globalize', 'loading', 'libraryMenu', 'emby-checkbox', 'emby-button', ' view.querySelector('form').addEventListener('submit', function(e) { loading.show(); - var form = this; + const form = this; ApiClient.getServerConfiguration().then(function(config) { config.EnableFolderView = form.querySelector('.chkFolderView').checked; config.EnableGroupingIntoCollections = form.querySelector('.chkGroupMoviesIntoCollections').checked; @@ -63,5 +68,6 @@ define(['globalize', 'loading', 'libraryMenu', 'emby-checkbox', 'emby-button', ' } }); }); - }; -}); + } + +/* eslint-enable indent */ diff --git a/src/controllers/dashboard/metadataImages.js b/src/controllers/dashboard/metadataImages.js index 3047736a68..cbfe05419c 100644 --- a/src/controllers/dashboard/metadataImages.js +++ b/src/controllers/dashboard/metadataImages.js @@ -1,12 +1,18 @@ -define(['jQuery', 'dom', 'loading', 'libraryMenu', 'globalize', 'listViewStyle'], function($, dom, loading, libraryMenu, globalize) { - 'use strict'; +import $ from 'jQuery'; +import dom from 'dom'; +import loading from 'loading'; +import libraryMenu from 'libraryMenu'; +import globalize from 'globalize'; +import 'listViewStyle'; + +/* eslint-disable indent */ function populateLanguages(select) { return ApiClient.getCultures().then(function(languages) { - var html = ''; + let html = ''; html += ""; - for (var i = 0, length = languages.length; i < length; i++) { - var culture = languages[i]; + for (let i = 0, length = languages.length; i < length; i++) { + const culture = languages[i]; html += "'; } select.innerHTML = html; @@ -15,10 +21,10 @@ define(['jQuery', 'dom', 'loading', 'libraryMenu', 'globalize', 'listViewStyle'] function populateCountries(select) { return ApiClient.getCountries().then(function(allCountries) { - var html = ''; + let html = ''; html += ""; - for (var i = 0, length = allCountries.length; i < length; i++) { - var culture = allCountries[i]; + for (let i = 0, length = allCountries.length; i < length; i++) { + const culture = allCountries[i]; html += "'; } select.innerHTML = html; @@ -26,9 +32,9 @@ define(['jQuery', 'dom', 'loading', 'libraryMenu', 'globalize', 'listViewStyle'] } function loadPage(page) { - var promises = [ApiClient.getServerConfiguration(), populateLanguages(page.querySelector('#selectLanguage')), populateCountries(page.querySelector('#selectCountry'))]; + const promises = [ApiClient.getServerConfiguration(), populateLanguages(page.querySelector('#selectLanguage')), populateCountries(page.querySelector('#selectCountry'))]; Promise.all(promises).then(function(responses) { - var config = responses[0]; + const config = responses[0]; page.querySelector('#selectLanguage').value = config.PreferredMetadataLanguage || ''; page.querySelector('#selectCountry').value = config.MetadataCountryCode || ''; loading.hide(); @@ -36,7 +42,7 @@ define(['jQuery', 'dom', 'loading', 'libraryMenu', 'globalize', 'listViewStyle'] } function onSubmit() { - var form = this; + const form = this; return loading.show(), ApiClient.getServerConfiguration().then(function(config) { config.PreferredMetadataLanguage = form.querySelector('#selectLanguage').value; config.MetadataCountryCode = form.querySelector('#selectCountry').value; @@ -67,4 +73,5 @@ define(['jQuery', 'dom', 'loading', 'libraryMenu', 'globalize', 'listViewStyle'] loading.show(); loadPage(this); }); -}); + +/* eslint-enable indent */ diff --git a/src/controllers/dashboard/metadatanfo.js b/src/controllers/dashboard/metadatanfo.js index a936192618..f1b768d18b 100644 --- a/src/controllers/dashboard/metadatanfo.js +++ b/src/controllers/dashboard/metadatanfo.js @@ -1,8 +1,12 @@ -define(['jQuery', 'loading', 'libraryMenu', 'globalize'], function ($, loading, libraryMenu, globalize) { - 'use strict'; +import $ from 'jQuery'; +import loading from 'loading'; +import libraryMenu from 'libraryMenu'; +import globalize from 'globalize'; + +/* eslint-disable indent */ function loadPage(page, config, users) { - var html = ''; + let html = ''; html += users.map(function (user) { return ''; }).join(''); @@ -16,7 +20,7 @@ define(['jQuery', 'loading', 'libraryMenu', 'globalize'], function ($, loading, function onSubmit() { loading.show(); - var form = this; + const form = this; ApiClient.getNamedConfiguration(metadataKey).then(function (config) { config.UserId = $('#selectUser', form).val() || null; config.ReleaseDateFormat = $('#selectReleaseDateFormat', form).val(); @@ -32,10 +36,10 @@ define(['jQuery', 'loading', 'libraryMenu', 'globalize'], function ($, loading, } function showConfirmMessage(config) { - var msg = []; + const msg = []; msg.push(globalize.translate('MetadataSettingChangeHelp')); - require(['alert'], function (alert) { + import('alert').then(({default: alert}) => { alert({ text: msg.join('

') }); @@ -58,17 +62,18 @@ define(['jQuery', 'loading', 'libraryMenu', 'globalize'], function ($, loading, }]; } - var metadataKey = 'xbmcmetadata'; + const metadataKey = 'xbmcmetadata'; $(document).on('pageinit', '#metadataNfoPage', function () { $('.metadataNfoForm').off('submit', onSubmit).on('submit', onSubmit); }).on('pageshow', '#metadataNfoPage', function () { libraryMenu.setTabs('metadata', 3, getTabs); loading.show(); - var page = this; - var promise1 = ApiClient.getUsers(); - var promise2 = ApiClient.getNamedConfiguration(metadataKey); + const page = this; + const promise1 = ApiClient.getUsers(); + const promise2 = ApiClient.getNamedConfiguration(metadataKey); Promise.all([promise1, promise2]).then(function (responses) { loadPage(page, responses[1], responses[0]); }); }); -}); + +/* eslint-enable indent */ diff --git a/src/controllers/dashboard/streaming.js b/src/controllers/dashboard/streaming.js index 37afe5a054..c54fbea472 100644 --- a/src/controllers/dashboard/streaming.js +++ b/src/controllers/dashboard/streaming.js @@ -1,5 +1,9 @@ -define(['jQuery', 'libraryMenu', 'loading', 'globalize'], function ($, libraryMenu, loading, globalize) { - 'use strict'; +import $ from 'jQuery'; +import libraryMenu from 'libraryMenu'; +import loading from 'loading'; +import globalize from 'globalize'; + +/* eslint-disable indent */ function loadPage(page, config) { $('#txtRemoteClientBitrateLimit', page).val(config.RemoteClientBitrateLimit / 1e6 || ''); @@ -8,7 +12,7 @@ define(['jQuery', 'libraryMenu', 'loading', 'globalize'], function ($, libraryMe function onSubmit() { loading.show(); - var form = this; + const form = this; ApiClient.getServerConfiguration().then(function (config) { config.RemoteClientBitrateLimit = parseInt(1e6 * parseFloat($('#txtRemoteClientBitrateLimit', form).val() || '0')); ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult); @@ -35,9 +39,10 @@ define(['jQuery', 'libraryMenu', 'loading', 'globalize'], function ($, libraryMe }).on('pageshow', '#streamingSettingsPage', function () { loading.show(); libraryMenu.setTabs('playback', 2, getTabs); - var page = this; + const page = this; ApiClient.getServerConfiguration().then(function (config) { loadPage(page, config); }); }); -}); + +/* eslint-enable indent */