You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.2 KiB
53 lines
1.2 KiB
"use strict"; |
|
var feeds = []; |
|
<?php foreach ($this->feeds as $feed) { ?> |
|
feeds.push("<?php echo Minz_Url::display (array ('c' => 'feed', 'a' => 'actualize', 'params' => array ('id' => $feed->id (), 'ajax' => '1')), 'php'); ?>"); |
|
<?php } ?> |
|
var feed_count = feeds.length; |
|
var feed_processed = 0; |
|
|
|
function initProgressBar(init) { |
|
if (init) { |
|
$("body").after("\<div id=\"actualizeProgress\" class=\"actualizeProgress\">\ |
|
<?php echo Minz_Translate::t ('refresh'); ?> <span class=\"progress\">0 / " + feed_count + "</span><br />\ |
|
<progress id=\"actualizeProgressBar\" value=\"0\" max=\"" + feed_count + "\"></progress>\ |
|
</div>"); |
|
} else { |
|
window.location.reload(); |
|
} |
|
} |
|
function updateProgressBar(i) { |
|
$("#actualizeProgressBar").val(i); |
|
$("#actualizeProgress .progress").html(i + " / " + feed_count); |
|
} |
|
|
|
function updateFeeds() { |
|
if (feed_count === 0) { |
|
return; |
|
} |
|
initProgressBar(true); |
|
|
|
for (var i = 0; i < 10; i++) { |
|
updateFeed(); |
|
} |
|
} |
|
|
|
function updateFeed() { |
|
if (feeds.length === 0) { |
|
return; |
|
} |
|
var feed = feeds.pop(); |
|
$.ajax({ |
|
type: 'POST', |
|
url: feed, |
|
}).done(function (data) { |
|
feed_processed++; |
|
updateProgressBar(feed_processed); |
|
|
|
if (feed_processed === feed_count) { |
|
initProgressBar(false); |
|
} else { |
|
updateFeed(); |
|
} |
|
}); |
|
}
|