mirror of
https://github.com/prometheus/prometheus.git
synced 2025-01-13 14:57:40 -08:00
Web UI QoL improvements (#5201)
1. Added an ability to resize text area on mouseclick 2. Remember selected target status button on page reload Signed-off-by: Maria Nemtinova <nemtinovamasha@gmail.com>
This commit is contained in:
parent
4cb6c202ff
commit
8e3a39f725
File diff suppressed because one or more lines are too long
|
@ -62,6 +62,12 @@ Prometheus.Graph.prototype.initialize = function() {
|
||||||
var graphWrapper = self.el.find("#graph_wrapper" + self.id);
|
var graphWrapper = self.el.find("#graph_wrapper" + self.id);
|
||||||
self.queryForm = graphWrapper.find(".query_form");
|
self.queryForm = graphWrapper.find(".query_form");
|
||||||
|
|
||||||
|
// Auto-resize the text area on input or mouseclick
|
||||||
|
var resizeTextarea = function(el) {
|
||||||
|
var offset = el.offsetHeight - el.clientHeight;
|
||||||
|
$(el).css('height', 'auto').css('height', el.scrollHeight + offset);
|
||||||
|
};
|
||||||
|
|
||||||
self.expr = graphWrapper.find("textarea[name=expr]");
|
self.expr = graphWrapper.find("textarea[name=expr]");
|
||||||
self.expr.keypress(function(e) {
|
self.expr.keypress(function(e) {
|
||||||
const enter = 13;
|
const enter = 13;
|
||||||
|
@ -69,14 +75,13 @@ Prometheus.Graph.prototype.initialize = function() {
|
||||||
self.queryForm.submit();
|
self.queryForm.submit();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auto-resize the text area on input.
|
|
||||||
var offset = this.offsetHeight - this.clientHeight;
|
|
||||||
var resizeTextarea = function(el) {
|
|
||||||
$(el).css('height', 'auto').css('height', el.scrollHeight + offset);
|
|
||||||
};
|
|
||||||
$(this).on('keyup input', function() { resizeTextarea(this); });
|
$(this).on('keyup input', function() { resizeTextarea(this); });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
self.expr.click(function(e) {
|
||||||
|
resizeTextarea(this);
|
||||||
|
});
|
||||||
|
|
||||||
self.expr.change(self.handleChange);
|
self.expr.change(self.handleChange);
|
||||||
|
|
||||||
self.rangeInput = self.queryForm.find("input[name=range_input]");
|
self.rangeInput = self.queryForm.find("input[name=range_input]");
|
||||||
|
|
|
@ -21,6 +21,14 @@ function showUnhealthy(_, container) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
|
if (!localStorage.selectedTab || localStorage.selectedTab == "all-targets"){
|
||||||
|
$("#all-targets").parent().addClass("active");
|
||||||
|
$(".table-container").each(showAll);
|
||||||
|
} else if (localStorage.selectedTab == "unhealthy-targets") {
|
||||||
|
$("#unhealthy-targets").parent().addClass("active");
|
||||||
|
$(".table-container").each(showUnhealthy);
|
||||||
|
}
|
||||||
|
|
||||||
$("button.targets").click(function () {
|
$("button.targets").click(function () {
|
||||||
const tableTitle = $(this).closest("h2").find("a").attr("id");
|
const tableTitle = $(this).closest("h2").find("a").attr("id");
|
||||||
|
|
||||||
|
@ -45,8 +53,10 @@ function init() {
|
||||||
|
|
||||||
if (target === "all-targets") {
|
if (target === "all-targets") {
|
||||||
$(".table-container").each(showAll);
|
$(".table-container").each(showAll);
|
||||||
|
localStorage.setItem("selectedTab", "all-targets");
|
||||||
} else if (target === "unhealthy-targets") {
|
} else if (target === "unhealthy-targets") {
|
||||||
$(".table-container").each(showUnhealthy);
|
$(".table-container").each(showUnhealthy);
|
||||||
|
localStorage.setItem("selectedTab", "unhealthy-targets");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<h1>Targets</h1>
|
<h1>Targets</h1>
|
||||||
<div id="showTargets" class="btn-group" data-toggle="buttons">
|
<div id="showTargets" class="btn-group" data-toggle="buttons">
|
||||||
<label class="btn btn-primary active">
|
<label class="btn btn-primary">
|
||||||
<input type="radio" name="targets" id="all-targets" autocomplete="off" checked> All
|
<input type="radio" name="targets" id="all-targets" autocomplete="off" checked> All
|
||||||
</label>
|
</label>
|
||||||
<label class="btn btn-primary">
|
<label class="btn btn-primary">
|
||||||
|
|
Loading…
Reference in a new issue