diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index f0bf96b10d..28b7579636 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -16,12 +16,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.2.13", - "_release": "1.2.13", + "version": "1.2.17", + "_release": "1.2.17", "_resolution": { "type": "version", - "tag": "1.2.13", - "commit": "23c88db1b8b062fa6b738b724c2360d398164cad" + "tag": "1.2.17", + "commit": "3b194aa81bb6bb5303e5e42a4687f6a3b486a3eb" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.0", diff --git a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js index 1ad3542e37..d53c7f5d1b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js @@ -5,13 +5,17 @@ define([], function () { var element = view.querySelector('*[autofocus]'); if (element) { focus(element); + return element; } else if (defaultToFirst !== false) { element = getFocusableElements(view)[0]; if (element) { focus(element); + return element; } } + + return null; } function focus(element) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js b/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js index df108a9322..62b2be20bd 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/layoutmanager.js @@ -1,4 +1,4 @@ -define(['browser'], function (browser) { +define(['browser', 'appSettings'], function (browser, appSettings) { function setLayout(self, layout, selectedLayout) { @@ -15,26 +15,50 @@ define(['browser'], function (browser) { var self = this; - self.layout = function (layout) { + self.setLayout = function (layout, save) { - setLayout(self, 'mobile', layout); - setLayout(self, 'tv', layout); - setLayout(self, 'desktop', layout); + if (!layout || layout == 'auto') { + self.autoLayout(); + + if (save !== false) { + appSettings.set('layout', ''); + } + } else { + setLayout(self, 'mobile', layout); + setLayout(self, 'tv', layout); + setLayout(self, 'desktop', layout); + + if (save !== false) { + appSettings.set('layout', layout); + } + } + }; + + self.getSavedLayout = function (layout) { + + return appSettings.get('layout'); }; self.autoLayout = function () { // Take a guess at initial layout. The consuming app can override if (browser.mobile) { - self.layout('mobile'); + self.setLayout('mobile', false); } else if (browser.tv) { - self.layout('tv'); + self.setLayout('tv', false); } else { - self.layout('desktop'); + self.setLayout(self.undetectedAutoLayout || 'desktop', false); } }; - self.autoLayout(); + self.init = function () { + var saved = self.getSavedLayout(); + if (saved) { + self.setLayout(saved, false); + } else { + self.autoLayout(); + } + }; }; return new layoutManager();