diff --git a/dashboard-ui/bower_components/emby-apiclient/.bower.json b/dashboard-ui/bower_components/emby-apiclient/.bower.json index 01b5f08f3c..47bad4ddeb 100644 --- a/dashboard-ui/bower_components/emby-apiclient/.bower.json +++ b/dashboard-ui/bower_components/emby-apiclient/.bower.json @@ -16,14 +16,15 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.0.50", - "_release": "1.0.50", + "version": "1.1.51", + "_release": "1.1.51", "_resolution": { "type": "version", - "tag": "1.0.50", - "commit": "7988bb63ffe48f61c7a1b69fb5f7ab73a8d30fdd" + "tag": "1.1.51", + "commit": "b118029cf5077fc940b3a651054357cbd4f7d04e" }, "_source": "https://github.com/MediaBrowser/Emby.ApiClient.Javascript.git", - "_target": "~1.0.3", - "_originalSource": "emby-apiclient" + "_target": "^1.1.51", + "_originalSource": "emby-apiclient", + "_direct": true } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js index f07041c577..85c261f249 100644 --- a/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js +++ b/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js @@ -215,7 +215,7 @@ return connectUser; }; - var minServerVersion = '3.0.5724'; + var minServerVersion = '3.0.5781'; self.minServerVersion = function (val) { if (val) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index c8173849f3..28b7579636 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -16,12 +16,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.2.8", - "_release": "1.2.8", + "version": "1.2.17", + "_release": "1.2.17", "_resolution": { "type": "version", - "tag": "1.2.8", - "commit": "ab69b1f6c75888a55b4baa100f2d3c527633bf49" + "tag": "1.2.17", + "commit": "3b194aa81bb6bb5303e5e42a4687f6a3b486a3eb" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.0", diff --git a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css index 177a06e6c5..f1239370e0 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css +++ b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css @@ -1,6 +1,31 @@ .actionSheet { display: flex; justify-content: center; + padding: 0; + border: none; + border-radius: 2px; + box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); + + /*opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + z-index: 999; + transform-origin: 100% 0; + display: block; + background: #fff; + margin: 0; + padding: 0; + border: none; + border-radius: 2px; + position: absolute; + top: 0; + left: 0; + overflow: hidden; + box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); + will-change: transform; + transition: transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1); + transition: transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1); + z-index: -1;*/ } .actionSheet.centered .actionSheetContent { @@ -10,7 +35,7 @@ .actionSheetContent { margin: 0 !important; - padding: 1em 1em !important; + padding: .4em 0 !important; flex-direction: column; display: flex; justify-content: center; @@ -18,7 +43,7 @@ } .actionSheetMenuItem { - padding: .5em .5em; + padding: .7em 1.5em; margin: 0; text-transform: none; text-align: inherit; @@ -47,8 +72,14 @@ h1.actionSheetTitle { margin: .5em 0 1em !important; + padding: 0 1em; } h2.actionSheetTitle { margin: .25em 0 .55em !important; + padding: 0 1em; +} + +.actionSheet.extraSpacing { + font-size: 108%; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js index 7eab9db445..342472cdb5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js +++ b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js @@ -22,18 +22,6 @@ return results; } - var docElem = doc.documentElement; - var docElemValues = { - clientTop: docElem.clientTop, - clientLeft: docElem.clientLeft - }; - - var win = doc.defaultView; - var winValues = { - pageXOffset: win.pageXOffset, - pageYOffset: win.pageYOffset - }; - var box; var elem; @@ -57,7 +45,7 @@ return results; } - function getPosition(options) { + function getPosition(options, dlg) { var windowHeight = window.innerHeight; @@ -70,9 +58,9 @@ pos.top += options.positionTo.offsetHeight / 2; pos.left += options.positionTo.offsetWidth / 2; - // Account for popup size - we can't predict this yet so just estimate - pos.top -= (45 * options.items.length) / 2; - pos.left -= 80; + // Account for popup size + pos.top -= ((dlg.offsetHeight || 300) / 2); + pos.left -= ((dlg.offsetWidth || 160) / 2); // Avoid showing too close to the bottom pos.top = Math.min(pos.top, windowHeight - 300); @@ -94,16 +82,13 @@ function show(options) { - var pos = options.positionTo ? getPosition(options) : null; - // items // positionTo // showCancel // title var dialogOptions = { removeOnClose: true, - enableHistory: options.enableHistory, - refit: pos == null + enableHistory: options.enableHistory }; var backButton = false; @@ -122,6 +107,10 @@ var dlg = dialogHelper.createDialog(dialogOptions); + if (!layoutManager.tv) { + dlg.classList.add('extraSpacing'); + } + dlg.classList.add('actionSheet'); var html = ''; @@ -142,6 +131,10 @@ html += '
'; + options.items.forEach(function (o) { + o.ironIcon = o.selected ? 'check' : null; + }); + var itemsWithIcons = options.items.filter(function (o) { return o.ironIcon; }); @@ -155,7 +148,6 @@ } var enablePaperMenu = !layoutManager.tv; - enablePaperMenu = false; var itemTagName = 'paper-button'; if (enablePaperMenu) { @@ -168,7 +160,7 @@ var option = options.items[i]; var autoFocus = option.selected ? ' autoFocus' : ''; - html += '<' + itemTagName + autoFocus + ' noink class="actionSheetMenuItem" data-id="' + option.id + '" style="display:block;">'; + html += '<' + itemTagName + autoFocus + ' class="actionSheetMenuItem" data-id="' + option.id + '" style="display:block;">'; if (option.ironIcon) { html += ''; @@ -231,6 +223,8 @@ dialogHelper.open(dlg); + var pos = options.positionTo ? getPosition(options, dlg) : null; + if (pos) { dlg.style.position = 'fixed'; dlg.style.margin = 0; diff --git a/dashboard-ui/bower_components/emby-webcomponents/alert/alert.js b/dashboard-ui/bower_components/emby-webcomponents/alert/alert.js index 4842b5a8b5..dd0c56759b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/alert/alert.js +++ b/dashboard-ui/bower_components/emby-webcomponents/alert/alert.js @@ -44,7 +44,9 @@ define(['dialogHelper', 'layoutManager', 'dialogText', 'html!./../prompt/icons.h html += ''; } - if (options.text) { + var text = options.html || options.text; + + if (text) { if (options.title) { html += '

'; @@ -52,7 +54,7 @@ define(['dialogHelper', 'layoutManager', 'dialogText', 'html!./../prompt/icons.h html += '

'; } - html += options.text; + html += text; html += '

'; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/confirm/confirm.js b/dashboard-ui/bower_components/emby-webcomponents/confirm/confirm.js index 8e85d2f6d0..47a06ebba7 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/confirm/confirm.js +++ b/dashboard-ui/bower_components/emby-webcomponents/confirm/confirm.js @@ -66,8 +66,10 @@ define(['layoutManager', 'dialogText'], function (layoutManager, dialogText) { html += '

' + options.title + '

'; } - if (options.text) { - html += '
' + options.text + '
'; + var text = options.html || options.text; + + if (text) { + html += '
' + text + '
'; } html += '
'; diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css index eb34d43865..86619cba4f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css +++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css @@ -1,6 +1,6 @@ .dialog { margin: 0; - border-radius: 3px; + border-radius: 2px; z-index: 999999 !important; position: fixed; margin: 24px 40px; @@ -10,6 +10,7 @@ height: auto; border: 0; padding: 0; + will-change: transform; } .dialog.fixedSize { diff --git a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js index 01acfa6a64..d53c7f5d1b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js @@ -5,13 +5,17 @@ define([], function () { var element = view.querySelector('*[autofocus]'); if (element) { focus(element); + return element; } else if (defaultToFirst !== false) { element = getFocusableElements(view)[0]; if (element) { focus(element); + return element; } } + + return null; } function focus(element) { @@ -58,7 +62,8 @@ define([], function () { return elem; } - function isFocusableElementValid(elem) { + // Determines if a focusable element can be focused at a given point in time + function isCurrentlyFocusable(elem) { if (elem.disabled) { return false; @@ -84,7 +89,7 @@ define([], function () { var elem = elems[i]; - if (isFocusableElementValid(elem)) { + if (isCurrentlyFocusable(elem)) { focusableElements.push(elem); } } @@ -203,7 +208,7 @@ define([], function () { continue; } - if (!isFocusableElementValid(curr)) { + if (!isCurrentlyFocusable(curr)) { continue; } @@ -480,6 +485,7 @@ define([], function () { moveDown: function (sourceElement) { nav(sourceElement, 3); }, - sendText: sendText + sendText: sendText, + isCurrentlyFocusable: isCurrentlyFocusable }; }); \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js b/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js index 996bc08de3..62b2be20bd 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js @@ -1,23 +1,64 @@ -define(['browser'], function (browser) { +define(['browser', 'appSettings'], function (browser, appSettings) { + + function setLayout(self, layout, selectedLayout) { + + if (layout == selectedLayout) { + self[layout] = true; + document.documentElement.classList.add('layout-' + layout); + } else { + self[layout] = false; + document.documentElement.classList.remove('layout-' + layout); + } + } function layoutManager() { var self = this; - self.setFormFactor = function (formFactor) { + self.setLayout = function (layout, save) { - self.mobile = false; - self.tv = false; + if (!layout || layout == 'auto') { + self.autoLayout(); - self[formFactor] = true; + if (save !== false) { + appSettings.set('layout', ''); + } + } else { + setLayout(self, 'mobile', layout); + setLayout(self, 'tv', layout); + setLayout(self, 'desktop', layout); + + if (save !== false) { + appSettings.set('layout', layout); + } + } }; - // Take a guess at initial layout. The consuming app can override - if (browser.mobile) { - self.setFormFactor('mobile'); - } else { - self.setFormFactor('desktop'); - } + self.getSavedLayout = function (layout) { + + return appSettings.get('layout'); + }; + + self.autoLayout = function () { + + // Take a guess at initial layout. The consuming app can override + if (browser.mobile) { + self.setLayout('mobile', false); + } else if (browser.tv) { + self.setLayout('tv', false); + } else { + self.setLayout(self.undetectedAutoLayout || 'desktop', false); + } + }; + + self.init = function () { + var saved = self.getSavedLayout(); + if (saved) { + self.setLayout(saved, false); + } else { + self.autoLayout(); + } + }; }; return new layoutManager(); diff --git a/dashboard-ui/bower_components/emby-webcomponents/router.js b/dashboard-ui/bower_components/emby-webcomponents/router.js index fa392549c0..cd95b32e0e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/router.js +++ b/dashboard-ui/bower_components/emby-webcomponents/router.js @@ -69,7 +69,12 @@ define(['loading', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'b case MediaBrowser.ConnectionState.ServerUpdateNeeded: { require(['alert'], function (alert) { - alert(Globalize.translate('core#ServerUpdateNeeded', 'https://emby.media')).then(function () { + alert({ + + text: Globalize.translate('core#ServerUpdateNeeded', 'https://emby.media'), + html: Globalize.translate('core#ServerUpdateNeeded', 'https://emby.media') + + }).then(function () { embyRouter.showSelectServer(); }); }); diff --git a/dashboard-ui/bower_components/emby-webcomponents/scrollstyles.css b/dashboard-ui/bower_components/emby-webcomponents/scrollstyles.css new file mode 100644 index 0000000000..6549afd504 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/scrollstyles.css @@ -0,0 +1,49 @@ +.smoothScrollX { + overflow-x: scroll; + -webkit-overflow-scrolling: touch; + overflow-y: hidden; + scroll-behavior: smooth; +} + +.hiddenScrollX { + overflow-x: scroll; + -webkit-overflow-scrolling: touch; + overflow-y: hidden; + white-space: nowrap; + scroll-behavior: smooth; +} + +.hiddenScrollX, .layout-tv .smoothScrollX, .layout-mobile .smoothScrollX { + -ms-overflow-style: none; + overflow: -moz-scrollbars-none; +} + + .hiddenScrollX::-webkit-scrollbar, .layout-tv .smoothScrollX::-webkit-scrollbar, .layout-mobile .smoothScrollX::-webkit-scrollbar { + height: 0 !important; + display: none; + } + + +.smoothScrollY { + overflow-y: auto; + -webkit-overflow-scrolling: touch; + overflow-x: hidden; + scroll-behavior: smooth; +} + +.hiddenScrollY, .layout-tv .smoothScrollY, .layout-mobile .smoothScrollY { + overflow-y: auto; + -webkit-overflow-scrolling: touch; + overflow-x: hidden; + scroll-behavior: smooth; +} + +.hiddenScrollY { + -ms-overflow-style: none; + overflow: -moz-scrollbars-none; +} + + .hiddenScrollY::-webkit-scrollbar, .layout-tv .smoothScrollY::-webkit-scrollbar, .layout-mobile .smoothScrollY::-webkit-scrollbar { + width: 0 !important; + display: none; + } diff --git a/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js b/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js index 24026b48dc..37484262c9 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js +++ b/dashboard-ui/bower_components/emby-webcomponents/slideshow/slideshow.js @@ -1,4 +1,4 @@ -define(['dialogHelper', 'inputManager', 'connectionManager', 'browser', 'css!./style', 'html!./icons', 'iron-icon-set', 'paper-fab', 'paper-icon-button', 'paper-spinner'], function (dialogHelper, inputmanager, connectionManager, browser) { +define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'css!./style', 'html!./icons', 'iron-icon-set', 'paper-fab', 'paper-icon-button', 'paper-spinner'], function (dialogHelper, inputmanager, connectionManager, layoutManager) { return function (options) { @@ -90,7 +90,7 @@ define(['dialogHelper', 'inputManager', 'connectionManager', 'browser', 'css!./s swiperInstance.on('onLazyImageLoad', onSlideChangeStart); swiperInstance.on('onLazyImageReady', onSlideChangeEnd); - if (browser.mobile) { + if (layoutManager.mobile) { pause(); } else { play(); diff --git a/dashboard-ui/bower_components/emby-webcomponents/viewmanager.js b/dashboard-ui/bower_components/emby-webcomponents/viewmanager.js index 87011d528c..cc3b7189ab 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/viewmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/viewmanager.js @@ -7,7 +7,11 @@ define(['viewcontainer', 'focusManager', 'queryString', 'connectionManager', 'ev var lastView = currentView; if (lastView) { - dispatchViewEvent(lastView, 'viewbeforehide'); + var beforeHideResult = dispatchViewEvent(lastView, 'viewbeforehide', null, true); + + if (!beforeHideResult) { + // todo: cancel + } } if (!newView.initComplete) { @@ -47,8 +51,12 @@ define(['viewcontainer', 'focusManager', 'queryString', 'connectionManager', 'ev focusManager.autoFocus(view); } } - else if (view.activeElement) { - view.activeElement.focus(); + else { + if (view.activeElement && document.body.contains(view.activeElement) && focusManager.isCurrentlyFocusable(view.activeElement)) { + focusManager.focus(view.activeElement); + } else { + focusManager.autoFocus(view); + } } view.dispatchEvent(new CustomEvent('viewshow', eventDetail)); @@ -58,15 +66,15 @@ define(['viewcontainer', 'focusManager', 'queryString', 'connectionManager', 'ev } } - function dispatchViewEvent(view, eventName, isRestored) { + function dispatchViewEvent(view, eventName, isRestored, isCancellable) { - view.dispatchEvent(new CustomEvent(eventName, { + var eventResult = view.dispatchEvent(new CustomEvent(eventName, { detail: { type: view.getAttribute('data-type'), isRestored: isRestored }, bubbles: true, - cancelable: false + cancelable: isCancellable || false })); if (dispatchPageEvents) { @@ -79,6 +87,8 @@ define(['viewcontainer', 'focusManager', 'queryString', 'connectionManager', 'ev cancelable: false })); } + + return eventResult; } function getViewEventDetail(view, options, isRestore) { diff --git a/dashboard-ui/bower_components/paper-behaviors/.bower.json b/dashboard-ui/bower_components/paper-behaviors/.bower.json index 2b04bf9f8a..a6b333d335 100644 --- a/dashboard-ui/bower_components/paper-behaviors/.bower.json +++ b/dashboard-ui/bower_components/paper-behaviors/.bower.json @@ -45,7 +45,7 @@ "tag": "v1.0.11", "commit": "e3c1ab0c72905b58fb4d9adc2921ea73b5c085a5" }, - "_source": "git://github.com/PolymerElements/paper-behaviors.git", + "_source": "git://github.com/polymerelements/paper-behaviors.git", "_target": "^1.0.0", - "_originalSource": "PolymerElements/paper-behaviors" + "_originalSource": "polymerelements/paper-behaviors" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/paper-ripple/.bower.json b/dashboard-ui/bower_components/paper-ripple/.bower.json index 157225ee71..2f654d71c6 100644 --- a/dashboard-ui/bower_components/paper-ripple/.bower.json +++ b/dashboard-ui/bower_components/paper-ripple/.bower.json @@ -32,14 +32,14 @@ "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0" }, "ignore": [], - "homepage": "https://github.com/PolymerElements/paper-ripple", + "homepage": "https://github.com/polymerelements/paper-ripple", "_release": "1.0.5", "_resolution": { "type": "version", "tag": "v1.0.5", "commit": "d72e7a9a8ab518b901ed18dde492df3b87a93be5" }, - "_source": "git://github.com/PolymerElements/paper-ripple.git", + "_source": "git://github.com/polymerelements/paper-ripple.git", "_target": "^1.0.0", - "_originalSource": "PolymerElements/paper-ripple" + "_originalSource": "polymerelements/paper-ripple" } \ No newline at end of file diff --git a/dashboard-ui/components/favoriteitems.js b/dashboard-ui/components/favoriteitems.js index 9a0266fa35..2621f40130 100644 --- a/dashboard-ui/components/favoriteitems.js +++ b/dashboard-ui/components/favoriteitems.js @@ -1,4 +1,4 @@ -define(['libraryBrowser'], function (libraryBrowser) { +define(['libraryBrowser', 'scrollStyles'], function (libraryBrowser) { function enableScrollX() { return browserInfo.mobile && AppInfo.enableAppLayouts; diff --git a/dashboard-ui/components/guestinviter/guestinviter.js b/dashboard-ui/components/guestinviter/guestinviter.js index fd50277025..bdddbfd336 100644 --- a/dashboard-ui/components/guestinviter/guestinviter.js +++ b/dashboard-ui/components/guestinviter/guestinviter.js @@ -62,6 +62,47 @@ showNewUserInviteMessage(dlg, result); + }, function (response) { + + Dashboard.hideLoadingMsg(); + + if (!response.status) { + // General error + require(['alert'], function (alert) { + alert({ + text: Globalize.translate('DefaultErrorMessage') + }); + }); + } else if (response.status == 404) { + // User doesn't exist + require(['alert'], function (alert) { + alert({ + text: Globalize.translate('GuestUserNotFound') + }); + }); + } else { + + // status 400 = account not activated + + // General error + showAccountErrorMessage(); + } + }); + }); + } + + function showAccountErrorMessage() { + + var html = Globalize.translate('ErrorAddingGuestAccount1', 'https://emby.media/connect'); + html += '

' + Globalize.translate('ErrorAddingGuestAccount2', 'apps@emby.media'); + + var text = Globalize.translate('ErrorAddingGuestAccount1', 'https://emby.media/connect'); + text += '\n\n' + Globalize.translate('ErrorAddingGuestAccount2', 'apps@emby.media'); + + require(['alert'], function (alert) { + alert({ + text: text, + html: html }); }); } @@ -78,9 +119,11 @@ Globalize.translate('MessageInvitationSentToNewUser', result.GuestDisplayName) : Globalize.translate('MessageInvitationSentToUser', result.GuestDisplayName); - Dashboard.alert({ - message: message, - title: Globalize.translate('HeaderInvitationSent') + require(['alert'], function (alert) { + alert({ + text: message, + title: Globalize.translate('HeaderInvitationSent') + }); }); } diff --git a/dashboard-ui/components/servertestermessage.js b/dashboard-ui/components/servertestermessage.js index 499c00a7e5..a10661c371 100644 --- a/dashboard-ui/components/servertestermessage.js +++ b/dashboard-ui/components/servertestermessage.js @@ -132,7 +132,7 @@ var key = 'servertestermessagetime'; var lastShown = parseInt(appSettings.get(key) || '0'); - if ((new Date().getTime() - lastShown) < 172800000) { + if ((new Date().getTime() - lastShown) < 86400000) { return; } @@ -145,7 +145,7 @@ apiClient.getPublicSystemInfo().then(function (info) { - if (compareVersions(info.Version, '3.0.5912') == 1) { + if (compareVersions(info.Version, '3.0.5913') == 1) { showInternal(); } }); diff --git a/dashboard-ui/components/tvguide/tvguide.js b/dashboard-ui/components/tvguide/tvguide.js index 766cf19644..ce6eb08966 100644 --- a/dashboard-ui/components/tvguide/tvguide.js +++ b/dashboard-ui/components/tvguide/tvguide.js @@ -1,4 +1,4 @@ -define(['jQuery', 'livetvcss', 'scripts/livetvcomponents'], function ($) { +define(['jQuery', 'livetvcss', 'scripts/livetvcomponents', 'scrollStyles'], function ($) { return function (options) { diff --git a/dashboard-ui/components/tvguide/tvguide.template.html b/dashboard-ui/components/tvguide/tvguide.template.html index cfd25509ce..a92f85aea5 100644 --- a/dashboard-ui/components/tvguide/tvguide.template.html +++ b/dashboard-ui/components/tvguide/tvguide.template.html @@ -5,11 +5,11 @@
-
+
-
+
diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 0bd9988e17..f8f4f73bca 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -563,52 +563,6 @@ div[data-role="controlgroup"] a.ui-btn-active { color: #fff !important; } -.smoothScrollX { - overflow-x: scroll; - -webkit-overflow-scrolling: touch; - overflow-y: hidden; -} - -.hiddenScrollX { - overflow-x: scroll; - -webkit-overflow-scrolling: touch; - overflow-y: hidden; - white-space: nowrap; -} - -.touch .hiddenScrollX { - -ms-overflow-style: none; - overflow: -moz-scrollbars-none; -} - - .touch .hiddenScrollX::-webkit-scrollbar { - height: 0 !important; - display: none; - } - - -.smoothScrollY { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; -} - -.hiddenScrollY, .ui-panel-inner { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; -} - -.touch .hiddenScrollY { - -ms-overflow-style: none; - overflow: -moz-scrollbars-none; -} - - .touch .hiddenScrollY::-webkit-scrollbar, .touch .ui-panel-inner::-webkit-scrollbar { - width: 0 !important; - display: none; - } - /** * Note: I have omitted any vendor-prefixes for clarity. * Adding them is left as an exercise for the reader. diff --git a/dashboard-ui/metadataimages.html b/dashboard-ui/metadataimages.html index 3e4447b72d..286316a8cb 100644 --- a/dashboard-ui/metadataimages.html +++ b/dashboard-ui/metadataimages.html @@ -1,4 +1,4 @@ -
+
@@ -21,46 +21,43 @@
-
-

${HeaderImageSettings}

-
+ +
+ + + + +
${HeaderFetchImages}
+
+ + ${OptionDownloadPrimaryImage} + ${OptionDownloadArtImage} + ${OptionDownloadBackImage} + ${OptionDownloadBannerImage} + ${OptionDownloadBoxImage} + + ${OptionDownloadDiscImage} + ${OptionDownloadLogoImage} + ${OptionDownloadMenuImage} + ${OptionDownloadThumbImage} +
+


diff --git a/dashboard-ui/scripts/homeupcoming.js b/dashboard-ui/scripts/homeupcoming.js index 65a7b880d4..369f6413c2 100644 --- a/dashboard-ui/scripts/homeupcoming.js +++ b/dashboard-ui/scripts/homeupcoming.js @@ -1,4 +1,4 @@ -define(['jQuery'], function ($) { +define(['jQuery', 'scrollStyles'], function ($) { function loadUpcoming(page) { Dashboard.showLoadingMsg(); diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index 1177c262f1..8294b781b0 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -1,4 +1,4 @@ -define(['layoutManager', 'jQuery'], function (layoutManager, $) { +define(['layoutManager', 'jQuery', 'scrollStyles'], function (layoutManager, $) { var currentItem; diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index b061400982..ff2b96a06d 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -1,4 +1,4 @@ -define(['playlistManager', 'appSettings', 'appStorage', 'jQuery'], function (playlistManager, appSettings, appStorage, $) { +define(['playlistManager', 'appSettings', 'appStorage', 'jQuery', 'scrollStyles'], function (playlistManager, appSettings, appStorage, $) { var libraryBrowser = (function (window, document, screen) { diff --git a/dashboard-ui/scripts/livetvsuggested.js b/dashboard-ui/scripts/livetvsuggested.js index 6c81df036b..e4f0719e68 100644 --- a/dashboard-ui/scripts/livetvsuggested.js +++ b/dashboard-ui/scripts/livetvsuggested.js @@ -1,4 +1,4 @@ -define(['jQuery'], function ($) { +define(['jQuery', 'scrollStyles'], function ($) { function enableScrollX() { return browserInfo.mobile && AppInfo.enableAppLayouts; diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js index 710212331b..c6ef7c3d55 100644 --- a/dashboard-ui/scripts/mediaplayer-video.js +++ b/dashboard-ui/scripts/mediaplayer-video.js @@ -1,4 +1,4 @@ -define(['appSettings', 'jQuery'], function (appSettings, $) { +define(['appSettings', 'jQuery', 'scrollStyles'], function (appSettings, $) { function createVideoPlayer(self) { @@ -465,7 +465,7 @@ html += '
'; if (item.Chapters && item.Chapters.length) { - html += '