1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update components

This commit is contained in:
Luke Pulverenti 2016-02-21 12:22:41 -05:00
parent 38acdb335b
commit 7204e2a9d8
7 changed files with 133 additions and 27 deletions

View file

@ -16,12 +16,12 @@
}, },
"devDependencies": {}, "devDependencies": {},
"ignore": [], "ignore": [],
"version": "1.0.37", "version": "1.0.41",
"_release": "1.0.37", "_release": "1.0.41",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.0.37", "tag": "1.0.41",
"commit": "b383fff379b92417525a3295ebbe3b7db9e0b1a4" "commit": "19bdc440adac07ea1a5491abaec89cbdb1c99e17"
}, },
"_source": "git://github.com/MediaBrowser/Emby.ApiClient.Javascript.git", "_source": "git://github.com/MediaBrowser/Emby.ApiClient.Javascript.git",
"_target": "~1.0.3", "_target": "~1.0.3",

View file

@ -3444,5 +3444,57 @@
contentType: "application/json" contentType: "application/json"
}); });
}; };
self.createPin = function () {
return self.ajax({
type: "POST",
url: self.getUrl('Auth/Pin'),
data: {
deviceId: self.deviceId(),
appName: self.appName()
},
dataType: "json"
});
};
self.getPinStatus = function (pinInfo) {
var queryString = {
deviceId: pinInfo.DeviceId,
pin: pinInfo.Pin
};
return self.ajax({
type: 'GET',
url: self.getUrl('Auth/Pin', queryString),
dataType: 'json'
});
};
function exchangePin(pinInfo) {
return self.ajax({
type: 'POST',
url: self.getUrl('Auth/Pin/Exchange'),
data: {
deviceId: pinInfo.DeviceId,
pin: pinInfo.Pin
},
dataType: 'json'
});
}
self.exchangePin = function (pinInfo) {
return exchangePin(pinInfo).then(function (result) {
if (self.onAuthenticated) {
self.onAuthenticated(self, result);
}
return result;
});
};
}; };
}); });

View file

@ -5,7 +5,8 @@
ServerSelection: 1, ServerSelection: 1,
ServerSignIn: 2, ServerSignIn: 2,
SignedIn: 3, SignedIn: 3,
ConnectSignIn: 4 ConnectSignIn: 4,
ServerUpdateNeeded: 5
}; };
var ConnectionMode = { var ConnectionMode = {
@ -214,6 +215,16 @@
return connectUser; return connectUser;
}; };
var minServerVersion = '3.0.5724';
self.minServerVersion = function (val) {
if (val) {
minServerVersion = val;
}
return minServerVersion;
};
self.appVersion = function () { self.appVersion = function () {
return appVersion; return appVersion;
}; };
@ -1014,6 +1025,30 @@
return (str1 || '').toLowerCase() == (str2 || '').toLowerCase(); return (str1 || '').toLowerCase() == (str2 || '').toLowerCase();
} }
function compareVersions(a, b) {
// -1 a is smaller
// 1 a is larger
// 0 equal
a = a.split('.');
b = b.split('.');
for (var i = 0, length = Math.max(a.length, b.length) ; i < length; i++) {
var aVal = parseInt(a[i] || '0');
var bVal = parseInt(b[i] || '0');
if (aVal < bVal) {
return -1;
}
if (aVal > bVal) {
return 1;
}
}
return 0;
}
function testNextConnectionMode(tests, index, server, wakeOnLanSendTime, options, resolve) { function testNextConnectionMode(tests, index, server, wakeOnLanSendTime, options, resolve) {
if (index >= tests.length) { if (index >= tests.length) {
@ -1052,8 +1087,18 @@
tryConnect(address, timeout).then(function (result) { tryConnect(address, timeout).then(function (result) {
console.log('calling onSuccessfulConnection with connection mode ' + mode + ' with server ' + server.Name); if (compareVersions(self.minServerVersion(), result.Version) == 1) {
onSuccessfulConnection(server, result, mode, options, resolve);
console.log('minServerVersion requirement not met. Server version: ' + result.Version);
resolve({
State: ConnectionState.ServerUpdateNeeded,
Servers: [server]
});
} else {
console.log('calling onSuccessfulConnection with connection mode ' + mode + ' with server ' + server.Name);
onSuccessfulConnection(server, result, mode, options, resolve);
}
}, function () { }, function () {

View file

@ -6,7 +6,7 @@
self.uploadImages = function (server) { self.uploadImages = function (server) {
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
LocalAssetManager.getCameraPhotos().then(function (photos) { LocalAssetManager.getCameraPhotos().then(function (photos) {
@ -77,7 +77,7 @@
function uploadFile(file, apiClient) { function uploadFile(file, apiClient) {
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
require(['fileupload', "cryptojs-sha1"], function () { require(['fileupload', "cryptojs-sha1"], function () {

View file

@ -6,7 +6,7 @@
self.sync = function (apiClient, serverInfo, options) { self.sync = function (apiClient, serverInfo, options) {
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
reportOfflineActions(apiClient, serverInfo).then(function () { reportOfflineActions(apiClient, serverInfo).then(function () {
@ -36,7 +36,7 @@
console.log('Begin reportOfflineActions'); console.log('Begin reportOfflineActions');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -67,7 +67,7 @@
console.log('Begin syncData'); console.log('Begin syncData');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -117,7 +117,7 @@
console.log('Begin removeLocalItems'); console.log('Begin removeLocalItems');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
removeNextLocalItem(syncDataResult.ItemIdsToRemove, 0, serverId, deferred); removeNextLocalItem(syncDataResult.ItemIdsToRemove, 0, serverId, deferred);
@ -146,7 +146,7 @@
console.log('Begin removeLocalItem'); console.log('Begin removeLocalItem');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -164,7 +164,7 @@
console.log('Begin getNewMedia'); console.log('Begin getNewMedia');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
apiClient.getReadySyncItems(apiClient.deviceId()).then(function (jobItems) { apiClient.getReadySyncItems(apiClient.deviceId()).then(function (jobItems) {
@ -201,7 +201,7 @@
console.log('Begin getNewItem'); console.log('Begin getNewItem');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -240,7 +240,7 @@
function downloadMedia(apiClient, jobItem, localItem, options) { function downloadMedia(apiClient, jobItem, localItem, options) {
console.log('Begin downloadMedia'); console.log('Begin downloadMedia');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -276,7 +276,7 @@
function getImages(apiClient, jobItem, localItem) { function getImages(apiClient, jobItem, localItem) {
console.log('Begin getImages'); console.log('Begin getImages');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
getNextImage(0, apiClient, localItem, deferred); getNextImage(0, apiClient, localItem, deferred);
@ -348,7 +348,7 @@
function downloadImage(apiClient, serverId, itemId, imageTag, imageType) { function downloadImage(apiClient, serverId, itemId, imageTag, imageType) {
console.log('Begin downloadImage'); console.log('Begin downloadImage');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -380,7 +380,7 @@
function getSubtitles(apiClient, jobItem, localItem) { function getSubtitles(apiClient, jobItem, localItem) {
console.log('Begin getSubtitles'); console.log('Begin getSubtitles');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -424,7 +424,7 @@
function getItemSubtitle(file, apiClient, jobItem, localItem, mediaSource) { function getItemSubtitle(file, apiClient, jobItem, localItem, mediaSource) {
console.log('Begin getItemSubtitle'); console.log('Begin getItemSubtitle');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
var subtitleStream = mediaSource.MediaStreams.filter(function (m) { var subtitleStream = mediaSource.MediaStreams.filter(function (m) {
return m.Type == 'Subtitle' && m.Index == file.Index; return m.Type == 'Subtitle' && m.Index == file.Index;
@ -461,7 +461,7 @@
function syncUserItemAccess(syncDataResult, serverId) { function syncUserItemAccess(syncDataResult, serverId) {
console.log('Begin syncUserItemAccess'); console.log('Begin syncUserItemAccess');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
var itemIds = []; var itemIds = [];
for (var id in syncDataResult.ItemUserAccess) { for (var id in syncDataResult.ItemUserAccess) {
@ -494,7 +494,7 @@
function syncUserAccessForItem(itemId, syncDataResult) { function syncUserAccessForItem(itemId, syncDataResult) {
console.log('Begin syncUserAccessForItem'); console.log('Begin syncUserAccessForItem');
var deferred = jQuery.Deferred(); var deferred = DeferredBuilder.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {

View file

@ -15,12 +15,12 @@
}, },
"devDependencies": {}, "devDependencies": {},
"ignore": [], "ignore": [],
"version": "1.0.84", "version": "1.0.86",
"_release": "1.0.84", "_release": "1.0.86",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.0.84", "tag": "1.0.86",
"commit": "8a8bc2b228f290e1e5616eba205bcd6f117167e2" "commit": "e0329ec7873dc265487709c58f2457428e0c9c99"
}, },
"_source": "git://github.com/MediaBrowser/emby-webcomponents.git", "_source": "git://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "~1.0.0", "_target": "~1.0.0",

View file

@ -162,6 +162,15 @@ define(['browser'], function (browser) {
Container: audioFormat == 'webma' ? 'webma,webm' : audioFormat, Container: audioFormat == 'webma' ? 'webma,webm' : audioFormat,
Type: 'Audio' Type: 'Audio'
}); });
// aac also appears in the m4a container
if (audioFormat == 'aac') {
profile.DirectPlayProfiles.push({
Container: 'm4a',
AudioCodec: audioFormat,
Type: 'Audio'
});
}
}); });
if (canPlayWebm) { if (canPlayWebm) {