diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index dfece1283f..6e330c1187 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.1.96", - "_release": "1.1.96", + "version": "1.1.98", + "_release": "1.1.98", "_resolution": { "type": "version", - "tag": "1.1.96", - "commit": "81f0ec7b5bca701668dd1e643d0a4381b414d771" + "tag": "1.1.98", + "commit": "2c4731c06ef514ea295b8e9528d14a1de822d5e3" }, "_source": "git://github.com/MediaBrowser/emby-webcomponents.git", "_target": "~1.1.5", diff --git a/dashboard-ui/bower_components/emby-webcomponents/appsettings.js b/dashboard-ui/bower_components/emby-webcomponents/appsettings.js index 40c663534a..e5fd7aca26 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/appsettings.js +++ b/dashboard-ui/bower_components/emby-webcomponents/appsettings.js @@ -1,4 +1,4 @@ -define(['appStorage'], function (appStorage) { +define(['appStorage', 'events'], function (appStorage, events) { function getKey(name, userId) { @@ -9,74 +9,86 @@ define(['appStorage'], function (appStorage) { return name; } - function get(name, userId) { + return new function () { - return appStorage.getItem(getKey(name, userId)); - } + var self = this; - function set(name, value, userId) { - appStorage.setItem(getKey(name, userId), value); - } - - return { - enableAutomaticBitrateDetection: function (val) { + self.enableAutomaticBitrateDetection = function (val) { if (val != null) { - set('enableAutomaticBitrateDetection', val.toString()); + self.set('enableAutomaticBitrateDetection', val.toString()); } - return get('enableAutomaticBitrateDetection') != 'false'; - }, - maxStreamingBitrate: function (val) { + return self.get('enableAutomaticBitrateDetection') != 'false'; + }; + + self.maxStreamingBitrate = function (val) { if (val != null) { - set('preferredVideoBitrate', val); + self.set('preferredVideoBitrate', val); } - return parseInt(get('preferredVideoBitrate') || '') || 1500000; - }, - maxChromecastBitrate: function (val) { + return parseInt(self.get('preferredVideoBitrate') || '') || 1500000; + }; + + self.maxChromecastBitrate = function (val) { if (val != null) { - set('chromecastBitrate1', val); + self.set('chromecastBitrate1', val); } - val = get('chromecastBitrate1'); + val = self.get('chromecastBitrate1'); return val ? parseInt(val) : null; - }, - syncOnlyOnWifi: function (val) { + }; + + self.syncOnlyOnWifi = function (val) { if (val != null) { - set('syncOnlyOnWifi', val.toString()); + self.set('syncOnlyOnWifi', val.toString()); } - return get('syncOnlyOnWifi') != 'false'; - }, - syncPath: function (val) { + return self.get('syncOnlyOnWifi') != 'false'; + }; + + self.syncPath = function (val) { if (val != null) { - set('syncPath', val); + self.set('syncPath', val); } - return get('syncPath'); - }, + return self.get('syncPath'); + }; - cameraUploadServers: function (val) { + self.cameraUploadServers = function (val) { if (val != null) { - set('cameraUploadServers', val.join(',')); + self.set('cameraUploadServers', val.join(',')); } - val = get('cameraUploadServers'); + val = self.get('cameraUploadServers'); if (val) { return val.split(','); } return []; - }, - set: set, - get: get - }; + }; + + self.set = function (name, value, userId) { + + var currentValue = self.get(name, userId); + + appStorage.setItem(getKey(name, userId), value); + + if (currentValue != value) { + events.trigger(self, 'change', [name]); + } + }; + + self.get = function (name, userId) { + + return appStorage.getItem(getKey(name, userId)); + }; + }(); }); \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css index cd4c85f2fa..eb34d43865 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css +++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css @@ -25,6 +25,12 @@ width: auto; } + .dialog.centeredDialog { + top: 50%; + left: 50%; + max-width: 70%; + } + .dialog.scrollY { overflow-y: auto; -webkit-overflow-scrolling: touch; diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js index c1b2f64097..9aab8f60bd 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js +++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js @@ -71,8 +71,7 @@ var center = !dlg.classList.contains('fixedSize'); if (center) { - dlg.style.left = '50%'; - dlg.style.top = '50%'; + dlg.classList.add('centeredDialog'); } dlg.classList.remove('hide'); @@ -216,22 +215,22 @@ } } - function scaleUp(elem) { + function scaleUp(elem, onFinish) { var keyframes = [ { transform: 'scale(0)', offset: 0 }, { transform: 'scale(1,1)', offset: 1 }]; var timing = elem.animationConfig.entry.timing; - return elem.animate(keyframes, timing); + return elem.animate(keyframes, timing).onfinish = onFinish; } - function fadeIn(elem) { + function fadeIn(elem, onFinish) { var keyframes = [ { opacity: '0', offset: 0 }, { opacity: '1', offset: 1 }]; var timing = elem.animationConfig.entry.timing; - return elem.animate(keyframes, timing); + return elem.animate(keyframes, timing).onfinish = onFinish; } function fadeOut(elem) { @@ -269,13 +268,17 @@ function animateDialogOpen(dlg) { + var onAnimationFinish = function() { + }; + if (!dlg.animationConfig || !dlg.animate) { + onAnimationFinish(); return; } if (dlg.animationConfig.entry.name == 'fade-in-animation') { - fadeIn(dlg); + fadeIn(dlg, onAnimationFinish); } else if (dlg.animationConfig.entry.name == 'scale-up-animation') { - scaleUp(dlg); + scaleUp(dlg, onAnimationFinish); } } diff --git a/dashboard-ui/bower_components/emby-webcomponents/usersettings.js b/dashboard-ui/bower_components/emby-webcomponents/usersettings.js index a3c060206b..7b693600b3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/usersettings.js +++ b/dashboard-ui/bower_components/emby-webcomponents/usersettings.js @@ -11,7 +11,7 @@ define(['appSettings', 'apiClientResolver', 'events'], function (appsettings, ap return null; } - var obj = function () { + return new function () { var self = this; @@ -94,7 +94,5 @@ define(['appSettings', 'apiClientResolver', 'events'], function (appsettings, ap }); } }; - }; - - return new obj(); + }(); }); \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-behaviors/.bower.json b/dashboard-ui/bower_components/iron-behaviors/.bower.json index 0b0736d6a6..85e8252b32 100644 --- a/dashboard-ui/bower_components/iron-behaviors/.bower.json +++ b/dashboard-ui/bower_components/iron-behaviors/.bower.json @@ -29,14 +29,14 @@ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, "ignore": [], - "homepage": "https://github.com/polymerelements/iron-behaviors", + "homepage": "https://github.com/PolymerElements/iron-behaviors", "_release": "1.0.13", "_resolution": { "type": "version", "tag": "v1.0.13", "commit": "a7bc3428a6da2beed21987b3a8028206826a12bc" }, - "_source": "git://github.com/polymerelements/iron-behaviors.git", + "_source": "git://github.com/PolymerElements/iron-behaviors.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/iron-behaviors" + "_originalSource": "PolymerElements/iron-behaviors" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-flex-layout/.bower.json b/dashboard-ui/bower_components/iron-flex-layout/.bower.json index f60160480a..c6c5c62b6b 100644 --- a/dashboard-ui/bower_components/iron-flex-layout/.bower.json +++ b/dashboard-ui/bower_components/iron-flex-layout/.bower.json @@ -36,6 +36,6 @@ "commit": "6d88f29f3a7181daa2a5c7f678de44f0a0e6a717" }, "_source": "git://github.com/PolymerElements/iron-flex-layout.git", - "_target": "^1.3.1", + "_target": "^1.0.0", "_originalSource": "PolymerElements/iron-flex-layout" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-icon/.bower.json b/dashboard-ui/bower_components/iron-icon/.bower.json index f0167baf13..9784e3a3b7 100644 --- a/dashboard-ui/bower_components/iron-icon/.bower.json +++ b/dashboard-ui/bower_components/iron-icon/.bower.json @@ -32,14 +32,14 @@ "web-component-tester": "^4.0.0", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "homepage": "https://github.com/polymerelements/iron-icon", + "homepage": "https://github.com/PolymerElements/iron-icon", "_release": "1.0.8", "_resolution": { "type": "version", "tag": "v1.0.8", "commit": "f36b38928849ef3853db727faa8c9ef104d611eb" }, - "_source": "git://github.com/polymerelements/iron-icon.git", + "_source": "git://github.com/PolymerElements/iron-icon.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/iron-icon" + "_originalSource": "PolymerElements/iron-icon" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-selector/.bower.json b/dashboard-ui/bower_components/iron-selector/.bower.json index 66d7d54b0f..c6b481c2cb 100644 --- a/dashboard-ui/bower_components/iron-selector/.bower.json +++ b/dashboard-ui/bower_components/iron-selector/.bower.json @@ -36,7 +36,7 @@ "tag": "v1.3.0", "commit": "1662093611cda3fd29125cdab94a61d3d88093da" }, - "_source": "git://github.com/PolymerElements/iron-selector.git", + "_source": "git://github.com/polymerelements/iron-selector.git", "_target": "^1.0.0", - "_originalSource": "PolymerElements/iron-selector" + "_originalSource": "polymerelements/iron-selector" } \ No newline at end of file diff --git a/dashboard-ui/scripts/addpluginpage.js b/dashboard-ui/scripts/addpluginpage.js index 0fdd040a3c..b987fc0e66 100644 --- a/dashboard-ui/scripts/addpluginpage.js +++ b/dashboard-ui/scripts/addpluginpage.js @@ -234,6 +234,8 @@ Dashboard.showLoadingMsg(); + page.querySelector('#btnInstall').disabled = true; + ApiClient.installPlugin(packageName, guid, updateClass, version).then(function () { Dashboard.hideLoadingMsg(); @@ -277,8 +279,6 @@ var page = $(this).parents('#addPluginPage')[0]; - page.querySelector('#btnInstall').disabled = true; - var name = getParameterByName('name'); var guid = getParameterByName('guid');