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

update listviews

This commit is contained in:
Luke Pulverenti 2016-07-16 21:58:51 -04:00
parent b5734e3e93
commit 722a452b91
19 changed files with 277 additions and 155 deletions

View file

@ -1,5 +1,10 @@
define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter', 'playbackManager'], function (appHost, globalize, connectionManager, itemHelper, embyRouter, playbackManager) {
var isTheater = true;
appHost.appInfo().then(function(result) {
isTheater = result.appName.toLowerCase().indexOf('theater') != -1;
});
function getCommands(options) {
var item = options.item;
@ -32,12 +37,25 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
});
}
if (user.Policy.IsAdministrator) {
if (item.MediaType == 'Video' && item.Type != 'TvChannel' && item.Type != 'Program' && item.LocationType != 'Virtual') {
commands.push({
name: globalize.translate('sharedcomponents#EditSubtitles'),
id: 'editsubtitles'
});
if (options.edit !== false) {
if (itemHelper.canEdit(user, item.Type)) {
if (!isTheater) {
commands.push({
name: globalize.translate('sharedcomponents#Edit'),
id: 'edit'
});
commands.push({
name: globalize.translate('sharedcomponents#EditImages'),
id: 'editimages'
});
}
if (item.MediaType == 'Video' && item.Type != 'TvChannel' && item.Type != 'Program' && item.LocationType != 'Virtual') {
commands.push({
name: globalize.translate('sharedcomponents#EditSubtitles'),
id: 'editsubtitles'
});
}
}
}
@ -48,6 +66,15 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
});
}
if (!isTheater && options.identify !== false) {
if (itemHelper.canIdentify(user, item.Type)) {
commands.push({
name: globalize.translate('sharedcomponents#Identify'),
id: 'identify'
});
}
}
if (item.MediaType == "Audio" || item.Type == "MusicAlbum" || item.Type == "MusicArtist" || item.Type == "MusicGenre" || item.CollectionType == "music") {
if (options.instantMix !== false) {
commands.push({
@ -118,6 +145,15 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
}
}
if (!isTheater && options.sync !== false) {
if (itemHelper.canSync(user, item)) {
commands.push({
name: globalize.translate('sharedcomponents#Sync'),
id: 'sync'
});
}
}
if (options.openAlbum !== false && item.AlbumId) {
commands.push({
name: Globalize.translate('sharedcomponents#ViewAlbum'),
@ -209,6 +245,30 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
});
break;
}
case 'edit':
{
require(['components/metadataeditor/metadataeditor'], function (metadataeditor) {
metadataeditor.show(itemId).then(getResolveFunction(resolve, id, true), getResolveFunction(resolve, id));
});
break;
}
case 'editimages':
{
require(['components/imageeditor/imageeditor'], function (ImageEditor) {
ImageEditor.show(itemId).then(getResolveFunction(resolve, id, true), getResolveFunction(resolve, id));
});
break;
}
case 'identify':
{
require(['components/itemidentifier/itemidentifier'], function (itemidentifier) {
itemidentifier.show(itemId).then(getResolveFunction(resolve, id, true), getResolveFunction(resolve, id));
});
break;
}
case 'refresh':
{
refresh(apiClient, itemId);
@ -295,6 +355,19 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
getResolveFunction(resolve, id)();
break;
}
case 'sync':
{
require(['syncDialog'], function (syncDialog) {
syncDialog.showMenu({
items: [
{
Id: itemId
}]
});
});
getResolveFunction(resolve, id)();
break;
}
default:
reject();
break;