mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update promises
This commit is contained in:
parent
a67f62c079
commit
ddb9a7cdc4
9 changed files with 164 additions and 179 deletions
|
@ -675,14 +675,16 @@
|
||||||
|
|
||||||
self.getTargets = function () {
|
self.getTargets = function () {
|
||||||
|
|
||||||
var targets = [];
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
if (castPlayer.hasReceivers) {
|
var targets = [];
|
||||||
targets.push(self.getCurrentTargetInfo());
|
|
||||||
}
|
|
||||||
|
|
||||||
return targets;
|
if (castPlayer.hasReceivers) {
|
||||||
|
targets.push(self.getCurrentTargetInfo());
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve(targets);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
self.getCurrentTargetInfo = function () {
|
self.getCurrentTargetInfo = function () {
|
||||||
|
|
|
@ -107,11 +107,11 @@
|
||||||
|
|
||||||
getSavedViewSetting: function (key) {
|
getSavedViewSetting: function (key) {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
return new Promise(function (resolve, reject) {
|
||||||
var val = LibraryBrowser.getSavedView(key);
|
|
||||||
|
|
||||||
deferred.resolveWith(null, [val]);
|
var val = LibraryBrowser.getSavedView(key);
|
||||||
return deferred.promise();
|
resolve(val);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
needsRefresh: function (elem) {
|
needsRefresh: function (elem) {
|
||||||
|
|
|
@ -404,9 +404,7 @@
|
||||||
|
|
||||||
function getUserViews(apiClient, userId) {
|
function getUserViews(apiClient, userId) {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
return apiClient.getUserViews({}, userId).then(function (result) {
|
||||||
|
|
||||||
apiClient.getUserViews({}, userId).then(function (result) {
|
|
||||||
|
|
||||||
var items = result.Items;
|
var items = result.Items;
|
||||||
|
|
||||||
|
@ -442,10 +440,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deferred.resolveWith(null, [list]);
|
return list;
|
||||||
});
|
});
|
||||||
|
|
||||||
return deferred.promise();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateLibraryMenu(user) {
|
function updateLibraryMenu(user) {
|
||||||
|
|
|
@ -370,9 +370,11 @@
|
||||||
self.setDefaultPlayerActive = function () {
|
self.setDefaultPlayerActive = function () {
|
||||||
|
|
||||||
var player = self.getDefaultPlayer();
|
var player = self.getDefaultPlayer();
|
||||||
var target = player.getTargets()[0];
|
|
||||||
|
|
||||||
self.setActivePlayer(player, target);
|
player.getTargets().then(function (targets) {
|
||||||
|
|
||||||
|
self.setActivePlayer(player, targets[0]);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
self.removeActivePlayer = function (name) {
|
self.removeActivePlayer = function (name) {
|
||||||
|
@ -449,13 +451,11 @@
|
||||||
|
|
||||||
self.getTargets = function () {
|
self.getTargets = function () {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
|
||||||
|
|
||||||
var promises = players.map(function (p) {
|
var promises = players.map(function (p) {
|
||||||
return p.getTargets();
|
return p.getTargets();
|
||||||
});
|
});
|
||||||
|
|
||||||
Promise.all(promises).then(function (responses) {
|
return Promise.all(promises).then(function (responses) {
|
||||||
|
|
||||||
var targets = [];
|
var targets = [];
|
||||||
|
|
||||||
|
@ -481,10 +481,8 @@
|
||||||
return aVal.localeCompare(bVal);
|
return aVal.localeCompare(bVal);
|
||||||
});
|
});
|
||||||
|
|
||||||
deferred.resolveWith(null, [targets]);
|
return targets;
|
||||||
});
|
});
|
||||||
|
|
||||||
return deferred.promise();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function doWithPlaybackValidation(player, fn) {
|
function doWithPlaybackValidation(player, fn) {
|
||||||
|
@ -831,40 +829,35 @@
|
||||||
|
|
||||||
self.getPlaybackInfo = function (itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId) {
|
self.getPlaybackInfo = function (itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId) {
|
||||||
|
|
||||||
var deferred = DeferredBuilder.Deferred();
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
require(['localassetmanager'], function () {
|
require(['localassetmanager'], function () {
|
||||||
|
|
||||||
var serverInfo = ApiClient.serverInfo();
|
var serverInfo = ApiClient.serverInfo();
|
||||||
|
|
||||||
if (serverInfo.Id) {
|
if (serverInfo.Id) {
|
||||||
LocalAssetManager.getLocalMediaSource(serverInfo.Id, itemId).then(function (localMediaSource) {
|
LocalAssetManager.getLocalMediaSource(serverInfo.Id, itemId).then(function (localMediaSource) {
|
||||||
// Use the local media source if a specific one wasn't requested, or the smae one was requested
|
// Use the local media source if a specific one wasn't requested, or the smae one was requested
|
||||||
if (localMediaSource && (!mediaSource || mediaSource.Id == localMediaSource.Id)) {
|
if (localMediaSource && (!mediaSource || mediaSource.Id == localMediaSource.Id)) {
|
||||||
|
|
||||||
var playbackInfo = getPlaybackInfoFromLocalMediaSource(itemId, deviceProfile, startPosition, localMediaSource);
|
var playbackInfo = getPlaybackInfoFromLocalMediaSource(itemId, deviceProfile, startPosition, localMediaSource);
|
||||||
|
|
||||||
deferred.resolveWith(null, [playbackInfo]);
|
resolve(playbackInfo);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
getPlaybackInfoWithoutLocalMediaSource(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId, deferred);
|
getPlaybackInfoWithoutLocalMediaSource(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId, resolve, reject);
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
getPlaybackInfoWithoutLocalMediaSource(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId, deferred);
|
getPlaybackInfoWithoutLocalMediaSource(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId, resolve, reject);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
return deferred.promise();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPlaybackInfoWithoutLocalMediaSource(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId, deferred) {
|
function getPlaybackInfoWithoutLocalMediaSource(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId, resolve, reject) {
|
||||||
self.getPlaybackInfoInternal(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId).then(function (result) {
|
self.getPlaybackInfoInternal(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId).then(resolve, reject);
|
||||||
deferred.resolveWith(null, [result]);
|
|
||||||
}, function () {
|
|
||||||
deferred.reject();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.getPlaybackInfoInternal = function (itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId) {
|
self.getPlaybackInfoInternal = function (itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId) {
|
||||||
|
@ -934,36 +927,36 @@
|
||||||
|
|
||||||
self.supportsDirectPlay = function (mediaSource) {
|
self.supportsDirectPlay = function (mediaSource) {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
return new Promise(function (resolve, reject) {
|
||||||
if (mediaSource.SupportsDirectPlay) {
|
if (mediaSource.SupportsDirectPlay) {
|
||||||
|
|
||||||
if (mediaSource.Protocol == 'Http' && !mediaSource.RequiredHttpHeaders.length) {
|
if (mediaSource.Protocol == 'Http' && !mediaSource.RequiredHttpHeaders.length) {
|
||||||
|
|
||||||
// If this is the only way it can be played, then allow it
|
// If this is the only way it can be played, then allow it
|
||||||
if (!mediaSource.SupportsDirectStream && !mediaSource.SupportsTranscoding) {
|
if (!mediaSource.SupportsDirectStream && !mediaSource.SupportsTranscoding) {
|
||||||
deferred.resolveWith(null, [true]);
|
resolve(true);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var val = mediaSource.Path.toLowerCase().replace('https:', 'http').indexOf(ApiClient.serverAddress().toLowerCase().replace('https:', 'http').substring(0, 14)) == 0;
|
||||||
|
resolve(val);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
var val = mediaSource.Path.toLowerCase().replace('https:', 'http').indexOf(ApiClient.serverAddress().toLowerCase().replace('https:', 'http').substring(0, 14)) == 0;
|
|
||||||
deferred.resolveWith(null, [val]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mediaSource.Protocol == 'File') {
|
if (mediaSource.Protocol == 'File') {
|
||||||
|
|
||||||
require(['localassetmanager'], function () {
|
require(['localassetmanager'], function () {
|
||||||
|
|
||||||
LocalAssetManager.fileExists(mediaSource.Path).then(function (exists) {
|
LocalAssetManager.fileExists(mediaSource.Path).then(function (exists) {
|
||||||
console.log('LocalAssetManager.fileExists: path: ' + mediaSource.Path + ' result: ' + exists);
|
console.log('LocalAssetManager.fileExists: path: ' + mediaSource.Path + ' result: ' + exists);
|
||||||
deferred.resolveWith(null, [exists]);
|
resolve(exists);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
}
|
else {
|
||||||
else {
|
resolve(false);
|
||||||
deferred.resolveWith(null, [false]);
|
}
|
||||||
}
|
});
|
||||||
return deferred.promise();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
self.showPlayerSelection = showPlayerSelection;
|
self.showPlayerSelection = showPlayerSelection;
|
||||||
|
|
|
@ -1004,8 +1004,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
//if (!browserInfo.animate) {
|
//if (!browserInfo.animate) {
|
||||||
onfinish();
|
onfinish();
|
||||||
return;
|
return;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
requestAnimationFrame(function () {
|
requestAnimationFrame(function () {
|
||||||
|
@ -1025,7 +1025,7 @@
|
||||||
|
|
||||||
elem.classList.remove('hide');
|
elem.classList.remove('hide');
|
||||||
|
|
||||||
if (!browserInfo.animate) {
|
if (!browserInfo.animate || browserInfo.mobile) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,14 @@
|
||||||
|
|
||||||
self.getTargets = function () {
|
self.getTargets = function () {
|
||||||
|
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
|
resolve(self.getTargetsInternal());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
self.getTargetsInternal = function () {
|
||||||
|
|
||||||
var targets = [{
|
var targets = [{
|
||||||
name: Globalize.translate('MyDevice'),
|
name: Globalize.translate('MyDevice'),
|
||||||
id: AppInfo.deviceId,
|
id: AppInfo.deviceId,
|
||||||
|
@ -565,7 +573,7 @@
|
||||||
var liveStreamId = getParameterByName('LiveStreamId', currentSrc);
|
var liveStreamId = getParameterByName('LiveStreamId', currentSrc);
|
||||||
|
|
||||||
self.getDeviceProfile().then(function (deviceProfile) {
|
self.getDeviceProfile().then(function (deviceProfile) {
|
||||||
|
|
||||||
var audioStreamIndex = params.AudioStreamIndex == null ? (getParameterByName('AudioStreamIndex', currentSrc) || null) : params.AudioStreamIndex;
|
var audioStreamIndex = params.AudioStreamIndex == null ? (getParameterByName('AudioStreamIndex', currentSrc) || null) : params.AudioStreamIndex;
|
||||||
if (typeof (audioStreamIndex) == 'string') {
|
if (typeof (audioStreamIndex) == 'string') {
|
||||||
audioStreamIndex = parseInt(audioStreamIndex);
|
audioStreamIndex = parseInt(audioStreamIndex);
|
||||||
|
@ -823,13 +831,11 @@
|
||||||
|
|
||||||
function getOptimalMediaSource(mediaType, versions) {
|
function getOptimalMediaSource(mediaType, versions) {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
|
||||||
|
|
||||||
var promises = versions.map(function (v) {
|
var promises = versions.map(function (v) {
|
||||||
return MediaController.supportsDirectPlay(v);
|
return MediaController.supportsDirectPlay(v);
|
||||||
});
|
});
|
||||||
|
|
||||||
Promise.all(promises).then(function (responses) {
|
return Promise.all(promises).then(function (responses) {
|
||||||
|
|
||||||
for (var i = 0, length = versions.length; i < length; i++) {
|
for (var i = 0, length = versions.length; i < length; i++) {
|
||||||
versions[i].enableDirectPlay = responses[i] || false;
|
versions[i].enableDirectPlay = responses[i] || false;
|
||||||
|
@ -852,10 +858,8 @@
|
||||||
return s.SupportsTranscoding;
|
return s.SupportsTranscoding;
|
||||||
})[0];
|
})[0];
|
||||||
|
|
||||||
deferred.resolveWith(null, [optimalVersion]);
|
return optimalVersion;
|
||||||
});
|
});
|
||||||
|
|
||||||
return deferred.promise();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.createStreamInfo = function (type, item, mediaSource, startPosition) {
|
self.createStreamInfo = function (type, item, mediaSource, startPosition) {
|
||||||
|
@ -1021,8 +1025,8 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var onBitrateDetected = function() {
|
var onBitrateDetected = function () {
|
||||||
self.getDeviceProfile().then(function(deviceProfile) {
|
self.getDeviceProfile().then(function (deviceProfile) {
|
||||||
playOnDeviceProfileCreated(deviceProfile, item, startPosition, callback);
|
playOnDeviceProfileCreated(deviceProfile, item, startPosition, callback);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1540,13 +1544,11 @@
|
||||||
|
|
||||||
self.getPlayerState = function () {
|
self.getPlayerState = function () {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
var result = self.getPlayerStateInternal(self.currentMediaRenderer, self.currentItem, self.currentMediaSource);
|
var result = self.getPlayerStateInternal(self.currentMediaRenderer, self.currentItem, self.currentMediaSource);
|
||||||
|
resolve(result);
|
||||||
deferred.resolveWith(null, [result]);
|
});
|
||||||
|
|
||||||
return deferred.promise();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
self.getPlayerStateInternal = function (mediaRenderer, item, mediaSource) {
|
self.getPlayerStateInternal = function (mediaRenderer, item, mediaSource) {
|
||||||
|
@ -1967,16 +1969,17 @@
|
||||||
|
|
||||||
self.tryPair = function (target) {
|
self.tryPair = function (target) {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
return new Promise(function (resolve, reject) {
|
||||||
deferred.resolve();
|
|
||||||
return deferred.promise();
|
resolve();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
window.MediaPlayer = new mediaPlayer();
|
window.MediaPlayer = new mediaPlayer();
|
||||||
|
|
||||||
window.MediaController.registerPlayer(window.MediaPlayer);
|
window.MediaController.registerPlayer(window.MediaPlayer);
|
||||||
window.MediaController.setActivePlayer(window.MediaPlayer, window.MediaPlayer.getTargets()[0]);
|
window.MediaController.setActivePlayer(window.MediaPlayer, window.MediaPlayer.getTargetsInternal()[0]);
|
||||||
|
|
||||||
|
|
||||||
})(document, setTimeout, clearTimeout, screen, setInterval, window);
|
})(document, setTimeout, clearTimeout, screen, setInterval, window);
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
var supporterPlaybackKey = 'lastSupporterPlaybackMessage4';
|
var supporterPlaybackKey = 'lastSupporterPlaybackMessage4';
|
||||||
|
|
||||||
function validatePlayback(deferred) {
|
function validatePlayback(resolve, reject) {
|
||||||
|
|
||||||
Dashboard.getPluginSecurityInfo().then(function (pluginSecurityInfo) {
|
Dashboard.getPluginSecurityInfo().then(function (pluginSecurityInfo) {
|
||||||
|
|
||||||
if (pluginSecurityInfo.IsMBSupporter) {
|
if (pluginSecurityInfo.IsMBSupporter) {
|
||||||
deferred.resolve();
|
resolve();
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
var lastMessage = parseInt(appStorage.getItem(supporterPlaybackKey) || '0');
|
var lastMessage = parseInt(appStorage.getItem(supporterPlaybackKey) || '0');
|
||||||
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
// Don't show on the very first playback attempt
|
// Don't show on the very first playback attempt
|
||||||
appStorage.setItem(supporterPlaybackKey, new Date().getTime());
|
appStorage.setItem(supporterPlaybackKey, new Date().getTime());
|
||||||
deferred.resolve();
|
resolve();
|
||||||
}
|
}
|
||||||
else if ((new Date().getTime() - lastMessage) > 345600000) {
|
else if ((new Date().getTime() - lastMessage) > 345600000) {
|
||||||
|
|
||||||
showPlaybackOverlay(deferred);
|
showPlaybackOverlay(resolve, reject);
|
||||||
} else {
|
} else {
|
||||||
deferred.resolve();
|
resolve();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
|
|
||||||
function showPlaybackOverlay(deferred) {
|
function showPlaybackOverlay(resolve, reject) {
|
||||||
|
|
||||||
require(['components/paperdialoghelper', 'paper-fab', 'paper-item-body', 'paper-icon-item'], function (paperDialogHelper) {
|
require(['components/paperdialoghelper', 'paper-fab', 'paper-item-body', 'paper-icon-item'], function (paperDialogHelper) {
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@
|
||||||
dlg.addEventListener('iron-overlay-closed', function (e) {
|
dlg.addEventListener('iron-overlay-closed', function (e) {
|
||||||
appStorage.setItem(supporterPlaybackKey, new Date().getTime());
|
appStorage.setItem(supporterPlaybackKey, new Date().getTime());
|
||||||
dlg.parentNode.removeChild(dlg);
|
dlg.parentNode.removeChild(dlg);
|
||||||
deferred.resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
|
|
||||||
paperDialogHelper.open(dlg);
|
paperDialogHelper.open(dlg);
|
||||||
|
@ -146,12 +146,12 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function validateSync(deferred) {
|
function validateSync(resolve, reject) {
|
||||||
|
|
||||||
Dashboard.getPluginSecurityInfo().then(function (pluginSecurityInfo) {
|
Dashboard.getPluginSecurityInfo().then(function (pluginSecurityInfo) {
|
||||||
|
|
||||||
if (pluginSecurityInfo.IsMBSupporter) {
|
if (pluginSecurityInfo.IsMBSupporter) {
|
||||||
deferred.resolve();
|
resolve();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,21 +162,19 @@
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
|
|
||||||
if (registrationInfo.IsRegistered) {
|
if (registrationInfo.IsRegistered) {
|
||||||
deferred.resolve();
|
resolve();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Dashboard.alert({
|
Dashboard.alert({
|
||||||
message: Globalize.translate('HeaderSyncRequiresSupporterMembership') + '<br/><p><a href="http://emby.media/premiere" target="_blank">' + Globalize.translate('ButtonLearnMore') + '</a></p>',
|
message: Globalize.translate('HeaderSyncRequiresSupporterMembership') + '<br/><p><a href="http://emby.media/premiere" target="_blank">' + Globalize.translate('ButtonLearnMore') + '</a></p>',
|
||||||
title: Globalize.translate('HeaderSync'),
|
title: Globalize.translate('HeaderSync'),
|
||||||
callback: function () {
|
callback: reject
|
||||||
deferred.reject();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}, function () {
|
}, function () {
|
||||||
|
|
||||||
deferred.reject();
|
reject();
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
|
|
||||||
Dashboard.alert({
|
Dashboard.alert({
|
||||||
|
@ -279,19 +277,17 @@
|
||||||
|
|
||||||
validateFeature: function (name) {
|
validateFeature: function (name) {
|
||||||
|
|
||||||
var deferred = DeferredBuilder.Deferred();
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (name == 'playback') {
|
||||||
if (name == 'playback') {
|
validatePlayback(resolve, reject);
|
||||||
validatePlayback(deferred);
|
} else if (name == 'livetv') {
|
||||||
} else if (name == 'livetv') {
|
resolve();
|
||||||
deferred.resolve();
|
} else if (name == 'sync') {
|
||||||
} else if (name == 'sync') {
|
validateSync(resolve, reject);
|
||||||
validateSync(deferred);
|
} else {
|
||||||
} else {
|
resolve();
|
||||||
deferred.resolve();
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
return deferred.promise();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -167,32 +167,31 @@
|
||||||
|
|
||||||
self.getPlayerState = function () {
|
self.getPlayerState = function () {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
var apiClient = window.ApiClient;
|
var apiClient = window.ApiClient;
|
||||||
|
|
||||||
if (apiClient) {
|
if (apiClient) {
|
||||||
apiClient.getSessions().then(function (sessions) {
|
apiClient.getSessions().then(function (sessions) {
|
||||||
|
|
||||||
var currentTargetId = MediaController.getPlayerInfo().id;
|
var currentTargetId = MediaController.getPlayerInfo().id;
|
||||||
|
|
||||||
// Update existing data
|
// Update existing data
|
||||||
//updateSessionInfo(popup, msg.Data);
|
//updateSessionInfo(popup, msg.Data);
|
||||||
var session = sessions.filter(function (s) {
|
var session = sessions.filter(function (s) {
|
||||||
return s.Id == currentTargetId;
|
return s.Id == currentTargetId;
|
||||||
})[0];
|
})[0];
|
||||||
|
|
||||||
if (session) {
|
if (session) {
|
||||||
session = getPlayerState(session);
|
session = getPlayerState(session);
|
||||||
}
|
}
|
||||||
|
|
||||||
deferred.resolveWith(null, [session]);
|
resolve(session);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
deferred.resolveWith(null, [{}]);
|
resolve({});
|
||||||
}
|
}
|
||||||
|
});
|
||||||
return deferred.promise();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var pollInterval;
|
var pollInterval;
|
||||||
|
@ -263,53 +262,53 @@
|
||||||
|
|
||||||
self.getTargets = function () {
|
self.getTargets = function () {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
var sessionQuery = {
|
var sessionQuery = {
|
||||||
ControllableByUserId: Dashboard.getCurrentUserId()
|
ControllableByUserId: Dashboard.getCurrentUserId()
|
||||||
};
|
};
|
||||||
|
|
||||||
var apiClient = window.ApiClient;
|
var apiClient = window.ApiClient;
|
||||||
|
|
||||||
if (apiClient) {
|
if (apiClient) {
|
||||||
apiClient.getSessions(sessionQuery).then(function (sessions) {
|
apiClient.getSessions(sessionQuery).then(function (sessions) {
|
||||||
|
|
||||||
var targets = sessions.filter(function (s) {
|
var targets = sessions.filter(function (s) {
|
||||||
|
|
||||||
return s.DeviceId != apiClient.deviceId();
|
return s.DeviceId != apiClient.deviceId();
|
||||||
|
|
||||||
}).map(function (s) {
|
}).map(function (s) {
|
||||||
return {
|
return {
|
||||||
name: s.DeviceName,
|
name: s.DeviceName,
|
||||||
deviceName: s.DeviceName,
|
deviceName: s.DeviceName,
|
||||||
id: s.Id,
|
id: s.Id,
|
||||||
playerName: self.name,
|
playerName: self.name,
|
||||||
appName: s.Client,
|
appName: s.Client,
|
||||||
playableMediaTypes: s.PlayableMediaTypes,
|
playableMediaTypes: s.PlayableMediaTypes,
|
||||||
isLocalPlayer: false,
|
isLocalPlayer: false,
|
||||||
supportedCommands: s.SupportedCommands
|
supportedCommands: s.SupportedCommands
|
||||||
};
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
resolve(targets);
|
||||||
|
|
||||||
|
}, function () {
|
||||||
|
|
||||||
|
reject();
|
||||||
});
|
});
|
||||||
|
|
||||||
deferred.resolveWith(null, [targets]);
|
} else {
|
||||||
|
resolve([]);
|
||||||
}, function () {
|
}
|
||||||
|
});
|
||||||
deferred.reject();
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
|
||||||
deferred.resolveWith(null, []);
|
|
||||||
}
|
|
||||||
|
|
||||||
return deferred.promise();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
self.tryPair = function(target) {
|
self.tryPair = function(target) {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
return new Promise(function (resolve, reject) {
|
||||||
deferred.resolve();
|
|
||||||
return deferred.promise();
|
resolve();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,7 @@
|
||||||
|
|
||||||
function getUserViews(userId) {
|
function getUserViews(userId) {
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
return ApiClient.getUserViews({}, userId).then(function (result) {
|
||||||
|
|
||||||
ApiClient.getUserViews({}, userId).then(function (result) {
|
|
||||||
|
|
||||||
var items = result.Items;
|
var items = result.Items;
|
||||||
|
|
||||||
|
@ -44,10 +42,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deferred.resolveWith(null, [list]);
|
return list;
|
||||||
});
|
});
|
||||||
|
|
||||||
return deferred.promise();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function enableScrollX() {
|
function enableScrollX() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue