diff options
| author | 2014-07-09 20:20:17 +0200 | |
|---|---|---|
| committer | 2014-07-09 20:20:17 +0200 | |
| commit | ab9d656135e5afcafb824e73a49ff2e9fd2a2dbd (patch) | |
| tree | 61018c0175436d3e15bf23531d9eb11f4e37017d | |
| parent | c1728fe0d776ccdedc20efd3120da599ac4157ed (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.phtml | 6 | ||||
| -rw-r--r-- | p/scripts/main.js | 13 |
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; }); |
