Notify user when there are no labels for a new silence

If user clicks on a silence button we make AJAX call to the /alerts.json endpoint to get all instances of given alert so we can allow user to select from all labels used. But it's possible that this alert will be resolved by the time user clicks on it, when this happens we simply list no labels, which might be confusing, show a message so user knows what happened.
This commit is contained in:
Łukasz Mierzwa
2017-05-04 14:39:06 +01:00
parent e827b737cf
commit b1873963df
2 changed files with 32 additions and 23 deletions

View File

@@ -3,31 +3,40 @@
<form id="newSilenceForm">
<label class="control-label">Labels to match</label>
<table class="table table-condensed silence-label-selects">
<% _.each(Alerts.SortMapByKey(labels), function(label) { %>
<% if (Object.keys(labels).length > 0) { %>
<% _.each(Alerts.SortMapByKey(labels), function(label) { %>
<tr>
<td align="center">
<span class="badge select-label-badge" title="Click to select / deselect all values" data-toggle="tooltip">
<%- Object.keys(label.value).length %>
</span>
</td>
<td>
<select class="selectpicker silence-label-picker"
data-label-key="<%= label.key %>"
data-style="silence-label-select"
<% if (Object.keys(label.value).length > 10) { %>data-live-search="true"<% } %>
<% if (Object.keys(label.value).length > 1) { %>data-actions-box="true"<% } %>
multiple>
<% _.each(Alerts.SortMapByKey(label.value), function(label_val) { %>
<option <% if (label_val.value.selected) { %>selected="selected"<% } %>
value="<%= label_val.key %>"
data-content="<span class='<%= label_val.value.attrs.class %>' style='<%= label_val.value.attrs.style %>'><%- label_val.value.attrs.text %></span>">
<%- label_val.value.attrs.text %>
</option>
<% }) %>
</select>
</td>
</tr>
<% }) %>
<% } else { %>
<tr>
<td align="center">
<span class="badge select-label-badge" title="Click to select / deselect all values" data-toggle="tooltip">
<%- Object.keys(label.value).length %>
</span>
</td>
<td>
<select class="selectpicker silence-label-picker"
data-label-key="<%= label.key %>"
data-style="silence-label-select"
<% if (Object.keys(label.value).length > 10) { %>data-live-search="true"<% } %>
<% if (Object.keys(label.value).length > 1) { %>data-actions-box="true"<% } %>
multiple>
<% _.each(Alerts.SortMapByKey(label.value), function(label_val) { %>
<option <% if (label_val.value.selected) { %>selected="selected"<% } %>
value="<%= label_val.key %>"
data-content="<span class='<%= label_val.value.attrs.class %>' style='<%= label_val.value.attrs.style %>'><%- label_val.value.attrs.text %></span>">
<%- label_val.value.attrs.text %>
</option>
<% }) %>
</select>
<td align="center" class="text-muted">
<i class="fa fa-info-circle"></i>
No labels to match on, all alerts are already resolved.
</td>
</tr>
<% }) %>
<% } %>
</table>
<div>

File diff suppressed because one or more lines are too long