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="ct-builder-grid.html"> | 7 <link rel="import" href="ct-builder-grid.html"> |
8 <link rel="import" href="ct-commit-list.html"> | 8 <link rel="import" href="ct-commit-list.html"> |
9 <link rel="import" href="ct-test-list.html"> | 9 <link rel="import" href="ct-test-list.html"> |
10 | 10 |
11 <polymer-element name="ct-failure-card" attributes="group commits tree"> | 11 <polymer-element name="ct-failure-card" attributes="group commits tree"> |
12 <template> | 12 <template> |
13 <style> | 13 <style> |
14 :host { | 14 :host { |
15 display: flex; | 15 display: flex; |
16 } | 16 } |
17 | 17 |
18 /* FIXME: All this paper-button styling should go in a cr-button component
so that | 18 /* FIXME: All this paper-button styling should go in a cr-button component
so that |
19 we can use buttons in different places and have them all look the same.
*/ | 19 we can use buttons in different places and have them all look the same.
*/ |
20 paper-button { | 20 paper-button { |
21 -webkit-user-select: none; | 21 -webkit-user-select: none; |
22 background: #f5f5f5; | 22 background: #f5f5f5; |
23 border-radius: 2px; | 23 border-radius: 2px; |
24 border: 1px solid #dcdcdc; | 24 border: 1px solid #dcdcdc; |
25 color: #444; | 25 color: #444; |
26 padding: 0 16px; | 26 padding: 0 16px; |
| 27 margin-bottom: 5px; |
27 text-align: center; | 28 text-align: center; |
28 } | 29 } |
29 | 30 |
30 paper-button:focus { | 31 paper-button:focus { |
31 border: 1px solid #4d90fe; | 32 border: 1px solid #4d90fe; |
32 outline: none; | 33 outline: none; |
33 } | 34 } |
34 | 35 |
35 paper-button:active { | 36 paper-button:active { |
36 box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); | 37 box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); |
37 } | 38 } |
38 | 39 |
39 paper-button:active, paper-button:hover { | 40 paper-button:active, paper-button:hover { |
40 background: #f8f8f8; | 41 background: #f8f8f8; |
41 border-color: #c6c6c6; | 42 border-color: #c6c6c6; |
42 box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); | 43 box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); |
43 color: #222; | 44 color: #222; |
44 } | 45 } |
45 | 46 |
46 ct-builder-grid { | 47 ct-builder-grid { |
47 margin-right: 10px; | 48 margin-right: 10px; |
48 width: 250px; | 49 width: 250px; |
49 } | 50 } |
50 | 51 |
51 .failure { | 52 #failure { |
52 flex: 1; | 53 flex: 1; |
53 } | 54 } |
54 | 55 |
| 56 #buttons { |
| 57 display: flex; |
| 58 flex-direction: column; |
| 59 } |
| 60 |
55 .snoozed { | 61 .snoozed { |
56 opacity: 0.5; | 62 opacity: 0.5; |
57 } | 63 } |
58 | |
59 #examine, #snooze { | |
60 align-self: flex-start; | |
61 } | |
62 </style> | 64 </style> |
63 <ct-builder-grid failures="{{ group.failures }}"></ct-builder-grid> | 65 <ct-builder-grid failures="{{ group.failures }}"></ct-builder-grid> |
64 <div class="{{ { failure: true, snoozed: group.isSnoozed } | tokenList }}"> | 66 <div id="failure" class="{{ { snoozed: group.isSnoozed } | tokenList }}"> |
65 <ct-test-list tests="{{ group.failures }}" tree="{{ tree }}"></ct-test-lis
t> | 67 <ct-test-list tests="{{ group.failures }}" tree="{{ tree }}"></ct-test-lis
t> |
66 <ct-commit-list first="{{ group.failures[0].lastPassingRevisions }}" | 68 <ct-commit-list first="{{ group.failures[0].lastPassingRevisions }}" |
67 last="{{ group.failures[0].firstFailingRevisions }}" | 69 last="{{ group.failures[0].firstFailingRevisions }}" |
68 commits="{{ commits }}"></ct-commit-list> | 70 commits="{{ commits }}"></ct-commit-list> |
69 </div> | 71 </div> |
70 <paper-button id="examine" on-tap="{{ examine }}">Examine</paper-button> | 72 <div id="buttons"> |
71 <template if="{{ !group.isSnoozed }}"> | 73 <paper-button id="examine" on-tap="{{ examine }}">Examine</paper-button> |
72 <paper-button id="snooze" on-tap="{{ snooze }}">Snooze</paper-button> | 74 <template if="{{ !group.isSnoozed }}"> |
73 </template> | 75 <paper-button id="snooze" on-tap="{{ snooze }}">Snooze</paper-button> |
74 <template if="{{ group.isSnoozed }}"> | 76 </template> |
75 <paper-button id="snooze" on-tap="{{ unsnooze }}">Unsnooze</paper-button> | 77 <template if="{{ group.isSnoozed }}"> |
76 </template> | 78 <paper-button id="snooze" on-tap="{{ unsnooze }}">Unsnooze</paper-button
> |
| 79 </template> |
| 80 </div> |
77 </template> | 81 </template> |
78 <script> | 82 <script> |
79 Polymer({ | 83 Polymer({ |
80 group: null, | 84 group: null, |
81 commits: {}, | 85 commits: {}, |
82 tree: '', | 86 tree: '', |
83 | 87 |
84 examine: function() { | 88 examine: function() { |
85 this.fire('ct-examine-failures', this.group); | 89 this.fire('ct-examine-failures', this.group); |
86 }, | 90 }, |
87 | 91 |
88 snooze: function() { | 92 snooze: function() { |
89 this.group.snoozeUntil(Date.now() + 60 * 60 * 1000); | 93 this.group.snoozeUntil(Date.now() + 60 * 60 * 1000); |
90 }, | 94 }, |
91 | 95 |
92 unsnooze: function() { | 96 unsnooze: function() { |
93 this.group.unsnooze(); | 97 this.group.unsnooze(); |
94 }, | 98 }, |
95 }); | 99 }); |
96 </script> | 100 </script> |
97 </polymer-element> | 101 </polymer-element> |
OLD | NEW |