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

update multi-select

This commit is contained in:
Luke Pulverenti 2016-08-16 16:54:13 -04:00
parent cc29283762
commit 89dfdfb110
7 changed files with 160 additions and 104 deletions

View file

@ -176,23 +176,22 @@
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var msg = globalize.translate('ConfirmDeleteItem'); var msg = globalize.translate('sharedcomponents#ConfirmDeleteItem');
var title = globalize.translate('HeaderDeleteItem'); var title = globalize.translate('sharedcomponents#HeaderDeleteItem');
if (itemIds.length > 1) { if (itemIds.length > 1) {
msg = globalize.translate('ConfirmDeleteItems'); msg = globalize.translate('sharedcomponents#ConfirmDeleteItems');
title = globalize.translate('HeaderDeleteItems'); title = globalize.translate('sharedcomponents#HeaderDeleteItems');
} }
require(['confirm'], function (confirm) { require(['confirm'], function (confirm) {
confirm(msg, title).then(function () { confirm(msg, title).then(function () {
var promises = itemIds.map(function (itemId) { var promises = itemIds.map(function (itemId) {
apiClient.deleteItem(itemId); apiClient.deleteItem(itemId);
}); });
resolve(); Promise.all(promises).then(resolve);
}, reject); }, reject);
}); });
@ -306,7 +305,7 @@
dispatchNeedsRefresh(); dispatchNeedsRefresh();
break; break;
case 'delete': case 'delete':
deleteItems(items).then(function () { deleteItems(apiClient, items).then(function () {
embyRouter.goHome(); embyRouter.goHome();
}); });
hideSelections(); hideSelections();

View file

@ -252,5 +252,7 @@
"MakeAvailableOffline": "Make available offline", "MakeAvailableOffline": "Make available offline",
"ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsRestarting": "Emby Server - {0} is restarting.",
"ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.",
"HeaderDeleteItems": "Delete Items",
"ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?",
"PleaseRestartServerName": "Please restart Emby Server - {0}." "PleaseRestartServerName": "Please restart Emby Server - {0}."
} }

View file

@ -0,0 +1,53 @@
define(['serverNotifications', 'events', 'loading', 'connectionManager'], function (serverNotifications, events, loading, connectionManager) {
function onSyncJobsUpdated(e, apiClient, data) {
}
function renderList(listInstance, items) {
}
function fetchData(listInstance) {
listInstance.lastDataLoad = 0;
loading.show();
var options = {};
var apiClient = connectionManager.getApiClient(listInstance.options.serverId);
if (listInstance.options.userId) {
options.UserId = listInstance.options.userId;
}
if (listInstance.options.isLocalSync) {
options.TargetId = apiClient.deviceId();
}
return apiClient.getJSON(ApiClient.getUrl('Sync/Jobs', options)).then(function (response) {
renderList(listInstance, response.Items);
loading.hide();
});
}
function syncJobList(options) {
this.options = options;
var onSyncJobsUpdatedHandler = onSyncJobsUpdated.bind(this);
this.onSyncJobsUpdatedHandler = null;
events.on(serverNotifications, 'SyncJobs', onSyncJobsUpdatedHandler);
fetchData(this);
}
syncJobList.prototype.destroy = function () {
this.options = null;
var onSyncJobsUpdatedHandler = this.onSyncJobsUpdatedHandler;
this.onSyncJobsUpdatedHandler = null;
events.off(serverNotifications, 'SyncJobs', onSyncJobsUpdatedHandler);
};
return syncJobList;
});

View file

@ -98,6 +98,99 @@
}); });
} }
function renderPluginInfo(page, pkg, pluginSecurityInfo) {
if (AppInfo.isNativeApp) {
return;
}
require(['jQuery'], function ($) {
if (pkg.isPremium) {
$('.premiumPackage', page).show();
// Fill in registration info
var regStatus = "";
if (pkg.isRegistered) {
regStatus += "<p style='color:green;'>";
regStatus += Globalize.translate('MessageFeatureIncludedWithSupporter');
} else {
var expDateTime = new Date(pkg.expDate).getTime();
var nowTime = new Date().getTime();
if (expDateTime <= nowTime) {
regStatus += "<p style='color:red;'>";
regStatus += Globalize.translate('MessageTrialExpired');
} else if (expDateTime > new Date(1970, 1, 1).getTime()) {
regStatus += "<p style='color:blue;'>";
regStatus += Globalize.translate('MessageTrialWillExpireIn').replace('{0}', Math.round(expDateTime - nowTime) / (86400000));
}
}
regStatus += "</p>";
$('#regStatus', page).html(regStatus);
if (pluginSecurityInfo.IsMBSupporter) {
$('#regInfo', page).html(pkg.regInfo || "");
$('.premiumDescription', page).hide();
$('.supporterDescription', page).hide();
if (pkg.price > 0) {
$('.premiumHasPrice', page).show();
$('#featureId', page).val(pkg.featureId);
$('#featureName', page).val(pkg.name);
$('#amount', page).val(pkg.price);
$('#regPrice', page).html("<h3>" + Globalize.translate('ValuePriceUSD').replace('{0}', "$" + pkg.price.toFixed(2)) + "</h3>");
$('#ppButton', page).hide();
var url = "https://mb3admin.com/admin/service/user/getPayPalEmail?id=" + pkg.owner;
fetch(url).then(function (response) {
return response.json();
}).then(function (dev) {
if (dev.payPalEmail) {
$('#payPalEmail', page).val(dev.payPalEmail);
$('#ppButton', page).show();
}
});
} else {
// Supporter-only feature
$('.premiumHasPrice', page).hide();
}
} else {
if (pkg.price) {
$('.premiumDescription', page).show();
$('.supporterDescription', page).hide();
$('#regInfo', page).html("");
} else {
$('.premiumDescription', page).hide();
$('.supporterDescription', page).show();
$('#regInfo', page).html("");
}
$('#ppButton', page).hide();
}
} else {
$('.premiumPackage', page).hide();
}
});
}
function renderPackage(pkg, installedPlugins, pluginSecurityInfo, page) { function renderPackage(pkg, installedPlugins, pluginSecurityInfo, page) {
var installedPlugin = installedPlugins.filter(function (ip) { var installedPlugin = installedPlugins.filter(function (ip) {
@ -133,7 +226,7 @@
$('#developer', page).html(pkg.owner); $('#developer', page).html(pkg.owner);
RegistrationServices.renderPluginInfo(page, pkg, pluginSecurityInfo); renderPluginInfo(page, pkg, pluginSecurityInfo);
//Ratings and Reviews //Ratings and Reviews
var ratingHtml = ''; var ratingHtml = '';

View file

@ -462,11 +462,11 @@
return; return;
} }
requirejs(["registrationservices"], function () { requirejs(["registrationservices"], function (registrationServices) {
self.playbackTimeLimitMs = null; self.playbackTimeLimitMs = null;
RegistrationServices.validateFeature('playback').then(fn, function () { registrationServices.validateFeature('playback').then(fn, function () {
self.playbackTimeLimitMs = lockedTimeLimitMs; self.playbackTimeLimitMs = lockedTimeLimitMs;
startAutoStopTimer(); startAutoStopTimer();

View file

@ -188,96 +188,7 @@
}); });
} }
window.RegistrationServices = { return {
renderPluginInfo: function (page, pkg, pluginSecurityInfo) {
require(['jQuery'], function ($) {
if (pkg.isPremium) {
$('.premiumPackage', page).show();
// Fill in registration info
var regStatus = "";
if (pkg.isRegistered) {
regStatus += "<p style='color:green;'>";
regStatus += Globalize.translate('MessageFeatureIncludedWithSupporter');
} else {
var expDateTime = new Date(pkg.expDate).getTime();
var nowTime = new Date().getTime();
if (expDateTime <= nowTime) {
regStatus += "<p style='color:red;'>";
regStatus += Globalize.translate('MessageTrialExpired');
} else if (expDateTime > new Date(1970, 1, 1).getTime()) {
regStatus += "<p style='color:blue;'>";
regStatus += Globalize.translate('MessageTrialWillExpireIn').replace('{0}', Math.round(expDateTime - nowTime) / (86400000));
}
}
regStatus += "</p>";
$('#regStatus', page).html(regStatus);
if (pluginSecurityInfo.IsMBSupporter) {
$('#regInfo', page).html(pkg.regInfo || "");
$('.premiumDescription', page).hide();
$('.supporterDescription', page).hide();
if (pkg.price > 0) {
$('.premiumHasPrice', page).show();
$('#featureId', page).val(pkg.featureId);
$('#featureName', page).val(pkg.name);
$('#amount', page).val(pkg.price);
$('#regPrice', page).html("<h3>" + Globalize.translate('ValuePriceUSD').replace('{0}', "$" + pkg.price.toFixed(2)) + "</h3>");
$('#ppButton', page).hide();
var url = "https://mb3admin.com/admin/service/user/getPayPalEmail?id=" + pkg.owner;
fetch(url).then(function (response) {
return response.json();
}).then(function (dev) {
if (dev.payPalEmail) {
$('#payPalEmail', page).val(dev.payPalEmail);
$('#ppButton', page).show();
}
});
} else {
// Supporter-only feature
$('.premiumHasPrice', page).hide();
}
} else {
if (pkg.price) {
$('.premiumDescription', page).show();
$('.supporterDescription', page).hide();
$('#regInfo', page).html("");
} else {
$('.premiumDescription', page).hide();
$('.supporterDescription', page).show();
$('#regInfo', page).html("");
}
$('#ppButton', page).hide();
}
} else {
$('.premiumPackage', page).hide();
}
});
},
validateFeature: function (name) { validateFeature: function (name) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
@ -297,6 +208,4 @@
shell.openUrl('https://emby.media/premiere'); shell.openUrl('https://emby.media/premiere');
} }
}; };
return window.RegistrationServices;
}); });

View file

@ -416,8 +416,8 @@
$('.btnSyncSupporter', page).on('click', function () { $('.btnSyncSupporter', page).on('click', function () {
requirejs(["registrationservices"], function () { requirejs(["registrationservices"], function (registrationServices) {
RegistrationServices.validateFeature('sync'); registrationServices.validateFeature('sync');
}); });
}); });
$('.supporterPromotion .mainText', page).html(Globalize.translate('HeaderSyncRequiresSupporterMembership')); $('.supporterPromotion .mainText', page).html(Globalize.translate('HeaderSyncRequiresSupporterMembership'));