aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2014-07-09 20:20:17 +0200
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2014-07-09 20:20:17 +0200
commitab9d656135e5afcafb824e73a49ff2e9fd2a2dbd (patch)
tree61018c0175436d3e15bf23531d9eb11f4e37017d
parentc1728fe0d776ccdedc20efd3120da599ac4157ed (diff)
Block user to click many times on the refresh button
See https://github.com/marienfressinaud/FreshRSS/issues/513
-rw-r--r--app/views/javascript/actualize.phtml6
-rw-r--r--p/scripts/main.js13
2 files changed, 15 insertions, 4 deletions
diff --git a/app/views/javascript/actualize.phtml b/app/views/javascript/actualize.phtml
index 6a92e5642..d08dc47d1 100644
--- a/app/views/javascript/actualize.phtml
+++ b/app/views/javascript/actualize.phtml
@@ -10,7 +10,7 @@ var feeds = [<?php
function initProgressBar(init) {
if (init) {
$("body").after("\<div id=\"actualizeProgress\" class=\"notification good\">\
- <?php echo Minz_Translate::t ('refresh'); ?> <span class=\"progress\">0 / " + feed_count + "</span><br />\
+ <?php echo _t('refresh'); ?> <span class=\"progress\">0 / " + feed_count + "</span><br />\
<progress id=\"actualizeProgressBar\" value=\"0\" max=\"" + feed_count + "\"></progress>\
</div>");
} else {
@@ -24,7 +24,8 @@ function updateProgressBar(i) {
function updateFeeds() {
if (feed_count === 0) {
- openNotification("<?php echo Minz_Translate::t ('no_feed_to_refresh'); ?>", "good");
+ openNotification("<?php echo _t('no_feed_to_refresh'); ?>", "good");
+ ajax_loading = false;
return;
}
initProgressBar(true);
@@ -39,6 +40,7 @@ function updateFeed() {
if (feed == undefined) {
return;
}
+
$.ajax({
type: 'POST',
url: feed,
diff --git a/p/scripts/main.js b/p/scripts/main.js
index 54ee7f0fd..243159ca5 100644
--- a/p/scripts/main.js
+++ b/p/scripts/main.js
@@ -1,7 +1,8 @@
"use strict";
var $stream = null,
isCollapsed = true,
- shares = 0;
+ shares = 0,
+ ajax_loading = false;
function is_normal_mode() {
return $stream.hasClass('normal');
@@ -684,14 +685,22 @@ function init_actualize() {
var auto = false;
$("#actualize").click(function () {
+ if (ajax_loading) {
+ return false;
+ }
+
+ ajax_loading = true;
+
$.getScript('./?c=javascript&a=actualize').done(function () {
if (auto && feed_count < 1) {
auto = false;
- return;
+ ajax_loading = false;
+ return false;
}
updateFeeds();
});
+
return false;
});