diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index 965de91c97..b89898037c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -14,12 +14,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.4.340", - "_release": "1.4.340", + "version": "1.4.341", + "_release": "1.4.341", "_resolution": { "type": "version", - "tag": "1.4.340", - "commit": "4b8e32151954ed117c2847cf2641cb895fa38f41" + "tag": "1.4.341", + "commit": "a76c941730e08f60e6734a53adb80e94cc2f4dc8" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.1", diff --git a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js index 0bf932172a..4a15fda278 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js +++ b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js @@ -337,6 +337,7 @@ define(['browser'], function (browser) { if (browser.tizen) { mp4VideoCodecs.push('mpeg2video') + mp4VideoCodecs.push('vc1') } if (canPlayMkv && mp4VideoCodecs.length) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js index d8e7d67551..24374d7c69 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js @@ -1,5 +1,5 @@ -define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo', 'focusManager', 'indicators', 'globalize', 'layoutManager', 'apphost', 'dom', 'emby-button', 'css!./card', 'paper-icon-button-light', 'clearButtonStyle'], - function (datetime, imageLoader, connectionManager, itemHelper, mediaInfo, focusManager, indicators, globalize, layoutManager, appHost, dom) { +define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'focusManager', 'indicators', 'globalize', 'layoutManager', 'apphost', 'dom', 'emby-button', 'css!./card', 'paper-icon-button-light', 'clearButtonStyle'], + function (datetime, imageLoader, connectionManager, itemHelper, focusManager, indicators, globalize, layoutManager, appHost, dom) { 'use strict'; var devicePixelRatio = window.devicePixelRatio || 1; diff --git a/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js b/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js index 599e6e66f4..002cfc9992 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/collectioneditor/collectioneditor.js @@ -42,9 +42,6 @@ Name: dlg.querySelector('#txtNewCollectionName').value, IsLocked: !dlg.querySelector('#chkEnableInternetMetadata').checked, Ids: dlg.querySelector('.fldSelectedItemIds').value || '' - - //ParentId: getParameterByName('parentId') || LibraryMenu.getTopParentId() - }); apiClient.ajax({ diff --git a/dashboard-ui/bower_components/emby-webcomponents/images/imagehelper.js b/dashboard-ui/bower_components/emby-webcomponents/images/imagehelper.js index 7e604ed3a0..0e70777a47 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/images/imagehelper.js +++ b/dashboard-ui/bower_components/emby-webcomponents/images/imagehelper.js @@ -7,7 +7,6 @@ define(['lazyLoader', 'imageFetcher', 'layoutManager', 'browser', 'appSettings', //var imagesWorker = new Worker(require.toUrl('.').split('?')[0] + '/imagesworker.js'); - var wheelEvent = (document.implementation.hasFeature('Event.wheel', '3.0') ? 'wheel' : 'mousewheel'); var self = {}; var enableFade = browser.animate && !browser.slow; diff --git a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css index 0e038371ae..538f94aa41 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css +++ b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css @@ -100,8 +100,8 @@ } .listItemIcon { - width: auto !important; - height: auto !important; + width: 1em !important; + height: 1em !important; font-size: 143%; border-radius: 500px; background-color: #52B54B; diff --git a/dashboard-ui/bower_components/emby-webcomponents/router.js b/dashboard-ui/bower_components/emby-webcomponents/router.js index bb173a9d37..d5405e377f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/router.js +++ b/dashboard-ui/bower_components/emby-webcomponents/router.js @@ -1,4 +1,4 @@ -define(['loading', 'dom', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'browser', 'pageJs', 'appSettings', 'apphost'], function (loading, dom, viewManager, skinManager, pluginManager, backdrop, browser, page, appSettings, appHost) { +define(['loading', 'viewManager', 'skinManager', 'pluginManager', 'backdrop', 'browser', 'pageJs', 'appSettings', 'apphost'], function (loading, viewManager, skinManager, pluginManager, backdrop, browser, page, appSettings, appHost) { 'use strict'; var embyRouter = { @@ -491,15 +491,12 @@ define(['loading', 'dom', 'viewManager', 'skinManager', 'pluginManager', 'backdr } var resolveOnNextShow; - dom.addEventListener(document, 'viewshow', function () { - + document.addEventListener('viewshow', function () { var resolve = resolveOnNextShow; if (resolve) { resolveOnNextShow = null; resolve(); } - }, { - passive: true }); var currentRouteInfo; diff --git a/dashboard-ui/components/apphost.js b/dashboard-ui/components/apphost.js index fd8f1aa062..d4e88df7ba 100644 --- a/dashboard-ui/components/apphost.js +++ b/dashboard-ui/components/apphost.js @@ -149,7 +149,7 @@ define(['appStorage', 'browser'], function (appStorage, browser) { features.push('fullscreen'); } - if (browser.chrome || (browser.safari && !browser.slow) || (browser.edge && !browser.slow)) { + if (browser.chrome || (browser.edge && !browser.slow)) { features.push('imageanalysis'); } diff --git a/dashboard-ui/components/favoriteitems.js b/dashboard-ui/components/favoriteitems.js index 44a4b0bdc2..73cc593d19 100644 --- a/dashboard-ui/components/favoriteitems.js +++ b/dashboard-ui/components/favoriteitems.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'cardBuilder', 'dom', 'apphost', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser, cardBuilder, dom, appHost) { +define(['libraryBrowser', 'cardBuilder', 'dom', 'apphost', 'imageLoader', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser, cardBuilder, dom, appHost, imageLoader) { 'use strict'; function enableScrollX() { @@ -112,7 +112,7 @@ } elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); } diff --git a/dashboard-ui/components/imagedownloader/imagedownloader.js b/dashboard-ui/components/imagedownloader/imagedownloader.js index 1da87548be..0807f7357b 100644 --- a/dashboard-ui/components/imagedownloader/imagedownloader.js +++ b/dashboard-ui/components/imagedownloader/imagedownloader.js @@ -1,4 +1,4 @@ -define(['dialogHelper', 'emby-checkbox', 'emby-button', 'paper-icon-button-light', 'css!css/metadataeditor.css'], function (dialogHelper) { +define(['dialogHelper', 'imageLoader', 'emby-checkbox', 'emby-button', 'paper-icon-button-light', 'css!css/metadataeditor.css'], function (dialogHelper, imageLoader) { 'use strict'; var currentItemId; @@ -72,7 +72,7 @@ var availableImagesList = page.querySelector('.availableImagesList'); availableImagesList.innerHTML = html; - ImageLoader.lazyChildren(availableImagesList); + imageLoader.lazyChildren(availableImagesList); var btnNextPage = page.querySelector('.btnNextPage'); var btnPreviousPage = page.querySelector('.btnPreviousPage'); diff --git a/dashboard-ui/components/remotecontrol.js b/dashboard-ui/components/remotecontrol.js index e9986fd686..9ea80c70ba 100644 --- a/dashboard-ui/components/remotecontrol.js +++ b/dashboard-ui/components/remotecontrol.js @@ -1,4 +1,4 @@ -define(['browser', 'datetime', 'libraryBrowser', 'listView', 'userdataButtons', 'cardStyle'], function (browser, datetime, libraryBrowser, listView, userdataButtons) { +define(['browser', 'datetime', 'libraryBrowser', 'listView', 'userdataButtons', 'imageLoader', 'cardStyle'], function (browser, datetime, libraryBrowser, listView, userdataButtons, imageLoader) { 'use strict'; function showSlideshowMenu(context) { @@ -221,7 +221,7 @@ currentImgUrl = url; if (url) { - ImageLoader.lazyImage(context.querySelector('.nowPlayingPageImage'), url); + imageLoader.lazyImage(context.querySelector('.nowPlayingPageImage'), url); } else { context.querySelector('.nowPlayingPageImage').style.backgroundImage = ''; } @@ -448,7 +448,7 @@ } } - ImageLoader.lazyChildren(itemsContainer); + imageLoader.lazyChildren(itemsContainer); }); } diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 489c0d3fcf..e05bc57737 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -202,13 +202,6 @@ div[data-role='page'] { white-space: normal !important; } -.warningFieldDescription { - padding: 5px; - border: 1px solid #f4c63f; - background: #fff3a5; - border-radius: 5px; -} - .fieldDescription + .fieldDescription { margin-top: 5px; } diff --git a/dashboard-ui/scripts/channelitems.js b/dashboard-ui/scripts/channelitems.js index 40de447d36..65bc6fffd7 100644 --- a/dashboard-ui/scripts/channelitems.js +++ b/dashboard-ui/scripts/channelitems.js @@ -1,4 +1,4 @@ -define(['jQuery', 'cardBuilder', 'emby-itemscontainer'], function ($, cardBuilder) { +define(['jQuery', 'cardBuilder', 'imageLoader', 'emby-itemscontainer'], function ($, cardBuilder, imageLoader) { 'use strict'; var data = {}; @@ -148,7 +148,7 @@ var elem = page.querySelector('#items'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; diff --git a/dashboard-ui/scripts/channels.js b/dashboard-ui/scripts/channels.js index 91bb430f74..ea5cf6f82d 100644 --- a/dashboard-ui/scripts/channels.js +++ b/dashboard-ui/scripts/channels.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'cardBuilder', 'emby-itemscontainer', 'emby-tabs', 'emby-button', 'scripts/channelslatest', 'scripts/sections'], function (libraryBrowser, cardBuilder) { +define(['libraryBrowser', 'cardBuilder', 'imageLoader', 'emby-itemscontainer', 'emby-tabs', 'emby-button', 'scripts/channelslatest', 'scripts/sections'], function (libraryBrowser, cardBuilder, imageLoader) { 'use strict'; // The base query options @@ -50,7 +50,7 @@ var elem = page.querySelector('#items'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); libraryBrowser.saveQueryValues('channels', query); diff --git a/dashboard-ui/scripts/gamegenrepage.js b/dashboard-ui/scripts/gamegenrepage.js index bd67018746..f3af6e7e9f 100644 --- a/dashboard-ui/scripts/gamegenrepage.js +++ b/dashboard-ui/scripts/gamegenrepage.js @@ -1,4 +1,4 @@ -define(['jQuery'], function ($) { +define(['jQuery', 'imageLoader'], function ($, imageLoader) { 'use strict'; // The base query options @@ -46,7 +46,7 @@ define(['jQuery'], function ($) { var elem = page.querySelector('#items'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; diff --git a/dashboard-ui/scripts/gamespage.js b/dashboard-ui/scripts/gamespage.js index c3f4714143..b97e6cf510 100644 --- a/dashboard-ui/scripts/gamespage.js +++ b/dashboard-ui/scripts/gamespage.js @@ -1,4 +1,4 @@ -define(['jQuery', 'listView'], function ($, listView) { +define(['jQuery', 'listView', 'imageLoader'], function ($, listView, imageLoader) { 'use strict'; var data = {}; @@ -96,7 +96,7 @@ define(['jQuery', 'listView'], function ($, listView) { var elem = page.querySelector('#items'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; diff --git a/dashboard-ui/scripts/gamesrecommendedpage.js b/dashboard-ui/scripts/gamesrecommendedpage.js index 301e59cc3e..b2e6dd1370 100644 --- a/dashboard-ui/scripts/gamesrecommendedpage.js +++ b/dashboard-ui/scripts/gamesrecommendedpage.js @@ -1,4 +1,4 @@ -define(['jQuery'], function ($) { +define(['jQuery', 'imageLoader'], function ($, imageLoader) { 'use strict'; $(document).on('pagebeforeshow', "#gamesRecommendedPage", function () { @@ -29,7 +29,7 @@ define(['jQuery'], function ($) { lazy: true }); - ImageLoader.lazyChildren(recentlyAddedItems); + imageLoader.lazyChildren(recentlyAddedItems); }); @@ -64,7 +64,7 @@ define(['jQuery'], function ($) { lazy: true }); - ImageLoader.lazyChildren(recentlyPlayedItems); + imageLoader.lazyChildren(recentlyPlayedItems); }); }); diff --git a/dashboard-ui/scripts/gamestudiospage.js b/dashboard-ui/scripts/gamestudiospage.js index 8fbcb0408f..a4548fa81f 100644 --- a/dashboard-ui/scripts/gamestudiospage.js +++ b/dashboard-ui/scripts/gamestudiospage.js @@ -1,4 +1,4 @@ -define(['jQuery'], function ($) { +define(['jQuery', 'imageLoader'], function ($, imageLoader) { 'use strict'; // The base query options @@ -47,7 +47,7 @@ define(['jQuery'], function ($) { var elem = page.querySelector('#items'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; diff --git a/dashboard-ui/scripts/gamesystemspage.js b/dashboard-ui/scripts/gamesystemspage.js index 425016e157..b581eeb5f1 100644 --- a/dashboard-ui/scripts/gamesystemspage.js +++ b/dashboard-ui/scripts/gamesystemspage.js @@ -1,4 +1,4 @@ -define(['jQuery'], function ($) { +define(['jQuery', 'imageLoader'], function ($, imageLoader) { 'use strict'; // The base query options @@ -42,7 +42,7 @@ define(['jQuery'], function ($) { var elem = page.querySelector('#items'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); diff --git a/dashboard-ui/scripts/homenextup.js b/dashboard-ui/scripts/homenextup.js index a8883eaf4f..28961ad6a8 100644 --- a/dashboard-ui/scripts/homenextup.js +++ b/dashboard-ui/scripts/homenextup.js @@ -1,4 +1,4 @@ -define(['components/categorysyncbuttons', 'cardBuilder', 'apphost', 'emby-itemscontainer'], function (categorysyncbuttons, cardBuilder, appHost) { +define(['components/categorysyncbuttons', 'cardBuilder', 'apphost', 'imageLoader', 'emby-itemscontainer'], function (categorysyncbuttons, cardBuilder, appHost, imageLoader) { 'use strict'; function getNextUpPromise() { @@ -46,7 +46,7 @@ var elem = page.querySelector('#nextUpItems'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); Dashboard.hideLoadingMsg(); }); } diff --git a/dashboard-ui/scripts/homeupcoming.js b/dashboard-ui/scripts/homeupcoming.js index 84eb97f22b..3e2331370b 100644 --- a/dashboard-ui/scripts/homeupcoming.js +++ b/dashboard-ui/scripts/homeupcoming.js @@ -1,4 +1,4 @@ -define(['datetime', 'cardBuilder', 'apphost', 'emby-itemscontainer', 'scrollStyles'], function (datetime, cardBuilder, appHost) { +define(['datetime', 'cardBuilder', 'apphost', 'imageLoader', 'emby-itemscontainer', 'scrollStyles'], function (datetime, cardBuilder, appHost, imageLoader) { 'use strict'; function getUpcomingPromise() { @@ -134,7 +134,7 @@ } elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); } return function (view, params, tabContent) { diff --git a/dashboard-ui/scripts/itembynamedetailpage.js b/dashboard-ui/scripts/itembynamedetailpage.js index b33d14436e..231e7df063 100644 --- a/dashboard-ui/scripts/itembynamedetailpage.js +++ b/dashboard-ui/scripts/itembynamedetailpage.js @@ -1,4 +1,4 @@ -define(['listView', 'cardBuilder', 'emby-itemscontainer'], function (listView, cardBuilder) { +define(['listView', 'cardBuilder', 'imageLoader', 'emby-itemscontainer'], function (listView, cardBuilder, imageLoader) { 'use strict'; function renderItems(page, item) { @@ -314,7 +314,7 @@ itemsContainer.innerHTML = html; - ImageLoader.lazyChildren(itemsContainer); + imageLoader.lazyChildren(itemsContainer); }); } diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index 90c0b25add..7621c37645 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -1,4 +1,4 @@ -define(['layoutManager', 'cardBuilder', 'datetime', 'mediaInfo', 'backdrop', 'listView', 'itemContextMenu', 'itemHelper', 'userdataButtons', 'dom', 'indicators', 'apphost', 'scrollStyles', 'emby-itemscontainer', 'emby-checkbox'], function (layoutManager, cardBuilder, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper, userdataButtons, dom, indicators, appHost) { +define(['layoutManager', 'cardBuilder', 'datetime', 'mediaInfo', 'backdrop', 'listView', 'itemContextMenu', 'itemHelper', 'userdataButtons', 'dom', 'indicators', 'apphost', 'imageLoader', 'scrollStyles', 'emby-itemscontainer', 'emby-checkbox'], function (layoutManager, cardBuilder, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper, userdataButtons, dom, indicators, appHost, imageLoader) { 'use strict'; var currentItem; @@ -125,7 +125,7 @@ backdrop.setBackdrops([item]); } else { - hasBackdrop = LibraryBrowser.renderDetailPageBackdrop(page, item); + hasBackdrop = LibraryBrowser.renderDetailPageBackdrop(page, item, imageLoader); backdrop.clear(); } @@ -351,7 +351,7 @@ function renderImage(page, item, user) { - LibraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, user.Policy.IsAdministrator && item.MediaType != 'Photo'); + LibraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, user.Policy.IsAdministrator && item.MediaType != 'Photo', null, imageLoader, indicators); } function refreshDetailImageUserData(elem, item) { @@ -411,7 +411,7 @@ var itemsContainer = section.querySelector('.nextUpItems'); itemsContainer.innerHTML = html; - ImageLoader.lazyChildren(itemsContainer); + imageLoader.lazyChildren(itemsContainer); }); } @@ -885,7 +885,7 @@ var similarContent = page.querySelector('#moreFromItems'); similarContent.innerHTML = html; - ImageLoader.lazyChildren(similarContent); + imageLoader.lazyChildren(similarContent); }); } @@ -960,7 +960,7 @@ var similarContent = similarCollapsible.querySelector('.similarContent'); similarContent.innerHTML = html; - ImageLoader.lazyChildren(similarContent); + imageLoader.lazyChildren(similarContent); }); } @@ -1190,7 +1190,7 @@ } elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); if (item.Type == "BoxSet") { @@ -1445,7 +1445,7 @@ var collectionItems = page.querySelector('.collectionItems'); collectionItems.insertAdjacentHTML('beforeend', html); - ImageLoader.lazyChildren(collectionItems); + imageLoader.lazyChildren(collectionItems); collectionItems.querySelector('.btnAddToCollection').addEventListener('click', function () { require(['alert'], function (alert) { @@ -1613,7 +1613,7 @@ var themeVideosContent = page.querySelector('#themeVideosContent'); themeVideosContent.innerHTML = getVideosHtml(items, user); - ImageLoader.lazyChildren(themeVideosContent); + imageLoader.lazyChildren(themeVideosContent); } else { page.querySelector('#themeVideosCollapsible').classList.add('hide'); } @@ -1637,7 +1637,7 @@ var musicVideosContent = page.querySelector('.musicVideosContent'); musicVideosContent.innerHTML = getVideosHtml(result.Items, user); - ImageLoader.lazyChildren(musicVideosContent); + imageLoader.lazyChildren(musicVideosContent); } else { page.querySelector('#musicVideosCollapsible').classList.add('hide'); @@ -1656,7 +1656,7 @@ var additionalPartsContent = page.querySelector('#additionalPartsContent'); additionalPartsContent.innerHTML = getVideosHtml(result.Items, user); - ImageLoader.lazyChildren(additionalPartsContent); + imageLoader.lazyChildren(additionalPartsContent); } else { page.querySelector('#additionalPartsCollapsible').classList.add('hide'); @@ -1890,7 +1890,7 @@ var specialsContent = page.querySelector('#specialsContent'); specialsContent.innerHTML = getVideosHtml(specials, user, limit, "moreSpecials"); - ImageLoader.lazyChildren(specialsContent); + imageLoader.lazyChildren(specialsContent); }); } diff --git a/dashboard-ui/scripts/itemlistpage.js b/dashboard-ui/scripts/itemlistpage.js index 8d398fed11..d09d41183f 100644 --- a/dashboard-ui/scripts/itemlistpage.js +++ b/dashboard-ui/scripts/itemlistpage.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'alphaPicker', 'listView', 'cardBuilder', 'emby-itemscontainer'], function (libraryBrowser, alphaPicker, listView, cardBuilder) { +define(['libraryBrowser', 'alphaPicker', 'listView', 'cardBuilder', 'imageLoader', 'emby-itemscontainer'], function (libraryBrowser, alphaPicker, listView, cardBuilder, imageLoader) { 'use strict'; return function (view, params) { @@ -161,7 +161,7 @@ var elem = view.querySelector('#items'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); var i, length; var elems = view.querySelectorAll('.paging'); diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index fecd7117d2..3db9a3c94b 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -1,4 +1,4 @@ -define(['viewManager', 'appSettings', 'appStorage', 'apphost', 'datetime', 'itemHelper', 'mediaInfo', 'scroller', 'indicators', 'dom', 'browser', 'imageLoader', 'scrollStyles'], function (viewManager, appSettings, appStorage, appHost, datetime, itemHelper, mediaInfo, scroller, indicators, dom, browser) { +define(['appSettings', 'dom', 'browser', 'scrollStyles'], function (appSettings, dom, browser) { 'use strict'; function fadeInRight(elem) { @@ -33,7 +33,7 @@ loadSavedQueryValues: function (key, query) { - var values = appStorage.getItem(key + '_' + Dashboard.getCurrentUserId()); + var values = appSettings.get(key + '_' + Dashboard.getCurrentUserId()); if (values) { @@ -57,7 +57,7 @@ } try { - appStorage.setItem(key + '_' + Dashboard.getCurrentUserId(), JSON.stringify(values)); + appSettings.set(key + '_' + Dashboard.getCurrentUserId(), JSON.stringify(values)); } catch (e) { } @@ -66,7 +66,7 @@ saveViewSetting: function (key, value) { try { - appStorage.setItem(key + '_' + Dashboard.getCurrentUserId() + '_view', value); + appSettings.set(key + '_' + Dashboard.getCurrentUserId() + '_view', value); } catch (e) { } @@ -74,7 +74,7 @@ getSavedView: function (key) { - var val = appStorage.getItem(key + '_' + Dashboard.getCurrentUserId() + '_view'); + var val = appSettings.get(key + '_' + Dashboard.getCurrentUserId() + '_view'); return val; }, @@ -202,7 +202,9 @@ if (window.location.href.toLowerCase().indexOf(url.toLowerCase()) != -1) { - afterNavigate.call(viewManager.currentView()); + require(['viewManager'], function (viewManager) { + afterNavigate.call(viewManager.currentView()); + }); } else { pageClassOn('pageinit', 'page', afterNavigate); @@ -424,17 +426,19 @@ renderName: function (item, nameElem, linkToElement, context) { - var name = itemHelper.getDisplayName(item, { - includeParentInfo: false + require(['itemHelper'], function (itemHelper) { + var name = itemHelper.getDisplayName(item, { + includeParentInfo: false + }); + + LibraryMenu.setTitle(name); + + if (linkToElement) { + nameElem.innerHTML = '' + name + ''; + } else { + nameElem.innerHTML = name; + } }); - - LibraryMenu.setTitle(name); - - if (linkToElement) { - nameElem.innerHTML = '' + name + ''; - } else { - nameElem.innerHTML = name; - } }, renderParentName: function (item, parentNameElem, context) { @@ -536,7 +540,7 @@ if (limit && options.updatePageSizeSetting !== false) { try { - appStorage.setItem(options.pageSizeKey || pageSizeKey, limit); + appSettings.set(options.pageSizeKey || pageSizeKey, limit); } catch (e) { } @@ -706,7 +710,7 @@ }); }, - renderDetailImage: function (elem, item, editable, preferThumb) { + renderDetailImage: function (elem, item, editable, preferThumb, imageLoader, indicators) { var imageTags = item.ImageTags || {}; @@ -855,10 +859,10 @@ img.classList.add('loaded'); } }; - ImageLoader.lazyImage(img, url); + imageLoader.lazyImage(img, url); }, - renderDetailPageBackdrop: function (page, item) { + renderDetailPageBackdrop: function (page, item, imageLoader) { var screenWidth = screen.availWidth; @@ -877,7 +881,7 @@ }); itemBackdropElement.classList.remove('noBackdrop'); - ImageLoader.lazyImage(itemBackdropElement, imgUrl, false); + imageLoader.lazyImage(itemBackdropElement, imgUrl, false); hasbackdrop = true; } else if (item.ParentBackdropItemId && item.ParentBackdropImageTags && item.ParentBackdropImageTags.length) { @@ -890,7 +894,7 @@ }); itemBackdropElement.classList.remove('noBackdrop'); - ImageLoader.lazyImage(itemBackdropElement, imgUrl, false); + imageLoader.lazyImage(itemBackdropElement, imgUrl, false); hasbackdrop = true; } else { diff --git a/dashboard-ui/scripts/librarymenu.js b/dashboard-ui/scripts/librarymenu.js index 589bb87dda..29a621b175 100644 --- a/dashboard-ui/scripts/librarymenu.js +++ b/dashboard-ui/scripts/librarymenu.js @@ -1,4 +1,4 @@ -define(['imageLoader', 'layoutManager', 'viewManager', 'libraryBrowser', 'apphost', 'embyRouter', 'paper-icon-button-light', 'material-icons'], function (imageLoader, layoutManager, viewManager, libraryBrowser, appHost, embyRouter) { +define(['layoutManager', 'viewManager', 'libraryBrowser', 'embyRouter', 'paper-icon-button-light', 'material-icons'], function (layoutManager, viewManager, libraryBrowser, embyRouter) { 'use strict'; var enableBottomTabs = AppInfo.isNativeApp; @@ -53,12 +53,18 @@ document.querySelector('.skinHeader').appendChild(viewMenuBar); - imageLoader.lazyChildren(document.querySelector('.viewMenuBar')); + lazyLoadViewMenuBarImages(); document.dispatchEvent(new CustomEvent("headercreated", {})); bindMenuEvents(); } + function lazyLoadViewMenuBarImages() { + require(['imageLoader'], function (imageLoader) { + imageLoader.lazyChildren(document.querySelector('.viewMenuBar')); + }); + } + function onBackClick() { embyRouter.back(); @@ -140,13 +146,11 @@ } require(['apphost'], function (apphost) { - if (apphost.supports('voiceinput')) { header.querySelector('.headerVoiceButton').classList.remove('hide'); } else { header.querySelector('.headerVoiceButton').classList.add('hide'); } - }); } else { @@ -460,11 +464,13 @@ showBySelector('.lnkSyncToOtherDevices', false); } - if (user.Policy.EnableSync && appHost.supports('sync')) { - showBySelector('.lnkManageOffline', true); - } else { - showBySelector('.lnkManageOffline', false); - } + require(['apphost'], function (appHost) { + if (user.Policy.EnableSync && appHost.supports('sync')) { + showBySelector('.lnkManageOffline', true); + } else { + showBySelector('.lnkManageOffline', false); + } + }); var userId = Dashboard.getCurrentUserId(); diff --git a/dashboard-ui/scripts/livetvchannels.js b/dashboard-ui/scripts/livetvchannels.js index dbb7c55021..394a257716 100644 --- a/dashboard-ui/scripts/livetvchannels.js +++ b/dashboard-ui/scripts/livetvchannels.js @@ -1,4 +1,4 @@ -define(['cardBuilder', 'emby-itemscontainer'], function (cardBuilder) { +define(['cardBuilder', 'imageLoader', 'emby-itemscontainer'], function (cardBuilder, imageLoader) { 'use strict'; return function (view, params, tabContent) { @@ -68,7 +68,7 @@ var elem = context.querySelector('#items'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); var i, length; var elems; diff --git a/dashboard-ui/scripts/livetvitems.js b/dashboard-ui/scripts/livetvitems.js index b5c16a3f89..f0e99ada44 100644 --- a/dashboard-ui/scripts/livetvitems.js +++ b/dashboard-ui/scripts/livetvitems.js @@ -1,4 +1,4 @@ -define(['cardBuilder', 'apphost', 'emby-itemscontainer'], function (cardBuilder, appHost) { +define(['cardBuilder', 'apphost', 'imageLoader', 'emby-itemscontainer'], function (cardBuilder, appHost, imageLoader) { 'use strict'; return function (view, params) { @@ -83,7 +83,7 @@ var elem = page.querySelector('.itemsContainer'); elem.innerHTML = html + pagingHtml; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); var i, length; var elems; diff --git a/dashboard-ui/scripts/livetvrecordings.js b/dashboard-ui/scripts/livetvrecordings.js index 3df532bed7..7b1d3dda4a 100644 --- a/dashboard-ui/scripts/livetvrecordings.js +++ b/dashboard-ui/scripts/livetvrecordings.js @@ -1,4 +1,4 @@ -define(['components/categorysyncbuttons', 'cardBuilder', 'apphost', 'scripts/livetvcomponents', 'emby-button', 'listViewStyle', 'emby-itemscontainer'], function (categorysyncbuttons, cardBuilder, appHost) { +define(['components/categorysyncbuttons', 'cardBuilder', 'apphost', 'imageLoader', 'scripts/livetvcomponents', 'emby-button', 'listViewStyle', 'emby-itemscontainer'], function (categorysyncbuttons, cardBuilder, appHost, imageLoader) { 'use strict'; function getRecordingGroupHtml(group) { @@ -96,7 +96,7 @@ }, cardOptions || {})); - ImageLoader.lazyChildren(recordingItems); + imageLoader.lazyChildren(recordingItems); } function getBackdropShape() { diff --git a/dashboard-ui/scripts/livetvschedule.js b/dashboard-ui/scripts/livetvschedule.js index c4231c4a1a..ad932824be 100644 --- a/dashboard-ui/scripts/livetvschedule.js +++ b/dashboard-ui/scripts/livetvschedule.js @@ -1,4 +1,4 @@ -define(['cardBuilder', 'apphost', 'scripts/livetvcomponents', 'emby-button', 'emby-itemscontainer'], function (cardBuilder, appHost) { +define(['cardBuilder', 'apphost', 'imageLoader', 'scripts/livetvcomponents', 'emby-button', 'emby-itemscontainer'], function (cardBuilder, appHost, imageLoader) { 'use strict'; function enableScrollX() { @@ -40,7 +40,7 @@ }, cardOptions || {})); - ImageLoader.lazyChildren(recordingItems); + imageLoader.lazyChildren(recordingItems); } function getBackdropShape() { @@ -84,7 +84,7 @@ elem.querySelector('.recordingItems').innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); } diff --git a/dashboard-ui/scripts/livetvseriestimer.js b/dashboard-ui/scripts/livetvseriestimer.js index acf57c1f9e..cf5edcdc9f 100644 --- a/dashboard-ui/scripts/livetvseriestimer.js +++ b/dashboard-ui/scripts/livetvseriestimer.js @@ -1,4 +1,4 @@ -define(['datetime', 'dom', 'seriesRecordingEditor', 'listView', 'emby-itemscontainer'], function (datetime, dom, seriesRecordingEditor, listView) { +define(['datetime', 'dom', 'seriesRecordingEditor', 'listView', 'imageLoader', 'emby-itemscontainer'], function (datetime, dom, seriesRecordingEditor, listView, imageLoader) { 'use strict'; return function (view, params) { @@ -55,7 +55,7 @@ var scheduleTab = page.querySelector('.scheduleTab'); scheduleTab.innerHTML = html; - ImageLoader.lazyChildren(scheduleTab); + imageLoader.lazyChildren(scheduleTab); }); } diff --git a/dashboard-ui/scripts/livetvsuggested.js b/dashboard-ui/scripts/livetvsuggested.js index 495ad3ac32..b387aa1dea 100644 --- a/dashboard-ui/scripts/livetvsuggested.js +++ b/dashboard-ui/scripts/livetvsuggested.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'cardBuilder', 'apphost', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, cardBuilder, appHost) { +define(['libraryBrowser', 'cardBuilder', 'apphost', 'imageLoader', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, cardBuilder, appHost, imageLoader) { 'use strict'; function enableScrollX() { @@ -37,7 +37,7 @@ }, cardOptions || {})); - ImageLoader.lazyChildren(recordingItems); + imageLoader.lazyChildren(recordingItems); } function getBackdropShape() { @@ -225,7 +225,7 @@ var elem = page.querySelector('.' + sectionClass); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); } return function (view, params) { diff --git a/dashboard-ui/scripts/mediacontroller.js b/dashboard-ui/scripts/mediacontroller.js index dcc978227c..98c439eaa8 100644 --- a/dashboard-ui/scripts/mediacontroller.js +++ b/dashboard-ui/scripts/mediacontroller.js @@ -1,4 +1,4 @@ -define(['appStorage', 'events', 'browser'], function (appStorage, events, browser) { +define(['appSettings', 'events', 'browser'], function (appSettings, events, browser) { 'use strict'; var currentDisplayInfo; @@ -512,7 +512,7 @@ if (enabled != null) { var val = enabled ? '1' : '0'; - appStorage.setItem('displaymirror--' + Dashboard.getCurrentUserId(), val); + appSettings.set('displaymirror--' + Dashboard.getCurrentUserId(), val); if (enabled) { mirrorIfEnabled(); @@ -520,7 +520,7 @@ return; } - return (appStorage.getItem('displaymirror--' + Dashboard.getCurrentUserId()) || '') != '0'; + return (appSettings.get('displaymirror--' + Dashboard.getCurrentUserId()) || '') != '0'; }; self.play = function (options) { diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js index 09bdbd5846..4fe4d9174d 100644 --- a/dashboard-ui/scripts/mediaplayer-video.js +++ b/dashboard-ui/scripts/mediaplayer-video.js @@ -1,4 +1,4 @@ -define(['appSettings', 'datetime', 'mediaInfo', 'browser', 'scrollStyles', 'paper-icon-button-light'], function (appSettings, datetime, mediaInfo, browser) { +define(['appSettings', 'datetime', 'mediaInfo', 'browser', 'imageLoader', 'scrollStyles', 'paper-icon-button-light'], function (appSettings, datetime, mediaInfo, browser, imageLoader) { 'use strict'; function createVideoPlayer(self) { @@ -426,11 +426,11 @@ width: 160, shape: 'portrait' }); - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); } else { - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); } function onTabButtonClick() { diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index c5be68aaa2..dde1849b3b 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -1,4 +1,4 @@ -define(['appSettings', 'userSettings', 'appStorage', 'datetime', 'browser'], function (appSettings, userSettings, appStorage, datetime, browser) { +define(['appSettings', 'userSettings', 'datetime', 'browser'], function (appSettings, userSettings, datetime, browser) { 'use strict'; function mediaPlayer() { @@ -1095,13 +1095,13 @@ define(['appSettings', 'userSettings', 'appStorage', 'datetime', 'browser'], fun self.saveVolume = function (val) { if (val) { - appStorage.setItem("volume", val); + appSettings.set("volume", val); } }; self.getSavedVolume = function () { - return appStorage.getItem("volume") || 0.5; + return appSettings.get("volume") || 0.5; }; self.shuffle = function (id) { diff --git a/dashboard-ui/scripts/moviesrecommended.js b/dashboard-ui/scripts/moviesrecommended.js index 57be1e7a05..4599c1f9f6 100644 --- a/dashboard-ui/scripts/moviesrecommended.js +++ b/dashboard-ui/scripts/moviesrecommended.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'components/categorysyncbuttons', 'cardBuilder', 'dom', 'apphost', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, categorysyncbuttons, cardBuilder, dom, appHost) { +define(['libraryBrowser', 'components/categorysyncbuttons', 'cardBuilder', 'dom', 'apphost', 'imageLoader', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, categorysyncbuttons, cardBuilder, dom, appHost, imageLoader) { 'use strict'; function enableScrollX() { @@ -170,7 +170,7 @@ var recs = page.querySelector('.recommendations'); recs.innerHTML = html; - ImageLoader.lazyChildren(recs); + imageLoader.lazyChildren(recs); }); } diff --git a/dashboard-ui/scripts/musicgenres.js b/dashboard-ui/scripts/musicgenres.js index a798f03a4e..ff80078bdf 100644 --- a/dashboard-ui/scripts/musicgenres.js +++ b/dashboard-ui/scripts/musicgenres.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'cardBuilder', 'apphost'], function (libraryBrowser, cardBuilder, appHost) { +define(['libraryBrowser', 'cardBuilder', 'apphost', 'imageLoader'], function (libraryBrowser, cardBuilder, appHost, imageLoader) { 'use strict'; return function (view, params, tabContent) { @@ -111,7 +111,7 @@ var elem = context.querySelector('#items'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); libraryBrowser.saveQueryValues(getSavedQueryKey(), query); diff --git a/dashboard-ui/scripts/musicrecommended.js b/dashboard-ui/scripts/musicrecommended.js index ad1134935b..bc4ee80cdd 100644 --- a/dashboard-ui/scripts/musicrecommended.js +++ b/dashboard-ui/scripts/musicrecommended.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'cardBuilder', 'dom', 'apphost', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, cardBuilder, dom, appHost) { +define(['libraryBrowser', 'cardBuilder', 'dom', 'apphost', 'imageLoader', 'libraryMenu', 'scrollStyles', 'emby-itemscontainer', 'emby-tabs', 'emby-button'], function (libraryBrowser, cardBuilder, dom, appHost, imageLoader, libraryMenu) { 'use strict'; function itemsPerRow() { @@ -53,7 +53,7 @@ vibrant: supportsImageAnalysis }); - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); Dashboard.hideLoadingMsg(); }); @@ -105,7 +105,7 @@ vibrant: supportsImageAnalysis }); - ImageLoader.lazyChildren(itemsContainer); + imageLoader.lazyChildren(itemsContainer); }); @@ -157,7 +157,7 @@ vibrant: supportsImageAnalysis }); - ImageLoader.lazyChildren(itemsContainer); + imageLoader.lazyChildren(itemsContainer); }); @@ -205,14 +205,12 @@ vibrant: supportsImageAnalysis }); - ImageLoader.lazyChildren(itemsContainer); + imageLoader.lazyChildren(itemsContainer); }); } - function loadSuggestionsTab(page, tabContent) { - - var parentId = LibraryMenu.getTopParentId(); + function loadSuggestionsTab(page, tabContent, parentId) { console.log('loadSuggestionsTab'); loadLatest(tabContent, parentId); @@ -227,31 +225,6 @@ }); } - pageIdOn('pagebeforeshow', "musicRecommendedPage", function () { - - var page = this; - - if (!page.getAttribute('data-title')) { - - var parentId = LibraryMenu.getTopParentId(); - - if (parentId) { - - ApiClient.getItem(Dashboard.getCurrentUserId(), parentId).then(function (item) { - - page.setAttribute('data-title', item.Name); - LibraryMenu.setTitle(item.Name); - }); - - - } else { - page.setAttribute('data-title', Globalize.translate('TabMusic')); - LibraryMenu.setTitle(Globalize.translate('TabMusic')); - } - } - - }); - return function (view, params) { var self = this; @@ -261,7 +234,7 @@ Dashboard.showLoadingMsg(); var tabContent = view.querySelector('.pageTabContent[data-index=\'' + 0 + '\']'); - loadSuggestionsTab(view, tabContent); + loadSuggestionsTab(view, tabContent, params.topParentId); } function enableScrollX() { @@ -381,6 +354,28 @@ loadTab(view, parseInt(e.detail.selectedTabIndex)); }); + view.addEventListener('viewbeforeshow', function (e) { + + if (!view.getAttribute('data-title')) { + + var parentId = params.topParentId; + + if (parentId) { + + ApiClient.getItem(Dashboard.getCurrentUserId(), parentId).then(function (item) { + + view.setAttribute('data-title', item.Name); + libraryMenu.setTitle(item.Name); + }); + + + } else { + view.setAttribute('data-title', Globalize.translate('TabMusic')); + libraryMenu.setTitle(Globalize.translate('TabMusic')); + } + } + }); + require(["headroom-window"], function (headroom) { headroom.add(viewTabs); self.headroom = headroom; diff --git a/dashboard-ui/scripts/nowplayingbar.js b/dashboard-ui/scripts/nowplayingbar.js index c09efa0184..531ac33ea2 100644 --- a/dashboard-ui/scripts/nowplayingbar.js +++ b/dashboard-ui/scripts/nowplayingbar.js @@ -1,4 +1,4 @@ -define(['datetime', 'userdataButtons', 'itemHelper', 'events', 'browser', 'paper-icon-button-light'], function (datetime, userdataButtons, itemHelper, events, browser) { +define(['datetime', 'userdataButtons', 'itemHelper', 'events', 'browser', 'imageLoader', 'paper-icon-button-light'], function (datetime, userdataButtons, itemHelper, events, browser, imageLoader) { 'use strict'; var currentPlayer; @@ -593,7 +593,7 @@ currentImgUrl = url; - ImageLoader.lazyImage(nowPlayingImageElement, url); + imageLoader.lazyImage(nowPlayingImageElement, url); if (nowPlayingItem.Id) { ApiClient.getItem(Dashboard.getCurrentUserId(), nowPlayingItem.Id).then(function (item) { diff --git a/dashboard-ui/scripts/photos.js b/dashboard-ui/scripts/photos.js index e9e2a245a3..57f823ef17 100644 --- a/dashboard-ui/scripts/photos.js +++ b/dashboard-ui/scripts/photos.js @@ -1,4 +1,4 @@ -define(['jQuery', 'cardBuilder', 'emby-itemscontainer'], function ($, cardBuilder) { +define(['jQuery', 'cardBuilder', 'imageLoader', 'emby-itemscontainer'], function ($, cardBuilder, imageLoader) { 'use strict'; var view = 'Poster'; @@ -73,7 +73,7 @@ var elem = page.querySelector('.itemsContainer'); elem.innerHTML = html + pagingHtml; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; diff --git a/dashboard-ui/scripts/playlistedit.js b/dashboard-ui/scripts/playlistedit.js index 956e1fec8c..67524f392a 100644 --- a/dashboard-ui/scripts/playlistedit.js +++ b/dashboard-ui/scripts/playlistedit.js @@ -1,4 +1,4 @@ -define(['jQuery', 'listView'], function ($, listView) { +define(['jQuery', 'listView', 'imageLoader'], function ($, listView, imageLoader) { 'use strict'; var data = {}; @@ -74,7 +74,7 @@ elem.classList.remove('vertical-wrap'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); $('.btnNextPage', elem).on('click', function () { query.StartIndex += query.Limit; diff --git a/dashboard-ui/scripts/playlists.js b/dashboard-ui/scripts/playlists.js index 555e760fdf..97edd83f55 100644 --- a/dashboard-ui/scripts/playlists.js +++ b/dashboard-ui/scripts/playlists.js @@ -1,4 +1,4 @@ -define(['listView', 'cardBuilder', 'libraryBrowser', 'apphost', 'emby-itemscontainer'], function (listView, cardBuilder, libraryBrowser, appHost) { +define(['listView', 'cardBuilder', 'libraryBrowser', 'apphost', 'imageLoader', 'emby-itemscontainer'], function (listView, cardBuilder, libraryBrowser, appHost, imageLoader) { 'use strict'; return function (view, params) { @@ -168,7 +168,7 @@ var elem = view.querySelector('.itemsContainer'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); var btnNextPage = view.querySelector('.btnNextPage'); if (btnNextPage) { diff --git a/dashboard-ui/scripts/searchpage.js b/dashboard-ui/scripts/searchpage.js index 727eeb6c5c..ad039ca99d 100644 --- a/dashboard-ui/scripts/searchpage.js +++ b/dashboard-ui/scripts/searchpage.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'focusManager', 'embyRouter', 'cardBuilder', 'emby-input', 'paper-icon-button-light', 'material-icons', 'emby-itemscontainer'], function (libraryBrowser, focusManager, embyRouter, cardBuilder) { +define(['libraryBrowser', 'focusManager', 'embyRouter', 'cardBuilder', 'imageLoader', 'emby-input', 'paper-icon-button-light', 'material-icons', 'emby-itemscontainer'], function (libraryBrowser, focusManager, embyRouter, cardBuilder, imageLoader) { 'use strict'; function loadSuggestions(page) { @@ -131,7 +131,7 @@ itemsContainer.innerHTML = html; searchResults.classList.remove('hide'); textSuggestions.classList.add('hide'); - ImageLoader.lazyChildren(itemsContainer); + imageLoader.lazyChildren(itemsContainer); } function requestSearchHintsForOverlay(searchTerm) { diff --git a/dashboard-ui/scripts/secondaryitems.js b/dashboard-ui/scripts/secondaryitems.js index f296e4da65..4e0938449d 100644 --- a/dashboard-ui/scripts/secondaryitems.js +++ b/dashboard-ui/scripts/secondaryitems.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'listView', 'cardBuilder', 'emby-itemscontainer'], function (libraryBrowser, listView, cardBuilder) { +define(['libraryBrowser', 'listView', 'cardBuilder', 'imageLoader', 'emby-itemscontainer'], function (libraryBrowser, listView, cardBuilder, imageLoader) { 'use strict'; return function (view, params) { @@ -186,7 +186,7 @@ } itemsContainer.innerHTML = html + pagingHtml; - ImageLoader.lazyChildren(itemsContainer); + imageLoader.lazyChildren(itemsContainer); var i, length; var elems; diff --git a/dashboard-ui/scripts/sections.js b/dashboard-ui/scripts/sections.js index 9026dbced0..ca866238ab 100644 --- a/dashboard-ui/scripts/sections.js +++ b/dashboard-ui/scripts/sections.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'cardBuilder', 'appSettings', 'components/groupedcards', 'dom', 'apphost', 'scrollStyles', 'emby-button', 'paper-icon-button-light', 'emby-itemscontainer'], function (libraryBrowser, cardBuilder, appSettings, groupedcards, dom, appHost) { +define(['libraryBrowser', 'cardBuilder', 'appSettings', 'components/groupedcards', 'dom', 'apphost', 'imageLoader', 'scrollStyles', 'emby-button', 'paper-icon-button-light', 'emby-itemscontainer'], function (libraryBrowser, cardBuilder, appSettings, groupedcards, dom, appHost, imageLoader) { 'use strict'; function getUserViews(userId) { @@ -320,7 +320,7 @@ } elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); } @@ -392,7 +392,7 @@ } elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); } @@ -447,7 +447,7 @@ return getAppInfo().then(function (infoHtml) { elem.innerHTML = html + infoHtml; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); }); } @@ -522,7 +522,7 @@ elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); } @@ -571,7 +571,7 @@ elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); } @@ -649,7 +649,7 @@ var elem = page.querySelector('#channel' + channel.Id + ''); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); } @@ -703,7 +703,7 @@ html += ''; elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); }); } diff --git a/dashboard-ui/scripts/shared.js b/dashboard-ui/scripts/shared.js index 7518fb6803..c81e8c8bcb 100644 --- a/dashboard-ui/scripts/shared.js +++ b/dashboard-ui/scripts/shared.js @@ -1,4 +1,4 @@ -define(['jQuery', 'libraryBrowser'], function ($, libraryBrowser) { +define(['jQuery', 'libraryBrowser', 'imageLoader', 'indicators'], function ($, libraryBrowser, imageLoader, indicators) { 'use strict'; var currentItem; @@ -21,7 +21,7 @@ libraryBrowser.renderName(item, $('.itemName', page)[0], false); libraryBrowser.renderParentName(item, $('.parentName', page)[0]); - libraryBrowser.renderDetailPageBackdrop(page, item); + libraryBrowser.renderDetailPageBackdrop(page, item, imageLoader); renderImage(page, item); @@ -59,7 +59,7 @@ } function renderImage(page, item) { - libraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, false); + libraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, false, null, imageLoader, indicators); } $(document).on('pageinit', "#publicSharedItemPage", function () { diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index c5affa8860..1b8477ef1b 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1235,6 +1235,8 @@ var AppInfo = {}; define("metadataEditor", [embyWebComponentsBowerPath + "/metadataeditor/metadataeditor"], returnFirstDependency); define("personEditor", [embyWebComponentsBowerPath + "/metadataeditor/personeditor"], returnFirstDependency); + define("libraryMenu", ["scripts/librarymenu"], returnFirstDependency); + define("emby-collapse", [embyWebComponentsBowerPath + "/emby-collapse/emby-collapse"], returnFirstDependency); define("emby-button", [embyWebComponentsBowerPath + "/emby-button/emby-button"], returnFirstDependency); define("emby-itemscontainer", [embyWebComponentsBowerPath + "/emby-itemscontainer/emby-itemscontainer"], returnFirstDependency); @@ -2652,7 +2654,6 @@ var AppInfo = {}; var deps = []; - deps.push('imageLoader'); deps.push('embyRouter'); if (!(AppInfo.isNativeApp && browserInfo.android)) { @@ -2676,16 +2677,14 @@ var AppInfo = {}; } } - deps.push('scripts/librarymenu'); + deps.push('libraryMenu'); console.log('onAppReady - loading dependencies'); - require(deps, function (imageLoader, pageObjects) { + require(deps, function (pageObjects) { console.log('Loaded dependencies in onAppReady'); - window.ImageLoader = imageLoader; - window.Emby = {}; window.Emby.Page = pageObjects; defineCoreRoutes(); diff --git a/dashboard-ui/scripts/syncjob.js b/dashboard-ui/scripts/syncjob.js index de04750380..d89c3a7842 100644 --- a/dashboard-ui/scripts/syncjob.js +++ b/dashboard-ui/scripts/syncjob.js @@ -1,4 +1,4 @@ -define(['datetime', 'dom', 'listViewStyle', 'paper-icon-button-light', 'emby-button'], function (datetime, dom) { +define(['datetime', 'dom', 'imageLoader', 'listViewStyle', 'paper-icon-button-light', 'emby-button'], function (datetime, dom, imageLoader) { 'use strict'; function renderJob(page, job, dialogOptions) { @@ -119,7 +119,7 @@ var elem = page.querySelector('.jobItems'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); } function parentWithClass(elem, className) { diff --git a/dashboard-ui/scripts/tvlatest.js b/dashboard-ui/scripts/tvlatest.js index 51cc4c99c6..3b92833fec 100644 --- a/dashboard-ui/scripts/tvlatest.js +++ b/dashboard-ui/scripts/tvlatest.js @@ -1,4 +1,4 @@ -define(['components/categorysyncbuttons', 'components/groupedcards', 'cardBuilder', 'apphost'], function (categorysyncbuttons, groupedcards, cardBuilder, appHost) { +define(['components/categorysyncbuttons', 'components/groupedcards', 'cardBuilder', 'apphost', 'imageLoader'], function (categorysyncbuttons, groupedcards, cardBuilder, appHost, imageLoader) { 'use strict'; function getView() { @@ -56,7 +56,7 @@ var elem = context.querySelector('#latestEpisodes'); elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); Dashboard.hideLoadingMsg(); }); diff --git a/dashboard-ui/scripts/tvupcoming.js b/dashboard-ui/scripts/tvupcoming.js index db5441a42c..4e245b7a2e 100644 --- a/dashboard-ui/scripts/tvupcoming.js +++ b/dashboard-ui/scripts/tvupcoming.js @@ -1,4 +1,4 @@ -define(['datetime', 'libraryBrowser', 'cardBuilder', 'apphost', 'scrollStyles', 'emby-itemscontainer'], function (datetime, libraryBrowser, cardBuilder, appHost) { +define(['datetime', 'libraryBrowser', 'cardBuilder', 'apphost', 'imageLoader', 'scrollStyles', 'emby-itemscontainer'], function (datetime, libraryBrowser, cardBuilder, appHost, imageLoader) { 'use strict'; function getUpcomingPromise(context, params) { @@ -134,7 +134,7 @@ } elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + imageLoader.lazyChildren(elem); } return function (view, params, tabContent) { diff --git a/dashboard-ui/thirdparty/paper-button-style.css b/dashboard-ui/thirdparty/paper-button-style.css index 5a38fc379b..7236a1a059 100644 --- a/dashboard-ui/thirdparty/paper-button-style.css +++ b/dashboard-ui/thirdparty/paper-button-style.css @@ -79,14 +79,6 @@ button.emby-button.mini:not(.fab) { background-color: #2b2b2b; } -div.dialogHeader { - padding: .35em .5em; - display: flex; - align-items: center; - line-height: normal; - font-size: 110%; -} - .ui-body-a div.formDialogHeader { background-color: #52B54B; color: #fff;