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

support more embedded video metadata

This commit is contained in:
Luke Pulverenti 2016-02-17 21:55:15 -05:00
parent b43d55182d
commit 3d4ec9caf1
18 changed files with 3367 additions and 3369 deletions

View file

@ -6,7 +6,7 @@
self.uploadImages = function (server) { self.uploadImages = function (server) {
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -67,7 +67,7 @@
console.log('Begin syncData'); console.log('Begin syncData');
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -117,7 +117,7 @@
console.log('Begin removeLocalItems'); console.log('Begin removeLocalItems');
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {
@ -164,7 +164,7 @@
console.log('Begin getNewMedia'); console.log('Begin getNewMedia');
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.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 = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
require(['localassetmanager'], function () { require(['localassetmanager'], function () {

View file

@ -3,7 +3,7 @@
var systemInfo; var systemInfo;
function getSystemInfo() { function getSystemInfo() {
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
if (systemInfo) { if (systemInfo) {
deferred.resolveWith(null, [systemInfo]); deferred.resolveWith(null, [systemInfo]);

View file

@ -324,7 +324,7 @@
return { return {
show: function (itemId, itemType, imageType) { show: function (itemId, itemType, imageType) {
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
currentDeferred = deferred; currentDeferred = deferred;
hasChanges = false; hasChanges = false;

View file

@ -297,7 +297,7 @@
return { return {
show: function (itemId, options) { show: function (itemId, options) {
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
currentDeferred = deferred; currentDeferred = deferred;
hasChanges = false; hasChanges = false;

View file

@ -185,7 +185,7 @@
return { return {
show: function (itemId, options) { show: function (itemId, options) {
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
currentDeferred = deferred; currentDeferred = deferred;
hasChanges = false; hasChanges = false;

View file

@ -336,7 +336,7 @@
return { return {
show: function (itemId) { show: function (itemId) {
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
currentDeferred = deferred; currentDeferred = deferred;
hasChanges = false; hasChanges = false;

View file

@ -180,7 +180,7 @@
self.show = function (options) { self.show = function (options) {
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
currentOptions = options; currentOptions = options;
currentDeferred = deferred; currentDeferred = deferred;

View file

@ -134,7 +134,7 @@
self.show = function (options) { self.show = function (options) {
var deferred = DeferredBuilder.Deferred(); var deferred = jQuery.Deferred();
currentOptions = options; currentOptions = options;
currentDeferred = deferred; currentDeferred = deferred;

View file

@ -55,7 +55,7 @@
} }
.defaultBackground .cardImage { .defaultBackground .cardImage {
background-color: #333; background-color: #303030;
} }
.homeTopViews .defaultBackground .cardImage { .homeTopViews .defaultBackground .cardImage {
@ -109,7 +109,7 @@
} }
.ui-body-b .visualCardBox { .ui-body-b .visualCardBox {
background: rgba(40,40,40,.85); background: rgba(56,56,56,.85);
border-radius: 3px; border-radius: 3px;
} }

View file

@ -200,11 +200,11 @@
} }
.viewMenuBar, .libraryViewNav { .viewMenuBar, .libraryViewNav {
background-color: #101010; background-color: #080808;
} }
.viewMenuBar.semiTransparent { .viewMenuBar.semiTransparent {
background-color: rgba(18, 18, 18, .55); background-color: rgba(15, 15, 15, .3);
} }
.paperLibraryViewNav { .paperLibraryViewNav {

View file

@ -1,31 +1,7 @@
.viewMenuBar, .libraryViewNav:not(.paperLibraryViewNav), paper-tabs { .libraryViewNav {
background-color: #080808;
}
.viewMenuBar.semiTransparent {
background-color: rgba(15, 15, 15, .3);
}
.background-theme-b, paper-dialog.background-theme-b {
background-color: #1A1A1A;
}
.defaultBackground .cardImage {
background-color: #303030;
}
.ui-body-b .visualCardBox {
background: rgba(56,56,56,.85);
}
.libraryViewNav {
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2); box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
} }
.libraryViewNav a { .libraryViewNav a, paper-tab {
font-weight: 500 !important; font-weight: 500 !important;
} }
paper-tab {
font-weight: 500 !important;
}

View file

@ -0,0 +1,22 @@
html, body, .ui-btn, .pageTitle {
font-family: 'Segoe UI', Arial, sans-serif;
}
.viewMenuBar {
background-color: #000;
}
.libraryViewNav, .libraryViewNav paper-tabs {
background-color: transparent;
box-shadow: none;
text-transform: lowercase;
font-size: 240%;
}
.libraryViewNav a, paper-tab {
font-weight: 400 !important;
}
.background-theme-b, paper-dialog.background-theme-b {
background: #161616;
}

View file

@ -1,16 +0,0 @@
(function (globalScope) {
globalScope.DeferredBuilder = {
Deferred: function () {
return jQuery.Deferred();
},
when: function (promises) {
return jQuery.when(promises);
}
};
})(window);

View file

@ -1,4 +1,6 @@
var LibraryBrowser = (function (window, document, screen) { define(['playlistManager'], function (playlistManager) {
var libraryBrowser = (function (window, document, screen) {
// Regular Expressions for parsing tags and attributes // Regular Expressions for parsing tags and attributes
var SURROGATE_PAIR_REGEXP = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, var SURROGATE_PAIR_REGEXP = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
@ -779,7 +781,7 @@
commands.push('addtocollection'); commands.push('addtocollection');
} }
if (PlaylistManager.supportsPlaylists(item)) { if (playlistManager.supportsPlaylists(item)) {
commands.push('playlist'); commands.push('playlist');
} }
@ -1014,7 +1016,10 @@
}); });
break; break;
case 'playlist': case 'playlist':
PlaylistManager.showPanel([itemId]); require(['playlistManager'], function (playlistManager) {
playlistManager.showPanel([itemId]);
});
break; break;
case 'delete': case 'delete':
LibraryBrowser.deleteItems([itemId]); LibraryBrowser.deleteItems([itemId]);
@ -1600,7 +1605,7 @@
itemCommands.push('shuffle'); itemCommands.push('shuffle');
} }
if (PlaylistManager.supportsPlaylists(item)) { if (playlistManager.supportsPlaylists(item)) {
if (options.showRemoveFromPlaylist) { if (options.showRemoveFromPlaylist) {
itemCommands.push('removefromplaylist'); itemCommands.push('removefromplaylist');
@ -3701,4 +3706,9 @@
return libraryBrowser; return libraryBrowser;
})(window, document, screen); })(window, document, screen);
window.LibraryBrowser = libraryBrowser;
return libraryBrowser;
});

View file

@ -468,7 +468,10 @@
}); });
break; break;
case 'playlist': case 'playlist':
PlaylistManager.showPanel([itemId]); require(['playlistManager'], function (playlistManager) {
playlistManager.showPanel([itemId]);
});
break; break;
case 'delete': case 'delete':
LibraryBrowser.deleteItems([itemId]); LibraryBrowser.deleteItems([itemId]);
@ -1164,8 +1167,11 @@
hideSelections(); hideSelections();
break; break;
case 'playlist': case 'playlist':
PlaylistManager.showPanel(items); require(['playlistManager'], function (playlistManager) {
playlistManager.showPanel(items);
hideSelections(); hideSelections();
});
break; break;
case 'delete': case 'delete':
LibraryBrowser.deleteItems(items).then(function () { LibraryBrowser.deleteItems(items).then(function () {

View file

@ -1,6 +1,6 @@
(function ($, document) { define([], function () {
window.PlaylistManager = { return {
showPanel: function (items) { showPanel: function (items) {
@ -17,5 +17,4 @@
return item.RunTimeTicks || item.IsFolder || item.Type == "Genre" || item.Type == "MusicGenre" || item.Type == "MusicArtist"; return item.RunTimeTicks || item.IsFolder || item.Type == "Genre" || item.Type == "MusicGenre" || item.Type == "MusicArtist";
} }
}; };
});
})(jQuery, document);

View file

@ -1845,6 +1845,8 @@ var AppInfo = {};
paths.appStorage = apiClientBowerPath + "/appstorage"; paths.appStorage = apiClientBowerPath + "/appstorage";
} }
paths.playlistManager = "scripts/playlistmanager";
var sha1Path = bowerPath + "/cryptojslib/components/sha1-min"; var sha1Path = bowerPath + "/cryptojslib/components/sha1-min";
var md5Path = bowerPath + "/cryptojslib/components/md5-min"; var md5Path = bowerPath + "/cryptojslib/components/md5-min";
var shim = {}; var shim = {};
@ -1955,7 +1957,6 @@ var AppInfo = {};
define("localassetmanager", [apiClientBowerPath + "/localassetmanager"]); define("localassetmanager", [apiClientBowerPath + "/localassetmanager"]);
define("fileupload", [apiClientBowerPath + "/fileupload"]); define("fileupload", [apiClientBowerPath + "/fileupload"]);
} }
define("apiclient-deferred", ["legacy/deferred"]);
define("connectionmanager", [apiClientBowerPath + "/connectionmanager"]); define("connectionmanager", [apiClientBowerPath + "/connectionmanager"]);
define("contentuploader", [apiClientBowerPath + "/sync/contentuploader"]); define("contentuploader", [apiClientBowerPath + "/sync/contentuploader"]);
@ -2228,6 +2229,8 @@ var AppInfo = {};
deps.push('css!devices/android/android.css'); deps.push('css!devices/android/android.css');
} else if (AppInfo.isNativeApp && browserInfo.safari) { } else if (AppInfo.isNativeApp && browserInfo.safari) {
deps.push('css!devices/ios/ios.css'); deps.push('css!devices/ios/ios.css');
} else if (AppInfo.isNativeApp && browserInfo.edge) {
deps.push('css!devices/windowsphone/wp.css');
} else if (!browserInfo.android) { } else if (!browserInfo.android) {
deps.push('css!devices/android/android.css'); deps.push('css!devices/android/android.css');
} }
@ -2255,7 +2258,6 @@ var AppInfo = {};
deps.push('scripts/search'); deps.push('scripts/search');
deps.push('scripts/librarylist'); deps.push('scripts/librarylist');
deps.push('scripts/alphapicker'); deps.push('scripts/alphapicker');
deps.push('scripts/playlistmanager');
deps.push('scripts/sync'); deps.push('scripts/sync');
deps.push('scripts/backdrops'); deps.push('scripts/backdrops');
deps.push('scripts/librarymenu'); deps.push('scripts/librarymenu');
@ -2279,7 +2281,6 @@ var AppInfo = {};
postInitDependencies.push('scripts/remotecontrol'); postInitDependencies.push('scripts/remotecontrol');
postInitDependencies.push('css!css/notifications.css'); postInitDependencies.push('css!css/notifications.css');
postInitDependencies.push('css!css/chromecast.css'); postInitDependencies.push('css!css/chromecast.css');
postInitDependencies.push('apiclient-deferred');
if (Dashboard.isRunningInCordova()) { if (Dashboard.isRunningInCordova()) {