OLD | NEW |
| (Empty) |
1 <!-- | |
2 Copyright 2014 The Chromium Authors. All rights reserved. | |
3 Use of this source code is governed by a BSD-style license that can be | |
4 found in the LICENSE file. | |
5 --> | |
6 | |
7 <link rel="import" href="../bower_components/core-menu/core-menu.html"> | |
8 <link rel="import" href="ct-results-by-builder.html"> | |
9 <link rel="import" href="ct-embedded-flakiness-dashboard.html"> | |
10 <link rel="import" href="ct-popout-iframe.html"> | |
11 <link rel="import" href="ct-commit-list.html"> | |
12 | |
13 <polymer-element name="ct-results-panel" attributes="group failureGroupKey tree"
> | |
14 <template> | |
15 <style> | |
16 :host { | |
17 display: flex; | |
18 flex-direction: column; | |
19 } | |
20 | |
21 core-menu > div { | |
22 padding: 5px 10px; | |
23 } | |
24 | |
25 core-menu > div.core-selected { | |
26 font-weight: bold; | |
27 } | |
28 | |
29 .message { | |
30 margin: 20px; | |
31 text-align: center; | |
32 } | |
33 | |
34 ct-popout-iframe { | |
35 height: 100%; | |
36 } | |
37 | |
38 core-menu { | |
39 box-shadow: 0 3px 3px #ccc; | |
40 flex: none; | |
41 /* Override /deep/ selector in core-menu.css. */ | |
42 margin: 0 !important; | |
43 max-height: 20%; | |
44 overflow: auto; | |
45 /* So the box-shadow goes on top of the results. */ | |
46 z-index: 1; | |
47 } | |
48 | |
49 .results { | |
50 flex: 1; | |
51 overflow: auto; | |
52 /* Stay below the box shadow of the core-menu. */ | |
53 padding-top: 6px; | |
54 } | |
55 </style> | |
56 | |
57 <template if="{{ !group.data.url && !group.data.failures.length }}"> | |
58 <div class="message">{{ loading ? 'Loading...' : 'No results to display.'
}}</div> | |
59 </template> | |
60 | |
61 <template if="{{ group.data.url }}"> | |
62 <ct-popout-iframe src="{{ group.data.url }}"></ct-popout-iframe> | |
63 </template> | |
64 | |
65 <template if="{{ group.data.failures }}"> | |
66 <template if="{{ group.data.failures.length }}"> | |
67 <core-menu selected="{{ selected }}"> | |
68 <template repeat="{{ failure in group.data.failures }}"> | |
69 <template if="{{ failure.testName }}"> | |
70 <div>{{ failure.testName }}</div> | |
71 </template> | |
72 </template> | |
73 </core-menu> | |
74 </template> | |
75 <div class="results"> | |
76 <template if="{{ group.data.failures[selected].testName }}"> | |
77 <ct-embedded-flakiness-dashboard test="{{ group.data.failures[selected
] }}"></ct-embedded-flakiness-dashboard> | |
78 </template> | |
79 <ct-results-by-builder failure="{{ group.data.failures[selected] }}"></c
t-results-by-builder> | |
80 <ct-commit-list commitList="{{ group.data.commitList }}" detailed="true"
></ct-commit-list> | |
81 </div> | |
82 </template> | |
83 | |
84 </template> | |
85 <script> | |
86 Polymer({ | |
87 group: null, | |
88 selected: 0, | |
89 loading: true, | |
90 | |
91 groupChanged: function() { | |
92 if (this.group) | |
93 this.loading = false; | |
94 this.selected = 0; | |
95 }, | |
96 }); | |
97 </script> | |
98 </polymer-element> | |
OLD | NEW |