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

update sync

This commit is contained in:
Luke Pulverenti 2016-08-16 01:34:36 -04:00
parent d0aee5580a
commit 0e2b46b686
47 changed files with 309 additions and 145 deletions

View file

@ -219,93 +219,96 @@
function showSyncMenu(options) {
requirejs(["registrationservices"], function () {
RegistrationServices.validateFeature('sync').then(function () {
showSyncMenuInternal(options);
return new Promise(function (resolve, reject) {
requirejs(["registrationservices", 'dialogHelper', 'formDialogStyle'], function (registrationServices, dialogHelper) {
registrationServices.validateFeature('sync').then(function () {
showSyncMenuInternal(dialogHelper, options).then(resolve, reject);
}, reject);
});
});
}
function showSyncMenuInternal(options) {
function showSyncMenuInternal(dialogHelper, options) {
require(['dialogHelper', 'formDialogStyle'], function (dialogHelper) {
var userId = Dashboard.getCurrentUserId();
var userId = Dashboard.getCurrentUserId();
var dialogOptionsQuery = {
UserId: userId,
ItemIds: (options.items || []).map(function (i) {
return i.Id || i;
}).join(','),
var dialogOptionsQuery = {
UserId: userId,
ItemIds: (options.items || []).map(function (i) {
return i.Id || i;
}).join(','),
ParentId: options.ParentId,
Category: options.Category
};
ParentId: options.ParentId,
Category: options.Category
};
return ApiClient.getJSON(ApiClient.getUrl('Sync/Options', dialogOptionsQuery)).then(function (dialogOptions) {
ApiClient.getJSON(ApiClient.getUrl('Sync/Options', dialogOptionsQuery)).then(function (dialogOptions) {
currentDialogOptions = dialogOptions;
currentDialogOptions = dialogOptions;
var dlg = dialogHelper.createDialog({
size: 'small',
removeOnClose: true,
autoFocus: false
});
dlg.classList.add('ui-body-a');
dlg.classList.add('background-theme-a');
dlg.classList.add('formDialog');
var html = '';
html += '<div class="formDialogHeader">';
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="md-icon">&#xE5C4;</i></button>';
html += '<div class="formDialogHeaderTitle">';
html += Globalize.translate('SyncMedia');
html += '</div>';
html += '<a href="https://github.com/MediaBrowser/Wiki/wiki/Sync" target="_blank" class="clearLink" style="margin-top:0;display:inline-block;vertical-align:middle;margin-left:auto;"><button is="emby-button" type="button" class="mini"><i class="md-icon">info</i><span>' + Globalize.translate('ButtonHelp') + '</span></button></a>';
html += '</div>';
html += '<div class="formDialogContent smoothScrollY" style="padding-top:2em;">';
html += '<div class="dialogContentInner dialog-content-centered">';
html += '<form class="formSubmitSyncRequest" style="margin: auto;">';
html += '<div class="formFields"></div>';
html += '<p>';
html += '<button is="emby-button" type="submit" class="raised submit block"><i class="md-icon">sync</i><span>' + Globalize.translate('ButtonSync') + '</span></button>';
html += '</p>';
html += '</form>';
html += '</div>';
html += '</div>';
dlg.innerHTML = html;
document.body.appendChild(dlg);
dialogHelper.open(dlg);
$('form', dlg).on('submit', function () {
submitJob(dlg, userId, options, this, dialogHelper);
return false;
});
$('.btnCancel', dlg).on('click', function () {
dialogHelper.close(dlg);
});
renderForm({
elem: $('.formFields', dlg),
dialogOptions: dialogOptions,
dialogOptionsFn: getTargetDialogOptionsFn(dialogOptionsQuery)
});
var dlg = dialogHelper.createDialog({
size: 'small',
removeOnClose: true,
autoFocus: false
});
dlg.classList.add('ui-body-a');
dlg.classList.add('background-theme-a');
dlg.classList.add('formDialog');
var html = '';
html += '<div class="formDialogHeader">';
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="md-icon">&#xE5C4;</i></button>';
html += '<div class="formDialogHeaderTitle">';
html += Globalize.translate('SyncMedia');
html += '</div>';
html += '<a href="https://github.com/MediaBrowser/Wiki/wiki/Sync" target="_blank" class="clearLink" style="margin-top:0;display:inline-block;vertical-align:middle;margin-left:auto;"><button is="emby-button" type="button" class="mini"><i class="md-icon">info</i><span>' + Globalize.translate('ButtonHelp') + '</span></button></a>';
html += '</div>';
html += '<div class="formDialogContent smoothScrollY" style="padding-top:2em;">';
html += '<div class="dialogContentInner dialog-content-centered">';
html += '<form class="formSubmitSyncRequest" style="margin: auto;">';
html += '<div class="formFields"></div>';
html += '<p>';
html += '<button is="emby-button" type="submit" class="raised submit block"><i class="md-icon">sync</i><span>' + Globalize.translate('ButtonSync') + '</span></button>';
html += '</p>';
html += '</form>';
html += '</div>';
html += '</div>';
dlg.innerHTML = html;
document.body.appendChild(dlg);
$('form', dlg).on('submit', function () {
submitJob(dlg, userId, options, this, dialogHelper);
return false;
});
$('.btnCancel', dlg).on('click', function () {
dialogHelper.close(dlg);
});
var promise = dialogHelper.open(dlg);
renderForm({
elem: $('.formFields', dlg),
dialogOptions: dialogOptions,
dialogOptionsFn: getTargetDialogOptionsFn(dialogOptionsQuery)
});
return promise;
});
}