OLD | NEW |
1 <!-- | 1 <!-- |
2 Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 3 Use of this source code is governed by a BSD-style license that can be |
4 found in the LICENSE file. | 4 found in the LICENSE file. |
5 --> | 5 --> |
6 | 6 |
7 <link rel="import" href="../bower_components/core-menu/core-menu.html"> | 7 <link rel="import" href="../bower_components/core-menu/core-menu.html"> |
8 <link rel="import" href="../bower_components/paper-item/paper-item.html"> | 8 <link rel="import" href="../bower_components/paper-item/paper-item.html"> |
9 <link rel="import" href="ct-results-by-builder.html"> | 9 <link rel="import" href="ct-results-by-builder.html"> |
10 <link rel="import" href="ct-embedded-flakiness-dashboard.html"> | 10 <link rel="import" href="ct-embedded-flakiness-dashboard.html"> |
11 | 11 |
12 <polymer-element name="ct-results-panel" attributes="failures"> | 12 <polymer-element name="ct-results-panel" attributes="failures"> |
13 <template> | 13 <template> |
14 <style> | 14 <style> |
15 :host { | 15 :host { |
16 display: block; | 16 display: flex; |
| 17 flex-direction: column; |
17 } | 18 } |
18 | 19 |
19 paper-item.core-selected { | 20 paper-item.core-selected { |
20 font-weight: bold; | 21 font-weight: bold; |
21 } | 22 } |
22 | 23 |
23 .message { | 24 .message { |
| 25 margin: 20px; |
24 text-align: center; | 26 text-align: center; |
25 margin: 20px; | 27 } |
| 28 |
| 29 core-menu { |
| 30 box-shadow: 0 3px 3px #ccc; |
| 31 /* Override /deep/ selector in core-menu.css. */ |
| 32 margin: 0 !important; |
| 33 max-height: 20%; |
| 34 min-height: 150px; |
| 35 overflow: auto; |
| 36 /* So the box-shadow goes on top of the results. */ |
| 37 z-index: 1; |
| 38 } |
| 39 |
| 40 .results { |
| 41 /* Stay below the box shadow of the core-menu. */ |
| 42 padding-top: 6px; |
| 43 flex: 1; |
| 44 overflow: auto; |
26 } | 45 } |
27 </style> | 46 </style> |
28 <template if="{{!failures.length}}"> | 47 <template if="{{ !failures.length }}"> |
29 <div class="message">No results to display.</div> | 48 <div class="message">No results to display.</div> |
30 </template> | 49 </template> |
31 <template if="{{failures.length}}"> | 50 <template if="{{ failures.length }}"> |
32 <core-menu selected="{{selected}}"> | 51 <core-menu selected="{{ selected }}"> |
33 <template repeat="{{failure in failures}}"> | 52 <template repeat="{{ failure in failures }}"> |
34 <paper-item label="{{failure.testName}}"></paper-item> | 53 <paper-item label="{{ failure.testName }}"></paper-item> |
35 </template> | 54 </template> |
36 </core-menu> | 55 </core-menu> |
37 <ct-embedded-flakiness-dashboard test="{{failures[selected].testName}}"></
ct-embedded-flakiness-dashboard> | 56 <div class="results"> |
38 <ct-results-by-builder failure="{{failures[selected]}}"></ct-results-by-bu
ilder> | 57 <ct-embedded-flakiness-dashboard test="{{ failures[selected].testName }}
"></ct-embedded-flakiness-dashboard> |
| 58 <ct-results-by-builder failure="{{ failures[selected] }}"></ct-results-b
y-builder> |
| 59 </div> |
39 </template> | 60 </template> |
40 </template> | 61 </template> |
41 <script> | 62 <script> |
42 Polymer({ | 63 Polymer({ |
43 failures: [], | 64 failures: [], |
44 selected: 0, | 65 selected: 0, |
45 | 66 |
46 failuresChanged: function() { | 67 failuresChanged: function() { |
47 this.selected = 0; | 68 this.selected = 0; |
48 }, | 69 }, |
49 }); | 70 }); |
50 </script> | 71 </script> |
51 </polymer-element> | 72 </polymer-element> |
OLD | NEW |