5f5aa5740d4d9aed473ec3b9d4c777dbf337d9e5
[WebKit-https.git] / Tools / QueueStatusServer / templates / statusbubble.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5 body {
6     font-family: Verdana, sans-serif;
7     margin: 0px;
8     padding: 0px;
9 }
10 #bubbleContainer {
11     display: inline-block;
12     white-space: nowrap;
13 }
14 .status {
15     display: block;
16     float: left;
17     margin: 1px;
18     padding: 1px 2px;
19     -moz-border-radius: 5px;
20     -webkit-border-radius: 5px;
21     border-radius: 5px;
22     border: 1px solid rgba(1, 1, 1, 0.3);
23     background-color: white;
24     font-size: 11px;
25     cursor: pointer;
26     text-decoration: none;
27     color: black;
28 }
29 .status:hover {
30     border-color: rgba(1, 1, 1, 0.7);
31 }
32 .pass {
33     background-color: #8FDF5F;
34 }
35 .fail {
36     background-color: #E98080;
37 }
38 .started {
39     background-color: #D8FFFA;
40 }
41 .provisional-fail {
42     background-color: #FFAF05;
43 }
44 .error {
45   background-color: #E0B0FF;
46 }
47 .queue_position {
48     font-size: 9px;
49 }
50 form {
51     display: inline-block;
52 }
53 </style>
54 <script>
55 window.addEventListener("message", function(e) {
56   if (e.data == 'containerMetrics') {
57     e.source.postMessage({'width': bubbleContainer.offsetWidth, 'height': bubbleContainer.offsetHeight},
58         e.origin);
59   } else
60     console.log("Unknown postMessage: " + e.data);
61 }, false);
62 </script>
63 </head>
64 <body>
65 <div id="bubbleContainer">
66   {% if show_failure_to_apply %}
67   <a class="status fail" target="_top"
68       href="/patch/{{ attachment_id }}"
69       title="None of the queues could apply the patch"
70   >
71     patch does not apply to trunk of repository
72   </a>
73   {% else %}
74   {% for bubble in bubbles %}
75   <a class="status {{ bubble.state }}" target="_top"
76       href="/patch/{{ bubble.attachment_id }}"
77   {% if bubble.details_message %}
78       title="{{ bubble.details_message }}"
79   {% endif %}
80   >
81     {{ bubble.name }}
82     {% if bubble.queue_position %}
83     <span class="queue_position">#{{ bubble.queue_position }}</span>
84     {% endif %}
85   </a>
86   {% endfor %}
87   {% endif %}
88
89 {% if show_submit_to_ews %}
90   <form name="submit_to_ews" method="POST" action="/submit-to-ews">
91     <input type="hidden" name="attachment_id" value="{{ attachment_id }}">
92     <input type="hidden" name="next_action" value="return_to_bubbles">
93     <input class="status" type="submit" value="Submit for EWS analysis">
94   </form>
95 {% endif %}
96
97 <script>
98 // Convert from UTC dates to local.
99 var bubbles = document.getElementsByClassName("status")
100 for (var i = 0; i < bubbles.length; ++i) {
101     var bubble = bubbles[i];
102     if (bubble.hasAttribute("title")) {
103         var newTitle = bubble.getAttribute("title").replace(/\[\[(.+)\]\]/, function(match, isoDateString) {
104             return new Date(isoDateString).toString();
105         });
106         bubble.setAttribute("title", newTitle);
107     }
108 }
109 </script>
110 </div>
111 </body>
112 </html>