OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
43 }); | 43 }); |
44 | 44 |
45 ui.notifications.Notification = base.extends('li', { | 45 ui.notifications.Notification = base.extends('li', { |
46 init: function() | 46 init: function() |
47 { | 47 { |
48 this._how = this.appendChild(document.createElement('div')); | 48 this._how = this.appendChild(document.createElement('div')); |
49 this._how.className = 'how'; | 49 this._how.className = 'how'; |
50 this._what = this.appendChild(document.createElement('div')); | 50 this._what = this.appendChild(document.createElement('div')); |
51 this._what.className = 'what'; | 51 this._what.className = 'what'; |
52 this._index = 0; | 52 this._index = 0; |
53 $(this).hide().fadeIn('fast'); | 53 requestAnimationFrame(function() { |
54 this.animate([ | |
55 {opacity: '0'}, | |
56 {opacity: '1'}, | |
57 ], 200); | |
58 }.bind(this)); | |
abarth-chromium
2014/06/30 04:26:03
What's the point of using requestAnimationFrame?
ojan
2014/06/30 04:49:59
It didn't work to do it synchronously. I didn't fe
| |
54 }, | 59 }, |
55 dismiss: function() | 60 dismiss: function() |
56 { | 61 { |
57 // FIXME: These fade in/out effects are lame. | 62 this.animate([ |
58 $(this).fadeOut(function() | 63 {opacity: '1'}, |
59 { | 64 {opacity: '0'}, |
60 this.parentNode && this.parentNode.removeChild(this); | 65 ], 200).onfinish = this.remove.bind(this); |
61 }); | |
62 }, | 66 }, |
63 }); | 67 }); |
64 | 68 |
65 ui.notifications.Info = base.extends(ui.notifications.Notification, { | 69 ui.notifications.Info = base.extends(ui.notifications.Notification, { |
66 init: function(message) | 70 init: function(message) |
67 { | 71 { |
68 this.update(message); | 72 this.update(message); |
69 }, | 73 }, |
70 update: function(message) | 74 update: function(message) |
71 { | 75 { |
72 this._what.textContent = message; | 76 this._what.textContent = message; |
73 }, | 77 }, |
74 updateWithNode: function(node) | 78 updateWithNode: function(node) |
75 { | 79 { |
76 $(this._what).empty(); | 80 this._what.innerHTML = ''; |
77 this._what.appendChild(node); | 81 this._what.appendChild(node); |
78 } | 82 } |
79 }); | 83 }); |
80 | 84 |
81 ui.notifications.FailingTestGroup = base.extends('li', { | 85 ui.notifications.FailingTestGroup = base.extends('li', { |
82 init: function(groupName, testNameList) | 86 init: function(groupName, testNameList) |
83 { | 87 { |
84 this.appendChild(ui.createLinkNode(ui.urlForFlakinessDashboard(testNameL ist), groupName)); | 88 this.appendChild(ui.createLinkNode(ui.urlForFlakinessDashboard(testNameL ist), groupName)); |
85 } | 89 } |
86 }); | 90 }); |
(...skipping 29 matching lines...) Expand all Loading... | |
116 _addDetail: function(part, commitData, linkFunction) | 120 _addDetail: function(part, commitData, linkFunction) |
117 { | 121 { |
118 var content = commitData[part]; | 122 var content = commitData[part]; |
119 if (!content) | 123 if (!content) |
120 return; | 124 return; |
121 | 125 |
122 var span = this._details.appendChild(document.createElement('span')); | 126 var span = this._details.appendChild(document.createElement('span')); |
123 span.className = part; | 127 span.className = part; |
124 | 128 |
125 if (linkFunction) { | 129 if (linkFunction) { |
126 var parts = $.isArray(content) ? content : [content]; | 130 var parts = Array.isArray(content) ? content : [content]; |
127 parts.forEach(function(item, index) { | 131 parts.forEach(function(item, index) { |
128 if (index > 0) | 132 if (index > 0) |
129 span.appendChild(document.createTextNode(', ')); | 133 span.appendChild(document.createTextNode(', ')); |
130 var link = ui.createLinkNode(linkFunction(item), item); | 134 var link = ui.createLinkNode(linkFunction(item), item); |
131 link.className = part + '-item'; | 135 link.className = part + '-item'; |
132 span.appendChild(link); | 136 span.appendChild(link); |
133 }); | 137 }); |
134 } else { | 138 } else { |
135 span.textContent = content; | 139 span.textContent = content; |
136 } | 140 } |
(...skipping 26 matching lines...) Expand all Loading... | |
163 }, | 167 }, |
164 containsFailureAnalysis: function(failureAnalysis) | 168 containsFailureAnalysis: function(failureAnalysis) |
165 { | 169 { |
166 return this._testNameList.indexOf(failureAnalysis.testName) != -1; | 170 return this._testNameList.indexOf(failureAnalysis.testName) != -1; |
167 }, | 171 }, |
168 addFailureAnalysis: function(failureAnalysis) | 172 addFailureAnalysis: function(failureAnalysis) |
169 { | 173 { |
170 if (this.containsFailureAnalysis(failureAnalysis)) | 174 if (this.containsFailureAnalysis(failureAnalysis)) |
171 return false; | 175 return false; |
172 this._testNameList.push(failureAnalysis.testName); | 176 this._testNameList.push(failureAnalysis.testName); |
173 $(this._effects).empty(); | 177 this._effects.innerHTML = ''; |
174 this._forEachTestGroup(function(groupName, testNameList) { | 178 this._forEachTestGroup(function(groupName, testNameList) { |
175 this._effects.appendChild(new ui.notifications.FailingTestGroup(grou pName, testNameList)) | 179 this._effects.appendChild(new ui.notifications.FailingTestGroup(grou pName, testNameList)) |
176 }.bind(this)); | 180 }.bind(this)); |
177 return true; | 181 return true; |
178 }, | 182 }, |
179 _forEachTestGroup: function(callback) | 183 _forEachTestGroup: function(callback) |
180 { | 184 { |
181 var individualTests = []; | 185 var individualTests = []; |
182 base.forEachDirectory(this._testNameList, function(groupLabel, testsInDi rectory) { | 186 base.forEachDirectory(this._testNameList, function(groupLabel, testsInDi rectory) { |
183 if (testsInDirectory.length <= kMaxTestsPerGroup) { | 187 if (testsInDirectory.length <= kMaxTestsPerGroup) { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
216 }); | 220 }); |
217 | 221 |
218 ui.notifications.BuildersFailing = base.extends(ui.notifications.Failure, { | 222 ui.notifications.BuildersFailing = base.extends(ui.notifications.Failure, { |
219 init: function(message) | 223 init: function(message) |
220 { | 224 { |
221 if (message) | 225 if (message) |
222 this._problem.insertBefore(document.createTextNode(message + ':'), t his._problem.firstChild); | 226 this._problem.insertBefore(document.createTextNode(message + ':'), t his._problem.firstChild); |
223 }, | 227 }, |
224 setFailingBuilders: function(failuresList) | 228 setFailingBuilders: function(failuresList) |
225 { | 229 { |
226 $(this._effects).empty().append(Object.keys(failuresList).map(function(b uilderName) { | 230 this._effects.innerHTML = ''; |
231 Object.keys(failuresList).map(function(builderName) { | |
227 var effect = document.createElement('li'); | 232 var effect = document.createElement('li'); |
228 effect.className = 'builder'; | 233 effect.className = 'builder'; |
229 effect.appendChild(new ui.failures.Builder(builderName, failuresList [builderName])); | 234 effect.appendChild(new ui.failures.Builder(builderName, failuresList [builderName])); |
230 return effect; | 235 this._effects.appendChild(effect); |
231 })); | 236 }.bind(this)); |
232 } | 237 } |
233 }); | 238 }); |
234 | 239 |
235 })(); | 240 })(); |
OLD | NEW |