mirror of
https://github.com/chylex/Nextcloud-News.git
synced 2024-11-21 22:42:48 +01:00
9bb6bf691c
Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
110 lines
3.8 KiB
JavaScript
110 lines
3.8 KiB
JavaScript
/**
|
|
* Nextcloud - News
|
|
*
|
|
* This file is licensed under the Affero General Public License version 3 or
|
|
* later. See the COPYING file.
|
|
*
|
|
* @author Bernhard Posselt <dev@bernhard-posselt.com>
|
|
* @copyright Bernhard Posselt 2014
|
|
*/
|
|
|
|
/**
|
|
* Used to update the admin settings
|
|
*/
|
|
(function (window, document, $) {
|
|
'use strict';
|
|
|
|
$(document).ready(function () {
|
|
var useCronUpdatesInput =
|
|
$('#news input[name="news-use-cron-updates"]');
|
|
var autoPurgeMinimumIntervalInput =
|
|
$('#news input[name="news-auto-purge-minimum-interval"]');
|
|
var autoPurgeCountInput =
|
|
$('#news input[name="news-auto-purge-count"]');
|
|
var maxRedirectsInput =
|
|
$('#news input[name="news-max-redirects"]');
|
|
var feedFetcherTimeoutInput =
|
|
$('#news input[name="news-feed-fetcher-timeout"]');
|
|
var maxSizeInput =
|
|
$('#news input[name="news-max-size"]');
|
|
var exploreUrlInput =
|
|
$('#news input[name="news-explore-url"]');
|
|
var updateIntervalInput =
|
|
$('#news input[name="news-update-interval"]');
|
|
var savedMessage = $('#news-saved-message');
|
|
|
|
var saved = function () {
|
|
if (savedMessage.is(':visible')) {
|
|
savedMessage.hide();
|
|
}
|
|
|
|
savedMessage.fadeIn(function () {
|
|
setTimeout(function () {
|
|
savedMessage.fadeOut();
|
|
}, 5000);
|
|
});
|
|
};
|
|
|
|
var submit = function () {
|
|
var autoPurgeMinimumInterval = autoPurgeMinimumIntervalInput.val();
|
|
var autoPurgeCount = autoPurgeCountInput.val();
|
|
var maxRedirects = maxRedirectsInput.val();
|
|
var feedFetcherTimeout = feedFetcherTimeoutInput.val();
|
|
var maxSize = maxSizeInput.val();
|
|
var exploreUrl = exploreUrlInput.val();
|
|
var updateInterval = updateIntervalInput.val()
|
|
var useCronUpdates = useCronUpdatesInput.is(':checked');
|
|
|
|
var data = {
|
|
autoPurgeMinimumInterval:
|
|
parseInt(autoPurgeMinimumInterval, 10),
|
|
autoPurgeCount: parseInt(autoPurgeCount, 10),
|
|
maxRedirects: parseInt(maxRedirects, 10),
|
|
feedFetcherTimeout: parseInt(feedFetcherTimeout, 10),
|
|
maxSize: parseInt(maxSize, 10),
|
|
useCronUpdates: useCronUpdates,
|
|
exploreUrl: exploreUrl,
|
|
updateInterval: parseInt(updateInterval, 10)
|
|
};
|
|
|
|
var url = OC.generateUrl('/apps/news/admin');
|
|
|
|
$.ajax({
|
|
type: 'PUT',
|
|
contentType: 'application/json; charset=utf-8',
|
|
url: url,
|
|
data: JSON.stringify(data),
|
|
dataType: 'json'
|
|
}).then(function (data) {
|
|
saved();
|
|
autoPurgeMinimumIntervalInput
|
|
.val(data.autoPurgeMinimumInterval);
|
|
autoPurgeCountInput.val(data.autoPurgeCount);
|
|
maxRedirectsInput.val(data.maxRedirects);
|
|
maxSizeInput.val(data.maxSize);
|
|
feedFetcherTimeoutInput.val(data.feedFetcherTimeout);
|
|
useCronUpdatesInput.prop('checked', data.useCronUpdates);
|
|
exploreUrlInput.val(data.exploreUrl);
|
|
updateIntervalInput.val(data.updateInterval);
|
|
});
|
|
|
|
};
|
|
|
|
$('#news input[type="text"]').blur(submit);
|
|
$('#news input[type="checkbox"]').change(submit);
|
|
$('#news-migrate').click(function () {
|
|
var button = $(this);
|
|
button.addClass('loading');
|
|
|
|
$.post(OC.generateUrl('/apps/news/admin/migrate'))
|
|
.always(function () {
|
|
button.removeClass('loading');
|
|
});
|
|
|
|
return false;
|
|
});
|
|
});
|
|
|
|
|
|
}(window, document, jQuery));
|