mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
sync updates
This commit is contained in:
parent
7c25aaa69a
commit
ae74dfb031
4 changed files with 84 additions and 20 deletions
|
@ -141,6 +141,7 @@
|
||||||
<div class="detailButtonsContainer desktopDetailButtons" style="text-align: left;">
|
<div class="detailButtonsContainer desktopDetailButtons" style="text-align: left;">
|
||||||
<button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button>
|
<button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button>
|
||||||
<button class="btnMoreCommands hide" type="button" data-icon="ellipsis-v" data-inline="true" data-mini="true">${ButtonOptions}</button>
|
<button class="btnMoreCommands hide" type="button" data-icon="ellipsis-v" data-inline="true" data-mini="true">${ButtonOptions}</button>
|
||||||
|
<a class="btnSync hide" data-role="button" data-icon="refresh" data-inline="true" data-mini="true" href="#">${ButtonSync}</a>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -149,9 +150,10 @@
|
||||||
<div class="detailButtonsContainer mobileDetailButtons">
|
<div class="detailButtonsContainer mobileDetailButtons">
|
||||||
<button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button>
|
<button class="btnPlay hide" type="button" data-icon="play" data-inline="true" data-mini="true">${ButtonPlay}</button>
|
||||||
<button class="btnMoreCommands hide" type="button" data-icon="ellipsis-v" data-inline="true" data-mini="true">${ButtonOptions}</button>
|
<button class="btnMoreCommands hide" type="button" data-icon="ellipsis-v" data-inline="true" data-mini="true">${ButtonOptions}</button>
|
||||||
|
<a class="btnSync hide" data-role="button" data-icon="refresh" data-inline="true" data-mini="true" href="#">${ButtonSync}</a>
|
||||||
</div>
|
</div>
|
||||||
<p class="itemOverview mobileOverview"></p>
|
<p class="itemOverview mobileOverview"></p>
|
||||||
<div data-role="content" style="padding-top: 0;">
|
<div data-role="content" style="padding-top: 0;">
|
||||||
|
|
||||||
<div id="itemTabs" style="text-align: center; margin: 0 0 1em;"></div>
|
<div id="itemTabs" style="text-align: center; margin: 0 0 1em;"></div>
|
||||||
<div class="viewSettings">
|
<div class="viewSettings">
|
||||||
|
|
|
@ -82,6 +82,12 @@
|
||||||
$('.btnPlay', page).hide();
|
$('.btnPlay', page).hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (SyncManager.isAvailable(item, user)) {
|
||||||
|
$('.btnSync', page).removeClass('hide');
|
||||||
|
} else {
|
||||||
|
$('.btnSync', page).addClass('hide');
|
||||||
|
}
|
||||||
|
|
||||||
var editImagesHref = user.Configuration.IsAdministrator ? 'edititemimages.html' + editQuery : null;
|
var editImagesHref = user.Configuration.IsAdministrator ? 'edititemimages.html' + editQuery : null;
|
||||||
|
|
||||||
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item, editImagesHref, true));
|
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item, editImagesHref, true));
|
||||||
|
@ -389,7 +395,7 @@
|
||||||
SortOrder: "Ascending",
|
SortOrder: "Ascending",
|
||||||
IncludeItemTypes: "",
|
IncludeItemTypes: "",
|
||||||
Recursive: true,
|
Recursive: true,
|
||||||
Fields: "AudioInfo,SeriesInfo,ParentId,PrimaryImageAspectRatio",
|
Fields: "AudioInfo,SeriesInfo,ParentId,PrimaryImageAspectRatio,SyncInfo",
|
||||||
Limit: LibraryBrowser.getDefaultPageSize(),
|
Limit: LibraryBrowser.getDefaultPageSize(),
|
||||||
StartIndex: 0,
|
StartIndex: 0,
|
||||||
CollapseBoxSetItems: false
|
CollapseBoxSetItems: false
|
||||||
|
@ -536,6 +542,13 @@
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('.btnSync', page).on('click', function () {
|
||||||
|
|
||||||
|
SyncManager.showMenu({
|
||||||
|
items: [currentItem]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
}).on('pageshow', "#itemByNameDetailPage", function () {
|
}).on('pageshow', "#itemByNameDetailPage", function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
|
@ -252,7 +252,10 @@
|
||||||
closeContextMenu();
|
closeContextMenu();
|
||||||
|
|
||||||
SyncManager.showMenu({
|
SyncManager.showMenu({
|
||||||
items: [id]
|
items: [
|
||||||
|
{
|
||||||
|
Id: id
|
||||||
|
}]
|
||||||
});
|
});
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -40,7 +40,8 @@
|
||||||
Name: $('#txtSyncJobName', form).val(),
|
Name: $('#txtSyncJobName', form).val(),
|
||||||
|
|
||||||
SyncNewContent: $('#chkSyncNewContent', form).checked(),
|
SyncNewContent: $('#chkSyncNewContent', form).checked(),
|
||||||
UnwatchedOnly: $('#chkUnwatchedOnly', form).checked()
|
UnwatchedOnly: $('#chkUnwatchedOnly', form).checked(),
|
||||||
|
ItemLimit: $('#txtItemLimit').val() || null
|
||||||
};
|
};
|
||||||
|
|
||||||
ApiClient.ajax({
|
ApiClient.ajax({
|
||||||
|
@ -62,11 +63,16 @@
|
||||||
|
|
||||||
var userId = Dashboard.getCurrentUserId();
|
var userId = Dashboard.getCurrentUserId();
|
||||||
|
|
||||||
ApiClient.getJSON(ApiClient.getUrl('Sync/Targets', {
|
ApiClient.getJSON(ApiClient.getUrl('Sync/Options', {
|
||||||
|
|
||||||
UserId: userId
|
UserId: userId,
|
||||||
|
ItemIds: options.items.map(function (i) {
|
||||||
|
return i.Id || i;
|
||||||
|
}).join(',')
|
||||||
|
|
||||||
})).done(function (targets) {
|
})).done(function (result) {
|
||||||
|
|
||||||
|
var targets = result.Targets;
|
||||||
|
|
||||||
var html = '<div data-role="panel" data-position="right" data-display="overlay" class="syncPanel" data-position-fixed="true" data-theme="a">';
|
var html = '<div data-role="panel" data-position="right" data-display="overlay" class="syncPanel" data-position-fixed="true" data-theme="a">';
|
||||||
|
|
||||||
|
@ -75,7 +81,7 @@
|
||||||
|
|
||||||
html += '<form class="formSubmitSyncRequest">';
|
html += '<form class="formSubmitSyncRequest">';
|
||||||
|
|
||||||
if (options.items.length > 1) {
|
if (result.Options.indexOf('Name') != -1) {
|
||||||
|
|
||||||
html += '<p>';
|
html += '<p>';
|
||||||
html += '<label for="txtSyncJobName">' + Globalize.translate('LabelSyncJobName') + '</label>';
|
html += '<label for="txtSyncJobName">' + Globalize.translate('LabelSyncJobName') + '</label>';
|
||||||
|
@ -119,19 +125,32 @@
|
||||||
//html += '<h2>' + Globalize.translate('HeaderSettings') + '</h2>';
|
//html += '<h2>' + Globalize.translate('HeaderSettings') + '</h2>';
|
||||||
//html += '<div style="margin:0 -.5em 0 -.25em;">';
|
//html += '<div style="margin:0 -.5em 0 -.25em;">';
|
||||||
|
|
||||||
html += '<br/>';
|
if (result.Options.indexOf('UnwatchedOnly') != -1) {
|
||||||
html += '<div>';
|
html += '<br/>';
|
||||||
html += '<label for="chkSyncNewContent">' + Globalize.translate('OptionAutomaticallySyncNewContent') + '</label>';
|
html += '<div>';
|
||||||
html += '<input type="checkbox" id="chkSyncNewContent" data-mini="true" />';
|
html += '<label for="chkUnwatchedOnly">' + Globalize.translate('OptionSyncUnwatchedVideosOnly') + '</label>';
|
||||||
html += '<div class="fieldDescription">' + Globalize.translate('OptionAutomaticallySyncNewContentHelp') + '</div>';
|
html += '<input type="checkbox" id="chkUnwatchedOnly" data-mini="true" />';
|
||||||
html += '</div>';
|
html += '<div class="fieldDescription">' + Globalize.translate('OptionSyncUnwatchedVideosOnlyHelp') + '</div>';
|
||||||
|
html += '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
html += '<br/>';
|
if (result.Options.indexOf('SyncNewContent') != -1) {
|
||||||
html += '<div>';
|
html += '<br/>';
|
||||||
html += '<label for="chkUnwatchedOnly">' + Globalize.translate('OptionSyncUnwatchedVideosOnly') + '</label>';
|
html += '<div>';
|
||||||
html += '<input type="checkbox" id="chkUnwatchedOnly" data-mini="true" />';
|
html += '<label for="chkSyncNewContent">' + Globalize.translate('OptionAutomaticallySyncNewContent') + '</label>';
|
||||||
html += '<div class="fieldDescription">' + Globalize.translate('OptionSyncUnwatchedVideosOnlyHelp') + '</div>';
|
html += '<input type="checkbox" id="chkSyncNewContent" data-mini="true" />';
|
||||||
html += '</div>';
|
html += '<div class="fieldDescription">' + Globalize.translate('OptionAutomaticallySyncNewContentHelp') + '</div>';
|
||||||
|
html += '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result.Options.indexOf('ItemLimit') != -1) {
|
||||||
|
html += '<br/>';
|
||||||
|
html += '<div>';
|
||||||
|
html += '<label for="txtItemLimit">' + Globalize.translate('LabelItemLimit') + '</label>';
|
||||||
|
html += '<input type="number" id="txtItemLimit" data-mini="true" step="1" min="1" />';
|
||||||
|
html += '<div class="fieldDescription">' + Globalize.translate('LabelItemLimitHelp') + '</div>';
|
||||||
|
html += '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
//html += '</div>';
|
//html += '</div>';
|
||||||
//html += '</div>';
|
//html += '</div>';
|
||||||
|
@ -159,6 +178,33 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showUnwatchedFilter(items) {
|
||||||
|
|
||||||
|
return items.filter(function (i) {
|
||||||
|
|
||||||
|
return i.MediaType == "Video" || i.IsFolder || i.Type == "Person" || i.Type == "Genre" || i.Type == "MusicGenre" || i.Type == "GameGenre" || i.Type == "Studio" || i.Type == "MusicArtist";
|
||||||
|
|
||||||
|
}).length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function showItemLimit(items) {
|
||||||
|
|
||||||
|
return items.length > 1 || items.filter(function (i) {
|
||||||
|
|
||||||
|
return i.IsFolder || i.Type == "Person" || i.Type == "Genre" || i.Type == "MusicGenre" || i.Type == "GameGenre" || i.Type == "Studio" || i.Type == "MusicArtist";
|
||||||
|
|
||||||
|
}).length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function showSyncNew(items) {
|
||||||
|
|
||||||
|
return items.filter(function (i) {
|
||||||
|
|
||||||
|
return i.IsFolder || i.Type == "Person" || i.Type == "Genre" || i.Type == "MusicGenre" || i.Type == "GameGenre" || i.Type == "Studio" || i.Type == "MusicArtist";
|
||||||
|
|
||||||
|
}).length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
function isAvailable(item, user) {
|
function isAvailable(item, user) {
|
||||||
|
|
||||||
//return false;
|
//return false;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue