blob: 514c0e5cb63c763b0196207a0025cd7ddf6f52ea [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: Verdana, sans-serif;
margin: 0px;
padding: 0px;
}
#bubbleContainer {
display: inline-block;
white-space: nowrap;
}
.status {
display: block;
float: left;
margin: 1px;
padding: 1px 2px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
border: 1px solid rgba(1, 1, 1, 0.3);
background-color: white;
font-size: 11px;
cursor: pointer;
text-decoration: none;
color: black;
}
.status:hover {
border-color: rgba(1, 1, 1, 0.7);
}
.pass {
background-color: #8FDF5F;
}
.fail {
background-color: #E98080;
}
.started {
background-color: #E1F5FF;
}
.provisional-fail {
background-color: #FFAF05;
}
.error {
background-color: #E0B0FF;
}
.queue_position {
font-size: 9px;
}
form {
float: left;
display: block;
}
</style>
<script>
window.addEventListener("message", function(e) {
if (e.data === 'containerMetrics') {
var parentContainer = bubbleContainer.parentElement;
var originalWidth = parentContainer.style.width;
parentContainer.style.width = "1000px";
var clientRect = bubbleContainer.getBoundingClientRect();
parentContainer.style.width = originalWidth;
e.source.postMessage({'width': Math.ceil(clientRect.width), 'height': Math.ceil(clientRect.height)}, e.origin);
} else
console.log("Unknown postMessage: " + e.data);
}, false);
</script>
</head>
<body>
<div id="bubbleContainer">
{% if show_failure_to_apply %}
<a class="status fail" target="_blank"
href="/patch/{{ patch_id }}"
title="None of the queues could apply the patch"
>
patch does not apply to trunk of repository
</a>
{% else %}
{% for bubble in bubbles %}
<a class="status {{ bubble.state }}" target="_blank"
{% if bubble.url %}
href="{{ bubble.url }}"
{% endif %}
{% if bubble.details_message %}
title="{{ bubble.details_message }}"
{% endif %}
>
{{ bubble.name }}
{% if bubble.queue_position %}
<span class="queue_position">#{{ bubble.queue_position }}</span>
{% endif %}
</a>
{% endfor %}
{% endif %}
{% if show_submit_to_ews %}
<form name="submit_to_ews" method="POST" action="/submit-to-ews/">{% csrf_token %}
<input type="hidden" name="patch_id" value="{{ patch_id }}">
<input type="hidden" name="next_action" value="return_to_bubbles">
<input class="status" type="submit" value="Submit for EWS analysis">
</form>
{% endif %}
{% if show_retry_button %}
<form name="retry" method="POST" action="/retry/">{% csrf_token %}
<input type="hidden" name="patch_id" value="{{ patch_id }}">
<input class="status" type="submit" value="&#8635; Retry failed builds">
</form>
{% endif %}
<script>
// Convert from UTC dates to local.
var bubbles = document.getElementsByClassName("status")
for (var i = 0; i < bubbles.length; ++i) {
var bubble = bubbles[i];
if (bubble.hasAttribute("title")) {
var newTitle = bubble.getAttribute("title").replace(/\[\[(.+)\]\]/, function(match, isoDateString) {
return new Date(isoDateString).toString();
});
bubble.setAttribute("title", newTitle);
}
}
</script>
</div>
</body>
</html>