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:
parent
b43d55182d
commit
3d4ec9caf1
18 changed files with 3367 additions and 3369 deletions
|
@ -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 () {
|
||||||
|
|
||||||
|
|
|
@ -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 () {
|
||||||
|
|
||||||
|
|
|
@ -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]);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
22
dashboard-ui/devices/windowsphone/wp.css
Normal file
22
dashboard-ui/devices/windowsphone/wp.css
Normal 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;
|
||||||
|
}
|
|
@ -1,16 +0,0 @@
|
||||||
(function (globalScope) {
|
|
||||||
|
|
||||||
globalScope.DeferredBuilder = {
|
|
||||||
|
|
||||||
Deferred: function () {
|
|
||||||
return jQuery.Deferred();
|
|
||||||
},
|
|
||||||
|
|
||||||
when: function (promises) {
|
|
||||||
|
|
||||||
return jQuery.when(promises);
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
})(window);
|
|
|
@ -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;
|
||||||
|
});
|
|
@ -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 () {
|
||||||
|
|
|
@ -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);
|
|
|
@ -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()) {
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue