From 8af1142000d47b21008259d481ca8788868b3c6b Mon Sep 17 00:00:00 2001 From: Cameron Date: Thu, 9 Jul 2020 17:19:21 +0100 Subject: [PATCH 1/2] migration of display, home, playback and subtitles to ES6 modules --- package.json | 4 ++++ src/controllers/user/display.js | 18 +++++++++++------- src/controllers/user/home.js | 22 +++++++++++++++------- src/controllers/user/playback.js | 22 +++++++++++++++------- src/controllers/user/subtitles.js | 18 +++++++++++------- 5 files changed, 56 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index ab47eb5389..28aec55b8d 100644 --- a/package.json +++ b/package.json @@ -116,6 +116,10 @@ "src/components/syncPlay/timeSyncManager.js", "src/controllers/dashboard/logs.js", "src/controllers/dashboard/plugins/repositories.js", + "src/controllers/user/display.js", + "src/controllers/user/home.js", + "src/controllers/user/playback.js", + "src/controllers/user/subtitles.js", "src/plugins/bookPlayer/plugin.js", "src/plugins/bookPlayer/tableOfContents.js", "src/plugins/photoPlayer/plugin.js", diff --git a/src/controllers/user/display.js b/src/controllers/user/display.js index 26c75f209a..fe2948b3ac 100644 --- a/src/controllers/user/display.js +++ b/src/controllers/user/display.js @@ -1,10 +1,13 @@ -define(['displaySettings', 'userSettings', 'autoFocuser'], function (DisplaySettings, userSettings, autoFocuser) { - 'use strict'; +import DisplaySettings from 'displaySettings'; +import * as userSettings from 'userSettings'; +import autoFocuser from 'autoFocuser'; + +/* eslint-disable indent */ // Shortcuts const UserSettings = userSettings.UserSettings; - return function (view, params) { + export default function (view, params) { function onBeforeUnload(e) { if (hasChanges) { e.returnValue = 'You currently have unsaved changes. Are you sure you wish to leave?'; @@ -26,8 +29,8 @@ define(['displaySettings', 'userSettings', 'autoFocuser'], function (DisplaySett userId: userId, element: view.querySelector('.settingsContainer'), userSettings: currentSettings, - enableSaveButton: false, - enableSaveConfirmation: false, + enableSaveButton: true, + enableSaveConfirmation: true, autoFocus: autoFocuser.isEnabled() }); } @@ -49,5 +52,6 @@ define(['displaySettings', 'userSettings', 'autoFocuser'], function (DisplaySett settingsInstance = null; } }); - }; -}); + } + +/* eslint-enable indent */ diff --git a/src/controllers/user/home.js b/src/controllers/user/home.js index 8f826c425d..8984a8291d 100644 --- a/src/controllers/user/home.js +++ b/src/controllers/user/home.js @@ -1,10 +1,17 @@ -define(['homescreenSettings', 'dom', 'globalize', 'loading', 'userSettings', 'autoFocuser', 'listViewStyle'], function (HomescreenSettings, dom, globalize, loading, userSettings, autoFocuser) { - 'use strict'; +import HomescreenSettings from 'homescreenSettings'; +import dom from 'dom'; +import globalize from 'globalize'; +import loading from 'loading'; +import * as userSettings from 'userSettings'; +import autoFocuser from 'autoFocuser'; +import 'listViewStyle'; + +/* eslint-disable indent */ // Shortcuts const UserSettings = userSettings.UserSettings; - return function (view, params) { + export default function (view, params) { function onBeforeUnload(e) { if (hasChanges) { e.returnValue = 'You currently have unsaved changes. Are you sure you wish to leave?'; @@ -26,8 +33,8 @@ define(['homescreenSettings', 'dom', 'globalize', 'loading', 'userSettings', 'au userId: userId, element: view.querySelector('.homeScreenSettingsContainer'), userSettings: currentSettings, - enableSaveButton: false, - enableSaveConfirmation: false, + enableSaveButton: true, + enableSaveConfirmation: true, autoFocus: autoFocuser.isEnabled() }); } @@ -48,5 +55,6 @@ define(['homescreenSettings', 'dom', 'globalize', 'loading', 'userSettings', 'au homescreenSettingsInstance = null; } }); - }; -}); + } + +/* eslint-enable indent */ diff --git a/src/controllers/user/playback.js b/src/controllers/user/playback.js index 02a718eb8c..edcb4e4e38 100644 --- a/src/controllers/user/playback.js +++ b/src/controllers/user/playback.js @@ -1,10 +1,17 @@ -define(['playbackSettings', 'dom', 'globalize', 'loading', 'userSettings', 'autoFocuser', 'listViewStyle'], function (PlaybackSettings, dom, globalize, loading, userSettings, autoFocuser) { - 'use strict'; +import PlaybackSettings from 'playbackSettings'; +import dom from 'dom'; +import globalize from 'globalize'; +import loading from 'loading'; +import * as userSettings from 'userSettings'; +import autoFocuser from 'autoFocuser'; +import 'listViewStyle'; + +/* eslint-disable indent */ // Shortcuts const UserSettings = userSettings.UserSettings; - return function (view, params) { + export default function (view, params) { function onBeforeUnload(e) { if (hasChanges) { e.returnValue = 'You currently have unsaved changes. Are you sure you wish to leave?'; @@ -26,8 +33,8 @@ define(['playbackSettings', 'dom', 'globalize', 'loading', 'userSettings', 'auto userId: userId, element: view.querySelector('.settingsContainer'), userSettings: currentSettings, - enableSaveButton: false, - enableSaveConfirmation: false, + enableSaveButton: true, + enableSaveConfirmation: true, autoFocus: autoFocuser.isEnabled() }); } @@ -48,5 +55,6 @@ define(['playbackSettings', 'dom', 'globalize', 'loading', 'userSettings', 'auto settingsInstance = null; } }); - }; -}); + } + +/* eslint-enable indent */ diff --git a/src/controllers/user/subtitles.js b/src/controllers/user/subtitles.js index 7e7e7fb8a9..66b41662c7 100644 --- a/src/controllers/user/subtitles.js +++ b/src/controllers/user/subtitles.js @@ -1,10 +1,13 @@ -define(['subtitleSettings', 'userSettings', 'autoFocuser'], function (SubtitleSettings, userSettings, autoFocuser) { - 'use strict'; +import SubtitleSettings from 'subtitleSettings'; +import * as userSettings from 'userSettings'; +import autoFocuser from 'autoFocuser'; + +/* eslint-disable indent */ // Shortcuts const UserSettings = userSettings.UserSettings; - return function (view, params) { + export default function (view, params) { function onBeforeUnload(e) { if (hasChanges) { e.returnValue = 'You currently have unsaved changes. Are you sure you wish to leave?'; @@ -26,8 +29,8 @@ define(['subtitleSettings', 'userSettings', 'autoFocuser'], function (SubtitleSe userId: userId, element: view.querySelector('.settingsContainer'), userSettings: currentSettings, - enableSaveButton: false, - enableSaveConfirmation: false, + enableSaveButton: true, + enableSaveConfirmation: true, autoFocus: autoFocuser.isEnabled() }); } @@ -48,5 +51,6 @@ define(['subtitleSettings', 'userSettings', 'autoFocuser'], function (SubtitleSe subtitleSettingsInstance = null; } }); - }; -}); + } + +/* eslint-enable indent */ From df2af2a6ef221be6d8f810aebca8fc26eb261594 Mon Sep 17 00:00:00 2001 From: Cameron Date: Sat, 11 Jul 2020 14:57:41 +0100 Subject: [PATCH 2/2] remove autosave and update variable declerations --- src/controllers/user/display.js | 16 +++++----------- src/controllers/user/home.js | 15 +++++---------- src/controllers/user/playback.js | 15 +++++---------- src/controllers/user/subtitles.js | 15 +++++---------- 4 files changed, 20 insertions(+), 41 deletions(-) diff --git a/src/controllers/user/display.js b/src/controllers/user/display.js index fe2948b3ac..a400c50ccf 100644 --- a/src/controllers/user/display.js +++ b/src/controllers/user/display.js @@ -14,10 +14,10 @@ import autoFocuser from 'autoFocuser'; } } - var settingsInstance; - var hasChanges; - var userId = params.userId || ApiClient.getCurrentUserId(); - var currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); + let settingsInstance; + let hasChanges; + const userId = params.userId || ApiClient.getCurrentUserId(); + const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); view.addEventListener('viewshow', function () { window.addEventListener('beforeunload', onBeforeUnload); @@ -35,17 +35,11 @@ import autoFocuser from 'autoFocuser'; }); } }); + view.addEventListener('change', function () { hasChanges = true; }); - view.addEventListener('viewbeforehide', function () { - window.removeEventListener('beforeunload', onBeforeUnload); - hasChanges = false; - if (settingsInstance) { - settingsInstance.submit(); - } - }); view.addEventListener('viewdestroy', function () { if (settingsInstance) { settingsInstance.destroy(); diff --git a/src/controllers/user/home.js b/src/controllers/user/home.js index 8984a8291d..e7058fd3ac 100644 --- a/src/controllers/user/home.js +++ b/src/controllers/user/home.js @@ -18,10 +18,10 @@ import 'listViewStyle'; } } - var homescreenSettingsInstance; - var hasChanges; - var userId = params.userId || ApiClient.getCurrentUserId(); - var currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); + let homescreenSettingsInstance; + let hasChanges; + const userId = params.userId || ApiClient.getCurrentUserId(); + const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); view.addEventListener('viewshow', function () { window.addEventListener('beforeunload', onBeforeUnload); @@ -39,16 +39,11 @@ import 'listViewStyle'; }); } }); + view.addEventListener('change', function () { hasChanges = true; }); - view.addEventListener('viewbeforehide', function () { - hasChanges = false; - if (homescreenSettingsInstance) { - homescreenSettingsInstance.submit(); - } - }); view.addEventListener('viewdestroy', function () { if (homescreenSettingsInstance) { homescreenSettingsInstance.destroy(); diff --git a/src/controllers/user/playback.js b/src/controllers/user/playback.js index edcb4e4e38..5bcf055cd3 100644 --- a/src/controllers/user/playback.js +++ b/src/controllers/user/playback.js @@ -18,10 +18,10 @@ import 'listViewStyle'; } } - var settingsInstance; - var hasChanges; - var userId = params.userId || ApiClient.getCurrentUserId(); - var currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); + let settingsInstance; + let hasChanges; + const userId = params.userId || ApiClient.getCurrentUserId(); + const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); view.addEventListener('viewshow', function () { window.addEventListener('beforeunload', onBeforeUnload); @@ -39,16 +39,11 @@ import 'listViewStyle'; }); } }); + view.addEventListener('change', function () { hasChanges = true; }); - view.addEventListener('viewbeforehide', function () { - hasChanges = false; - if (settingsInstance) { - settingsInstance.submit(); - } - }); view.addEventListener('viewdestroy', function () { if (settingsInstance) { settingsInstance.destroy(); diff --git a/src/controllers/user/subtitles.js b/src/controllers/user/subtitles.js index 66b41662c7..82f5270a4e 100644 --- a/src/controllers/user/subtitles.js +++ b/src/controllers/user/subtitles.js @@ -14,10 +14,10 @@ import autoFocuser from 'autoFocuser'; } } - var subtitleSettingsInstance; - var hasChanges; - var userId = params.userId || ApiClient.getCurrentUserId(); - var currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); + let subtitleSettingsInstance; + let hasChanges; + const userId = params.userId || ApiClient.getCurrentUserId(); + const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); view.addEventListener('viewshow', function () { window.addEventListener('beforeunload', onBeforeUnload); @@ -35,16 +35,11 @@ import autoFocuser from 'autoFocuser'; }); } }); + view.addEventListener('change', function () { hasChanges = true; }); - view.addEventListener('viewbeforehide', function () { - hasChanges = false; - if (subtitleSettingsInstance) { - subtitleSettingsInstance.submit(); - } - }); view.addEventListener('viewdestroy', function () { if (subtitleSettingsInstance) { subtitleSettingsInstance.destroy();