Current section

Files

Jump to
roger_ui priv static templates partitions.html
Raw

priv/static/templates/partitions.html

<h2>Partitions:</h2>
<div class="row">
<div class="col-xs-12">
<span id="partitions-data"></span>
</div>
</div>
<script>
function create_html(fun, data) {
return Object.keys(data).reduce(fun(data), "");
}
function partition_info(p) {
return "<dt>Paused:</dt>" +
"<dd>" + p.paused + "</dd>" +
"<dt>Message Count:</dt>" +
"<dd>" + (p.message_count || 0) + "</dd>" +
"<dt>Max Workers:</dt>" +
"<dd>" + (p.max_workers || 0) + "</dd>" +
"<dt>Consumer count:</dt>" +
"<dd>" + (p.consumer_count || 0) + "</dd>"
}
function subpartition_details(details) {
return function(acum, key) {
return acum + "<summary>" + key + ":</summary>" +
"<dl class='dl-horizontal'>" + partition_info(details[key]) + "</dl>";
}
}
function show_subpartitions(subs) {
return function(acum, key) {
return acum +
"<h4 class='alert alert-info'>" +
key +
":</h4>" +
create_html(subpartition_details, subs[key]);
}
}
function show_partitions(partitions) {
return function(acum, key) {
return acum +
"<div class='panel panel-default'>" +
"<div class='panel-heading'>" +
key +
"</div>" +
"<div class='panel-body'>" +
create_html(show_subpartitions, partitions[key]) +
"</div>" +
"</div>"
}
}
$(function() {
$.ajax({
url: "/api/partitions",
method: "GET",
data: {
partitions: [],
}
})
.done(function(data) {
var ps = create_html(show_partitions, data.partitions);
$("#partitions-data").html(ps);
})
.fail(function(xhr) {
$("#partitions-data").text("Error Loading Partitions");
console.error('error', xhr);
});
});
</script>