From b6dfeb59fca3dffae15eaa0bdfcedbff94f6e7bb Mon Sep 17 00:00:00 2001 From: Cameron Date: Mon, 27 Jul 2020 10:26:09 +0100 Subject: [PATCH 1/5] Migration of toast and upnextdialog to ES6 modules --- package.json | 2 + src/components/toast/toast.js | 66 ++++++++++----------- src/components/upnextdialog/upnextdialog.js | 40 ++++++++----- 3 files changed, 60 insertions(+), 48 deletions(-) diff --git a/package.json b/package.json index da8c87aedd..e88a68efbd 100644 --- a/package.json +++ b/package.json @@ -156,6 +156,8 @@ "src/components/syncPlay/playbackPermissionManager.js", "src/components/syncPlay/syncPlayManager.js", "src/components/syncPlay/timeSyncManager.js", + "src/components/toast/toast.js", + "src/components/upnextdialog/upnextdialog.js", "src/controllers/session/addServer/index.js", "src/controllers/session/forgotPassword/index.js", "src/controllers/session/redeemPassword/index.js", diff --git a/src/components/toast/toast.js b/src/components/toast/toast.js index 7b8e49e4d2..36226ab8e3 100644 --- a/src/components/toast/toast.js +++ b/src/components/toast/toast.js @@ -1,42 +1,40 @@ -define(['css!./toast'], function () { - 'use strict'; +import 'css!./toast'; - function remove(elem) { +function remove(elem) { - setTimeout(function () { - elem.parentNode.removeChild(elem); - }, 300); + setTimeout(function () { + elem.parentNode.removeChild(elem); + }, 300); +} + +function animateRemove(elem) { + + setTimeout(function () { + + elem.classList.remove('toastVisible'); + remove(elem); + + }, 3300); +} + +export default function (options) { + + if (typeof options === 'string') { + options = { + text: options + }; } - function animateRemove(elem) { + var elem = document.createElement('div'); + elem.classList.add('toast'); + elem.innerHTML = options.text; - setTimeout(function () { + document.body.appendChild(elem); - elem.classList.remove('toastVisible'); - remove(elem); + setTimeout(function () { + elem.classList.add('toastVisible'); - }, 3300); - } + animateRemove(elem); - return function (options) { - - if (typeof options === 'string') { - options = { - text: options - }; - } - - var elem = document.createElement('div'); - elem.classList.add('toast'); - elem.innerHTML = options.text; - - document.body.appendChild(elem); - - setTimeout(function () { - elem.classList.add('toastVisible'); - - animateRemove(elem); - - }, 300); - }; -}); + }, 300); +} diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js index 3e9c9f9c5e..e45b3d5951 100644 --- a/src/components/upnextdialog/upnextdialog.js +++ b/src/components/upnextdialog/upnextdialog.js @@ -1,5 +1,17 @@ -define(['dom', 'playbackManager', 'connectionManager', 'events', 'mediaInfo', 'layoutManager', 'focusManager', 'globalize', 'itemHelper', 'css!./upnextdialog', 'emby-button', 'flexStyles'], function (dom, playbackManager, connectionManager, events, mediaInfo, layoutManager, focusManager, globalize, itemHelper) { - 'use strict'; +import dom from 'dom'; +import playbackManager from 'playbackManager'; +import connectionManager from 'connectionManager'; +import events from 'events'; +import mediaInfo from 'mediaInfo'; +import layoutManager from 'layoutManager'; +import focusManager from 'focusManager'; +import globalize from 'globalize'; +import itemHelper from 'itemHelper'; +import 'css!./upnextdialog'; +import 'emby-button'; +import 'flexStyles'; + +/* eslint-disable indent */ var transitionEndEventName = dom.whichTransitionEvent(); @@ -289,14 +301,14 @@ define(['dom', 'playbackManager', 'connectionManager', 'events', 'mediaInfo', 'l instance._countdownTextTimeout = setInterval(setNextVideoText.bind(instance), 400); } - function UpNextDialog(options) { +class UpNextDialog { + constructor(options) { this.options = options; init(this, options); } - - UpNextDialog.prototype.show = function () { + show() { var elem = this.options.parent; @@ -316,20 +328,20 @@ define(['dom', 'playbackManager', 'connectionManager', 'events', 'mediaInfo', 'l } startComingUpNextHideTimer(this); - }; - - UpNextDialog.prototype.hide = function () { + } + hide() { hideComingUpNext.call(this); - }; - - UpNextDialog.prototype.destroy = function () { + } + destroy() { hideComingUpNext.call(this); this.options = null; this.itemType = null; - }; + } +} - return UpNextDialog; -}); +export default UpNextDialog; + +/* eslint-enable indent */ From 1d74c5c85a57263a051c5bcc6e63dd609f0fa525 Mon Sep 17 00:00:00 2001 From: Cameron Date: Mon, 27 Jul 2020 10:30:24 +0100 Subject: [PATCH 2/5] Update variables --- src/components/toast/toast.js | 2 +- src/components/upnextdialog/upnextdialog.js | 48 ++++++++++----------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/components/toast/toast.js b/src/components/toast/toast.js index 36226ab8e3..5eacc2787b 100644 --- a/src/components/toast/toast.js +++ b/src/components/toast/toast.js @@ -25,7 +25,7 @@ export default function (options) { }; } - var elem = document.createElement('div'); + const elem = document.createElement('div'); elem.classList.add('toast'); elem.innerHTML = options.text; diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js index e45b3d5951..9879f0ed47 100644 --- a/src/components/upnextdialog/upnextdialog.js +++ b/src/components/upnextdialog/upnextdialog.js @@ -13,7 +13,7 @@ import 'flexStyles'; /* eslint-disable indent */ - var transitionEndEventName = dom.whichTransitionEvent(); + const transitionEndEventName = dom.whichTransitionEvent(); function seriesImageUrl(item, options) { @@ -79,7 +79,7 @@ import 'flexStyles'; if (item) { - var imgUrl = seriesImageUrl(item, { type: 'Primary' }) || + let imgUrl = seriesImageUrl(item, { type: 'Primary' }) || seriesImageUrl(item, { type: 'Thumb' }) || imageUrl(item, { type: 'Primary' }); @@ -100,7 +100,7 @@ import 'flexStyles'; function getHtml() { - var html = ''; + let html = ''; html += '
'; html += '
'; @@ -137,17 +137,17 @@ import 'flexStyles'; function setNextVideoText() { - var instance = this; + const instance = this; - var elem = instance.options.parent; + const elem = instance.options.parent; - var secondsRemaining = Math.max(Math.round(getTimeRemainingMs(instance) / 1000), 0); + const secondsRemaining = Math.max(Math.round(getTimeRemainingMs(instance) / 1000), 0); console.debug('up next seconds remaining: ' + secondsRemaining); - var timeText = '' + globalize.translate('HeaderSecondsValue', secondsRemaining) + ''; + const timeText = '' + globalize.translate('HeaderSecondsValue', secondsRemaining) + ''; - var nextVideoText = instance.itemType === 'Episode' ? + const nextVideoText = instance.itemType === 'Episode' ? globalize.translate('HeaderNextEpisodePlayingInValue', timeText) : globalize.translate('HeaderNextVideoPlayingInValue', timeText); @@ -156,9 +156,9 @@ import 'flexStyles'; function fillItem(item) { - var instance = this; + const instance = this; - var elem = instance.options.parent; + const elem = instance.options.parent; setPoster(elem.querySelector('.upNextDialog-poster'), item); @@ -167,7 +167,7 @@ import 'flexStyles'; elem.querySelector('.upNextDialog-mediainfo').innerHTML = mediaInfo.getPrimaryMediaInfoHtml(item, { }); - var title = itemHelper.getDisplayName(item); + let title = itemHelper.getDisplayName(item); if (item.SeriesName) { title = item.SeriesName + ' - ' + title; } @@ -188,11 +188,11 @@ import 'flexStyles'; function onStartNowClick() { - var options = this.options; + const options = this.options; if (options) { - var player = options.player; + const player = options.player; this.hide(); @@ -216,7 +216,7 @@ import 'flexStyles'; function clearHideAnimationEventListeners(instance, elem) { - var fn = instance._onHideAnimationComplete; + const fn = instance._onHideAnimationComplete; if (fn) { dom.removeEventListener(elem, transitionEndEventName, fn, { @@ -227,8 +227,8 @@ import 'flexStyles'; function onHideAnimationComplete(e) { - var instance = this; - var elem = e.target; + const instance = this; + const elem = e.target; elem.classList.add('hide'); @@ -238,14 +238,14 @@ import 'flexStyles'; function hideComingUpNext() { - var instance = this; + const instance = this; clearCountdownTextTimeout(this); if (!instance.options) { return; } - var elem = instance.options.parent; + const elem = instance.options.parent; if (!elem) { return; @@ -262,7 +262,7 @@ import 'flexStyles'; elem.classList.add('upNextDialog-hidden'); - var fn = onHideAnimationComplete.bind(instance); + const fn = onHideAnimationComplete.bind(instance); instance._onHideAnimationComplete = fn; dom.addEventListener(elem, transitionEndEventName, fn, { @@ -272,13 +272,13 @@ import 'flexStyles'; function getTimeRemainingMs(instance) { - var options = instance.options; + const options = instance.options; if (options) { - var runtimeTicks = playbackManager.duration(options.player); + const runtimeTicks = playbackManager.duration(options.player); if (runtimeTicks) { - var timeRemainingTicks = runtimeTicks - playbackManager.currentTime(options.player); + const timeRemainingTicks = runtimeTicks - playbackManager.currentTime(options.player); return Math.round(timeRemainingTicks / 10000); } @@ -289,7 +289,7 @@ import 'flexStyles'; function startComingUpNextHideTimer(instance) { - var timeRemainingMs = getTimeRemainingMs(instance); + const timeRemainingMs = getTimeRemainingMs(instance); if (timeRemainingMs <= 0) { return; @@ -310,7 +310,7 @@ class UpNextDialog { } show() { - var elem = this.options.parent; + const elem = this.options.parent; clearHideAnimationEventListeners(this, elem); From 951d3ffc498f1f22735a04b5cdde643fb8f92313 Mon Sep 17 00:00:00 2001 From: Cameron Date: Mon, 27 Jul 2020 10:32:48 +0100 Subject: [PATCH 3/5] Update site.js --- src/scripts/site.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/scripts/site.js b/src/scripts/site.js index cddf2506a0..85e8c427d0 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -152,13 +152,13 @@ var Dashboard = { processPluginConfigurationUpdateResult: function () { require(['loading', 'toast'], function (loading, toast) { loading.hide(); - toast(Globalize.translate('MessageSettingsSaved')); + toast.default(Globalize.translate('MessageSettingsSaved')); }); }, processServerConfigurationUpdateResult: function (result) { require(['loading', 'toast'], function (loading, toast) { loading.hide(); - toast(Globalize.translate('MessageSettingsSaved')); + toast.default(Globalize.translate('MessageSettingsSaved')); }); }, processErrorResponse: function (response) { @@ -180,7 +180,7 @@ var Dashboard = { alert: function (options) { if ('string' == typeof options) { return void require(['toast'], function (toast) { - toast({ + toast.default({ text: options }); }); From e2b7daf4b70e982a49cd672d9ff0788e419d4368 Mon Sep 17 00:00:00 2001 From: Cameron Date: Mon, 27 Jul 2020 13:08:16 +0100 Subject: [PATCH 4/5] fix lint --- src/components/imageeditor/imageeditor.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/imageeditor/imageeditor.js b/src/components/imageeditor/imageeditor.js index 0a873fa4c7..96c179404a 100644 --- a/src/components/imageeditor/imageeditor.js +++ b/src/components/imageeditor/imageeditor.js @@ -51,7 +51,6 @@ define(['dialogHelper', 'connectionManager', 'loading', 'dom', 'layoutManager', var btnBrowseAllImages = page.querySelectorAll('.btnBrowseAllImages'); for (var i = 0, length = btnBrowseAllImages.length; i < length; i++) { - if (providers.length) { btnBrowseAllImages[i].classList.remove('hide'); } else { @@ -60,7 +59,6 @@ define(['dialogHelper', 'connectionManager', 'loading', 'dom', 'layoutManager', } apiClient.getItemImageInfos(currentItem.Id).then(function (imageInfos) { - renderStandardImages(page, apiClient, item, imageInfos, providers); renderBackdrops(page, apiClient, item, imageInfos, providers); renderScreenshots(page, apiClient, item, imageInfos, providers); From 6f50c5cbfb5b5d1750c437cc5d7dd2b34cba66ba Mon Sep 17 00:00:00 2001 From: Cameron Date: Mon, 3 Aug 2020 15:07:46 +0100 Subject: [PATCH 5/5] lint --- src/components/toast/toast.js | 2 -- src/components/upnextdialog/upnextdialog.js | 1 - 2 files changed, 3 deletions(-) diff --git a/src/components/toast/toast.js b/src/components/toast/toast.js index 1b00c8aa7e..d971880672 100644 --- a/src/components/toast/toast.js +++ b/src/components/toast/toast.js @@ -10,12 +10,10 @@ function animateRemove(elem) { setTimeout(function () { elem.classList.remove('toastVisible'); remove(elem); - }, 3300); } export default function (options) { - if (typeof options === 'string') { options = { text: options diff --git a/src/components/upnextdialog/upnextdialog.js b/src/components/upnextdialog/upnextdialog.js index 1cc7cea642..e28bb03abe 100644 --- a/src/components/upnextdialog/upnextdialog.js +++ b/src/components/upnextdialog/upnextdialog.js @@ -285,7 +285,6 @@ class UpNextDialog { init(this, options); } show() { - const elem = this.options.parent; clearHideAnimationEventListeners(this, elem);