From 3186955376cc3c8ecdf53a37f8354ad50682c1d5 Mon Sep 17 00:00:00 2001 From: Cameron Date: Thu, 9 Jul 2020 08:54:12 +0100 Subject: [PATCH 1/4] Migration of metadataImages, metadatanfo, streaming to ES6 Mo --- package.json | 3 +++ src/controllers/dashboard/metadataImages.js | 13 ++++++++++--- src/controllers/dashboard/metadatanfo.js | 13 +++++++++---- src/controllers/dashboard/streaming.js | 11 ++++++++--- 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 230eee3f21..054bcb7939 100644 --- a/package.json +++ b/package.json @@ -131,7 +131,10 @@ "src/components/syncPlay/timeSyncManager.js", "src/controllers/dashboard/logs.js", "src/controllers/user/subtitles.js", + "src/controllers/dashboard/metadataImages.js", + "src/controllers/dashboard/metadatanfo.js", "src/controllers/dashboard/plugins/repositories.js", + "src/controllers/dashboard/streaming.js", "src/plugins/bookPlayer/plugin.js", "src/plugins/bookPlayer/tableOfContents.js", "src/plugins/photoPlayer/plugin.js", diff --git a/src/controllers/dashboard/metadataImages.js b/src/controllers/dashboard/metadataImages.js index 3047736a68..6573d9858d 100644 --- a/src/controllers/dashboard/metadataImages.js +++ b/src/controllers/dashboard/metadataImages.js @@ -1,5 +1,11 @@ -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) { @@ -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..0659d477cb 100644 --- a/src/controllers/dashboard/metadatanfo.js +++ b/src/controllers/dashboard/metadatanfo.js @@ -1,5 +1,9 @@ -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 = ''; @@ -35,7 +39,7 @@ define(['jQuery', 'loading', 'libraryMenu', 'globalize'], function ($, loading, var msg = []; msg.push(globalize.translate('MetadataSettingChangeHelp')); - require(['alert'], function (alert) { + import('alert').then(({default: alert}) => { alert({ text: msg.join('

') }); @@ -71,4 +75,5 @@ define(['jQuery', 'loading', 'libraryMenu', 'globalize'], function ($, loading, 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..15d6c89209 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 || ''); @@ -40,4 +44,5 @@ define(['jQuery', 'libraryMenu', 'loading', 'globalize'], function ($, libraryMe loadPage(page, config); }); }); -}); + +/* eslint-enable indent */ From 613f0024bc0b1fa46c5997f9def0a5dd6f2fe6e2 Mon Sep 17 00:00:00 2001 From: Cameron Date: Thu, 9 Jul 2020 08:54:47 +0100 Subject: [PATCH 2/4] Migration of general and library details to ES6 Modules --- package.json | 2 ++ src/controllers/dashboard/general.js | 23 ++++++++++++++------- src/controllers/dashboard/librarydisplay.js | 15 ++++++++++---- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 054bcb7939..5e40babfef 100644 --- a/package.json +++ b/package.json @@ -131,6 +131,8 @@ "src/components/syncPlay/timeSyncManager.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", diff --git a/src/controllers/dashboard/general.js b/src/controllers/dashboard/general.js index f215ace28b..2defc6d449 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; @@ -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')); }); @@ -56,9 +64,9 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb var currentBrandingOptions; var currentLanguage; var brandingConfigKey = 'branding'; - return function (view, params) { + export default function (view, params) { $('#btnSelectCachePath', view).on('click.selectDirectory', function () { - require(['directorybrowser'], function (directoryBrowser) { + import('directorybrowser').then(({default: directoryBrowser}) => { var picker = new directoryBrowser(); picker.show({ callback: function (path) { @@ -75,7 +83,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb }); }); $('#btnSelectMetadataPath', view).on('click.selectDirectory', function () { - require(['directorybrowser'], function (directoryBrowser) { + import('directorybrowser').then(({default: directoryBrowser}) => { var picker = new directoryBrowser(); picker.show({ path: $('#txtMetadataPath', view).val(), @@ -113,4 +121,5 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb }); }); }; -}); + +/* eslint-enable indent */ diff --git a/src/controllers/dashboard/librarydisplay.js b/src/controllers/dashboard/librarydisplay.js index a820c37528..95475cfb9b 100644 --- a/src/controllers/dashboard/librarydisplay.js +++ b/src/controllers/dashboard/librarydisplay.js @@ -1,5 +1,11 @@ -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'; +import 'emby-button'; + +/* eslint-disable indent */ function getTabs() { return [{ @@ -17,7 +23,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; @@ -64,4 +70,5 @@ define(['globalize', 'loading', 'libraryMenu', 'emby-checkbox', 'emby-button', ' }); }); }; -}); + + /* eslint-enable indent */ From dfcf0d5d6b034943b43becf42b56a6ace14fbf3c Mon Sep 17 00:00:00 2001 From: Cameron Date: Thu, 16 Jul 2020 11:25:17 +0100 Subject: [PATCH 3/4] update variable declerations --- src/controllers/dashboard/general.js | 22 ++++++++++----------- src/controllers/dashboard/librarydisplay.js | 5 ++--- src/controllers/dashboard/metadataImages.js | 18 ++++++++--------- src/controllers/dashboard/metadatanfo.js | 14 ++++++------- src/controllers/dashboard/streaming.js | 4 ++-- 5 files changed, 31 insertions(+), 32 deletions(-) diff --git a/src/controllers/dashboard/general.js b/src/controllers/dashboard/general.js index 2defc6d449..8e30749aba 100644 --- a/src/controllers/dashboard/general.js +++ b/src/controllers/dashboard/general.js @@ -24,7 +24,7 @@ import 'emby-button'; function onSubmit() { loading.show(); - var form = this; + const form = this; $(form).parents('.page'); ApiClient.getServerConfiguration().then(function (config) { config.ServerName = $('#txtServerName', form).val(); @@ -32,7 +32,7 @@ import 'emby-button'; 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; @@ -61,13 +61,13 @@ import 'emby-button'; return false; } - var currentBrandingOptions; - var currentLanguage; - var brandingConfigKey = 'branding'; + let currentBrandingOptions; + let currentLanguage; + const brandingConfigKey = 'branding'; export default function (view, params) { $('#btnSelectCachePath', view).on('click.selectDirectory', function () { import('directorybrowser').then(({default: directoryBrowser}) => { - var picker = new directoryBrowser(); + const picker = new directoryBrowser(); picker.show({ callback: function (path) { if (path) { @@ -84,7 +84,7 @@ import 'emby-button'; }); $('#btnSelectMetadataPath', view).on('click.selectDirectory', function () { import('directorybrowser').then(({default: directoryBrowser}) => { - var picker = new directoryBrowser(); + const picker = new directoryBrowser(); picker.show({ path: $('#txtMetadataPath', view).val(), networkSharePath: $('#txtMetadataNetworkPath', view).val(), @@ -108,9 +108,9 @@ import 'emby-button'; }); $('.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]); }); @@ -120,6 +120,6 @@ import 'emby-button'; view.querySelector('#txtCustomCss').value = config.CustomCss || ''; }); }); - }; + } /* eslint-enable indent */ diff --git a/src/controllers/dashboard/librarydisplay.js b/src/controllers/dashboard/librarydisplay.js index 95475cfb9b..54ed028a3a 100644 --- a/src/controllers/dashboard/librarydisplay.js +++ b/src/controllers/dashboard/librarydisplay.js @@ -3,7 +3,6 @@ import loading from 'loading'; import libraryMenu from 'libraryMenu'; import 'emby-checkbox'; import 'emby-button'; -import 'emby-button'; /* eslint-disable indent */ @@ -39,7 +38,7 @@ import '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; @@ -69,6 +68,6 @@ import 'emby-button'; } }); }); - }; + } /* eslint-enable indent */ diff --git a/src/controllers/dashboard/metadataImages.js b/src/controllers/dashboard/metadataImages.js index 6573d9858d..cbfe05419c 100644 --- a/src/controllers/dashboard/metadataImages.js +++ b/src/controllers/dashboard/metadataImages.js @@ -9,10 +9,10 @@ import 'listViewStyle'; 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; @@ -21,10 +21,10 @@ import '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; @@ -32,9 +32,9 @@ import '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(); @@ -42,7 +42,7 @@ import '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; diff --git a/src/controllers/dashboard/metadatanfo.js b/src/controllers/dashboard/metadatanfo.js index 0659d477cb..f1b768d18b 100644 --- a/src/controllers/dashboard/metadatanfo.js +++ b/src/controllers/dashboard/metadatanfo.js @@ -6,7 +6,7 @@ import globalize from 'globalize'; /* eslint-disable indent */ function loadPage(page, config, users) { - var html = ''; + let html = ''; html += users.map(function (user) { return ''; }).join(''); @@ -20,7 +20,7 @@ import globalize from 'globalize'; 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(); @@ -36,7 +36,7 @@ import globalize from 'globalize'; } function showConfirmMessage(config) { - var msg = []; + const msg = []; msg.push(globalize.translate('MetadataSettingChangeHelp')); import('alert').then(({default: alert}) => { @@ -62,15 +62,15 @@ import globalize from 'globalize'; }]; } - 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]); }); diff --git a/src/controllers/dashboard/streaming.js b/src/controllers/dashboard/streaming.js index 15d6c89209..c54fbea472 100644 --- a/src/controllers/dashboard/streaming.js +++ b/src/controllers/dashboard/streaming.js @@ -12,7 +12,7 @@ import globalize from 'globalize'; 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); @@ -39,7 +39,7 @@ import globalize from 'globalize'; }).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); }); From 445fce707173d85ad1d1c2a3e31c1fff4eab62be Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 20 Jul 2020 09:01:50 +0900 Subject: [PATCH 4/4] tweak comment indentation --- src/controllers/dashboard/librarydisplay.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/dashboard/librarydisplay.js b/src/controllers/dashboard/librarydisplay.js index 54ed028a3a..2269e19c44 100644 --- a/src/controllers/dashboard/librarydisplay.js +++ b/src/controllers/dashboard/librarydisplay.js @@ -70,4 +70,4 @@ import 'emby-button'; }); } - /* eslint-enable indent */ +/* eslint-enable indent */