diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index ccb69ae926..41d6b407e2 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.471", - "_release": "1.4.471", + "version": "1.4.473", + "_release": "1.4.473", "_resolution": { "type": "version", - "tag": "1.4.471", - "commit": "8b98518723cdf21d7b4a955f95d8c8e154b39e19" + "tag": "1.4.473", + "commit": "5480407d7cc7201e3310cb892c5d2779507d7240" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.1", diff --git a/dashboard-ui/bower_components/emby-webcomponents/chromecastplayer.js b/dashboard-ui/bower_components/emby-webcomponents/chromecastplayer.js index 5cc38b3ec5..c394f680e9 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/chromecastplayer.js +++ b/dashboard-ui/bower_components/emby-webcomponents/chromecastplayer.js @@ -753,9 +753,11 @@ options: {}, command: 'Mute' }); - //castPlayer.setMute(true); } else { - self.setVolume(self.getVolume() + 2); + castPlayer.sendMessage({ + options: {}, + command: 'Unmute' + }); } }; @@ -776,11 +778,10 @@ self.toggleMute = function () { - if (self.isMuted()) { - self.setMute(false); - } else { - self.setMute(true); - } + castPlayer.sendMessage({ + options: {}, + command: 'ToggleMute' + }); }; self.getTargets = function () { diff --git a/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js b/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js index 045c571878..6173c62c0f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js @@ -896,6 +896,8 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g self.seek = function (ticks, player) { + ticks = Math.max(0, ticks); + player = player || currentPlayer; if (player && !enableLocalPlaylistManagement(player)) { return player.seek(ticks); @@ -960,15 +962,10 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g // Go back 15 seconds ticks += userSettings.skipForwardLength() * 10000; - var data = getPlayerData(player).streamInfo; - var mediaSource = data.mediaSource; + var runTimeTicks = self.duration(player) || 0; - if (mediaSource) { - var runTimeTicks = mediaSource.RunTimeTicks || 0; - - if (ticks < runTimeTicks) { - self.seek(ticks); - } + if (ticks < runTimeTicks) { + self.seek(ticks); } }; diff --git a/dashboard-ui/bower_components/emby-webcomponents/registrationservices/registrationservices.js b/dashboard-ui/bower_components/emby-webcomponents/registrationservices/registrationservices.js index 5fefbc0ac9..6908c3b947 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/registrationservices/registrationservices.js +++ b/dashboard-ui/bower_components/emby-webcomponents/registrationservices/registrationservices.js @@ -3,7 +3,6 @@ var currentDisplayingProductInfos = []; var currentDisplayingResolve = null; - var currentDisplayingResolveResult = {}; function alertText(options) { return new Promise(function (resolve, reject) { @@ -22,7 +21,6 @@ showInAppPurchaseElement(subscriptionOptions, unlockableProductInfo, dialogOptions, resolve, reject); currentDisplayingResolve = resolve; - currentDisplayingResolveResult = {}; }); }); } @@ -69,7 +67,7 @@ html += ''; - var seconds = 12; + var seconds = 16; html += '
'; @@ -155,14 +153,14 @@ return Promise.resolve(); } - var settingsKey = 'periodicmessage10-' + feature; + var settingsKey = 'periodicmessage11-' + feature; var lastMessage = parseInt(appSettings.get(settingsKey) || '0'); if (!lastMessage) { // Don't show on the very first playback attempt - appSettings.set(settingsKey, new Date().getTime() - intervalMs); + appSettings.set(settingsKey, new Date().getTime() - (intervalMs / 2)); return Promise.resolve(); } @@ -263,7 +261,6 @@ function clearCurrentDisplayingInfo() { currentDisplayingProductInfos = []; currentDisplayingResolve = null; - currentDisplayingResolveResult = {}; } function showExternalPremiereInfo() { @@ -382,11 +379,14 @@ btnPurchases[i].addEventListener('click', showExternalPremiereInfo); } + var rejected = false; + var resolveWithTimeLimit = false; + var btnPlayMinute = dlg.querySelector('.btnPlayMinute'); if (btnPlayMinute) { btnPlayMinute.addEventListener('click', function () { - currentDisplayingResolveResult.enableTimeLimit = true; + resolveWithTimeLimit = true; dialogHelper.close(dlg); }); } @@ -397,8 +397,6 @@ loading.hide(); - var rejected = false; - function onCloseButtonClick() { rejected = true; @@ -424,6 +422,10 @@ clearCurrentDisplayingInfo(); if (rejected) { reject(); + } else if (resolveWithTimeLimit) { + resolve({ + enableTimeLimit: true + }); } }); } @@ -639,7 +641,7 @@ }).length) { cancelInAppPurchase(); - resolve(currentDisplayingResolveResult); + resolve(); } } } diff --git a/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js b/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js index d4d41697d0..19690c042a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js +++ b/dashboard-ui/bower_components/emby-webcomponents/scroller/smoothscroller.js @@ -106,7 +106,7 @@ define(['browser', 'layoutManager', 'dom', 'focusManager', 'scrollStyles'], func // transform is the only way to guarantee animation options.enableNativeScroll = false; } - else if (layoutManager.desktop || !browser.animate) { + else if (!layoutManager.tv || !browser.animate) { options.enableNativeScroll = true; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js b/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js index dcc11b68ad..fffae3be54 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js +++ b/dashboard-ui/bower_components/emby-webcomponents/sync/sync.js @@ -1,9 +1,9 @@ -define(['apphost', 'globalize', 'connectionManager', 'layoutManager', 'shell', 'focusManager', 'scrollHelper', 'appSettings', 'paper-icon-button-light', 'formDialogStyle'], function (appHost, globalize, connectionManager, layoutManager, shell, focusManager, scrollHelper, appSettings) { +define(['apphost', 'globalize', 'connectionManager', 'layoutManager', 'shell', 'focusManager', 'scrollHelper', 'appSettings', 'registrationServices', 'dialogHelper', 'paper-icon-button-light', 'formDialogStyle'], function (appHost, globalize, connectionManager, layoutManager, shell, focusManager, scrollHelper, appSettings, registrationServices, dialogHelper) { 'use strict'; var currentDialogOptions; - function submitJob(dlg, apiClient, userId, syncOptions, form, dialogHelper) { + function submitJob(dlg, apiClient, userId, syncOptions, form) { if (!userId) { throw new Error('userId cannot be null'); @@ -313,15 +313,8 @@ function showSyncMenu(options) { - return new Promise(function (resolve, reject) { - - require(["registrationServices", 'dialogHelper', 'formDialogStyle'], function (registrationServices, dialogHelper) { - registrationServices.validateFeature('sync').then(function () { - - showSyncMenuInternal(dialogHelper, options).then(resolve, reject); - - }, reject); - }); + return registrationServices.validateFeature('sync').then(function () { + return showSyncMenuInternal(options); }); } @@ -352,7 +345,7 @@ return false; } - function showSyncMenuInternal(dialogHelper, options) { + function showSyncMenuInternal(options) { var apiClient = connectionManager.getApiClient(options.serverId); var userId = apiClient.getCurrentUserId(); @@ -431,7 +424,7 @@ dlg.querySelector('form').addEventListener('submit', function (e) { - submitted = submitJob(dlg, apiClient, userId, options, this, dialogHelper); + submitted = submitJob(dlg, apiClient, userId, options, this); e.preventDefault(); return false; diff --git a/dashboard-ui/components/dockedtabs/dockedtabs.js b/dashboard-ui/components/dockedtabs/dockedtabs.js index 2e5bfc3126..b016d6d136 100644 --- a/dashboard-ui/components/dockedtabs/dockedtabs.js +++ b/dashboard-ui/components/dockedtabs/dockedtabs.js @@ -326,7 +326,7 @@ var instance; function onViewShow(e) { - if (e.detail.type === 'video-osd') { + if (e.detail.type === 'video-osd' || !Dashboard.getCurrentUserId()) { instance.hide(); } else { instance.show(); @@ -341,12 +341,12 @@ self.element = render(options); events.on(connectionManager, 'localusersignedin', function (e, user) { - self.element.classList.remove('hide'); + self.show(); showUserTabs(user, self.element); }); events.on(connectionManager, 'localusersignedout', function () { - self.element.classList.add('hide'); + self.hide(); }); showCurrentUserTabs(self.element); diff --git a/dashboard-ui/components/remotecontrol.js b/dashboard-ui/components/remotecontrol.js index 9b4bccd6e5..63537367ff 100644 --- a/dashboard-ui/components/remotecontrol.js +++ b/dashboard-ui/components/remotecontrol.js @@ -35,7 +35,7 @@ positionTo: button, callback: function (id) { - player.setAudioStreamIndex(parseInt(id)); + playbackManager.setAudioStreamIndex(parseInt(id), player); } }); @@ -76,7 +76,7 @@ positionTo: button, callback: function (id) { - player.setSubtitleStreamIndex(parseInt(id)); + playbackManager.setSubtitleStreamIndex(parseInt(id), player); } }); @@ -382,22 +382,14 @@ var context = dlg; - var btnPause = context.querySelector('.btnPause'); - var btnPlay = context.querySelector('.btnPlay'); - - buttonEnabled(btnPause, isActive); - buttonEnabled(btnPlay, isActive); - + var btnPlayPause = context.querySelector('.btnPlayPause'); if (isPaused) { - - hideButton(btnPause); - showButton(btnPlay); - + btnPlayPause.querySelector('i').innerHTML = 'play_arrow'; } else { - - showButton(btnPause); - hideButton(btnPlay); + btnPlayPause.querySelector('i').innerHTML = 'pause'; } + + buttonEnabled(btnPlayPause, isActive); } function updateTimeDisplay(positionTicks, runtimeTicks) { @@ -681,17 +673,10 @@ } }); - context.querySelector('.btnPlay').addEventListener('click', function () { + context.querySelector('.btnPlayPause').addEventListener('click', function () { if (currentPlayer) { - currentPlayer.unpause(); - } - }); - - context.querySelector('.btnPause').addEventListener('click', function () { - - if (currentPlayer) { - currentPlayer.pause(); + playbackManager.playPause(currentPlayer); } }); diff --git a/dashboard-ui/nowplaying.html b/dashboard-ui/nowplaying.html index cc5727280e..8f006064d2 100644 --- a/dashboard-ui/nowplaying.html +++ b/dashboard-ui/nowplaying.html @@ -50,14 +50,10 @@ skip_previous -