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;