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/paper-button/paper-button.html"> | 7 <link rel="import" href="../bower_components/paper-button/paper-button.html"> |
8 <link rel="import" href="../bower_components/paper-toast/paper-toast.html"> | |
9 <link rel="import" href="../model/ct-commit-log.html"> | 8 <link rel="import" href="../model/ct-commit-log.html"> |
10 <link rel="import" href="ct-failing-builders.html"> | 9 <link rel="import" href="ct-failing-builders.html"> |
11 <link rel="import" href="ct-failure-analyzer.html"> | 10 <link rel="import" href="ct-failure-analyzer.html"> |
12 <link rel="import" href="ct-failure-grouper.html"> | 11 <link rel="import" href="ct-failure-grouper.html"> |
13 <link rel="import" href="ct-failure-stream.html"> | 12 <link rel="import" href="ct-failure-stream.html"> |
14 <link rel="import" href="ct-tree-status.html"> | 13 <link rel="import" href="ct-tree-status.html"> |
15 | 14 |
16 <polymer-element name="ct-unexpected-failures"> | 15 <polymer-element name="ct-unexpected-failures"> |
17 <template> | 16 <template> |
18 <style> | 17 <style> |
19 paper-toast { | |
20 bottom: 40px; | |
21 left: 10px; | |
22 } | |
23 | |
24 ct-failing-builders { | 18 ct-failing-builders { |
25 margin: 5px; | 19 margin: 5px; |
26 } | 20 } |
27 | 21 |
28 ct-tree-status { | 22 ct-tree-status { |
29 white-space: nowrap; | 23 white-space: nowrap; |
30 overflow: hidden; | 24 overflow: hidden; |
31 text-overflow: ellipsis; | 25 text-overflow: ellipsis; |
32 margin: 5px; | 26 margin: 5px; |
33 padding: 3px; | 27 padding: 3px; |
34 } | 28 } |
35 | 29 |
36 ct-tree-status[status=open] { | 30 ct-tree-status[status=open] { |
37 margin: 0; | 31 margin: 0; |
38 padding: 0; | 32 padding: 0; |
39 } | 33 } |
40 </style> | 34 </style> |
41 <ct-failure-analyzer id="analyzer" status="{{ analyzerStatus }}" failures="{
{ failures }}" builderLatestRevisions="{{ builderLatestRevisions }}"></ct-failur
e-analyzer> | 35 <ct-failure-analyzer id="analyzer" failures="{{ failures }}" builderLatestRe
visions="{{ builderLatestRevisions }}"></ct-failure-analyzer> |
42 <ct-failure-grouper failures="{{ failures.unexpected }}" groups="{{ failureG
roups }}"></ct-failure-grouper> | |
43 <ct-tree-status project="chromium"></ct-tree-status> | 36 <ct-tree-status project="chromium"></ct-tree-status> |
44 <ct-tree-status project="blink"></ct-tree-status> | 37 <ct-tree-status project="blink"></ct-tree-status> |
45 <ct-failing-builders builders="{{ failures.builders }}"></ct-failing-builder
s> | 38 <ct-failing-builders builders="{{ failures.builders }}"></ct-failing-builder
s> |
46 <ct-failure-stream groups="{{ failureGroups }}" builderLatestRevisions="{{ b
uilderLatestRevisions }}" commits="{{ revisionLog.commits }}"></ct-failure-strea
m> | 39 <ct-failure-stream groups="{{ failures.unexpected }}" builderLatestRevisions
="{{ builderLatestRevisions }}" commits="{{revisionLog.commits}}"></ct-failure-s
tream> |
47 <paper-toast id="toast" text="{{ analyzerStatus }}"></paper-toast> | |
48 </template> | 40 </template> |
49 <script> | 41 <script> |
50 Polymer({ | 42 Polymer({ |
51 revisionLog: new CTCommitLog(), | 43 revisionLog: new CTCommitLog(), |
52 | 44 |
53 attached: function() { | 45 attached: function() { |
54 this.update(); | 46 this.update(); |
55 setInterval(this.update.bind(this), config.kUpdateFrequency); | 47 setInterval(this.update.bind(this), config.kUpdateFrequency); |
56 }, | 48 }, |
57 | 49 |
58 update: function() { | 50 update: function() { |
59 // FIXME: These shouldn't update if there's already an update in progres
s. | 51 // FIXME: These shouldn't update if there's already an update in progres
s. |
60 this.revisionLog.update(); | 52 this.revisionLog.update(); |
61 this.$.analyzer.update(); | 53 this.$.analyzer.update(); |
62 var treeStatuses = this.shadowRoot.querySelectorAll("ct-tree-status"); | 54 var treeStatuses = this.shadowRoot.querySelectorAll("ct-tree-status"); |
63 for (var i = 0; i < treeStatuses.length; i++) | 55 for (var i = 0; i < treeStatuses.length; i++) |
64 treeStatuses[i].update(); | 56 treeStatuses[i].update(); |
65 }, | 57 }, |
66 | |
67 analyzerStatusChanged: function() { | |
68 this.$.toast.show(); | |
69 }, | |
70 }); | 58 }); |
71 </script> | 59 </script> |
72 </polymer-element> | 60 </polymer-element> |
OLD | NEW |