mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update listviews
This commit is contained in:
parent
b5734e3e93
commit
722a452b91
19 changed files with 277 additions and 155 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue