Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(348)

Side by Side Diff: Tools/GardeningServer/scripts/ui.js

Issue 356273002: Remove StatusArea code from GOM it's dead. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 treestatus.fetchTreeStatus(treestatus.urlByName(name), statusSpan); 216 treestatus.fetchTreeStatus(treestatus.urlByName(name), statusSpan);
217 }, 217 },
218 init: function() 218 init: function()
219 { 219 {
220 this.className = 'treestatus'; 220 this.className = 'treestatus';
221 this.addStatus('blink'); 221 this.addStatus('blink');
222 this.addStatus('chromium'); 222 this.addStatus('chromium');
223 }, 223 },
224 }); 224 });
225 225
226 ui.StatusArea = base.extends('div', {
227 init: function()
228 {
229 // This is a Singleton.
230 if (ui.StatusArea._instance)
231 return ui.StatusArea._instance;
232 ui.StatusArea._instance = this;
233
234 var kMinimumStatusAreaHeightPx = 60;
235 var dragger = document.createElement('div');
236 var initialY;
237 var initialHeight;
238 dragger.className = 'dragger';
239 $(dragger).mousedown(function(e) {
240 initialY = e.pageY;
241 initialHeight = $(this).height();
242 $(document.body).addClass('status-resizing');
243 }.bind(this));
244 $(document.body).mouseup(function(e) {
245 initialY = 0;
246 initialHeight = 0;
247 $(document.body).removeClass('status-resizing');
248 });
249 $(document.body).mousemove(function(e) {
250 if (initialY) {
251 var newHeight = initialHeight + initialY - e.pageY;
252 if (newHeight >= kMinimumStatusAreaHeightPx)
253 $(this).height(newHeight);
254 e.preventDefault();
255 }
256 }.bind(this));
257 this.appendChild(dragger);
258
259 this.contents = document.createElement('div');
260 this.contents.className = 'contents';
261 this.appendChild(this.contents);
262
263 this.className = 'status';
264 document.body.appendChild(this);
265 this._currentId = 0;
266 this._unfinishedIds = {};
267
268 this.appendChild(new ui.actions.List([new ui.actions.Close()]));
269 $(this).bind('close', this.close.bind(this));
270
271 var processing = document.createElement('progress');
272 processing.className = 'process-text';
273 processing.textContent = 'Processing...';
274 this.appendChild(processing);
275 },
276 close: function()
277 {
278 this.style.visibility = 'hidden';
279 Array.prototype.forEach.call(this.querySelectorAll('.status-content'), f unction(node) {
280 node.parentNode.removeChild(node);
281 });
282 },
283 addMessage: function(id, message)
284 {
285 this.style.visibility = 'visible';
286 $(this).addClass('processing');
287
288 var element = document.createElement('div');
289 $(element).addClass('message').text(message);
290
291 var content = this.querySelector('#' + id);
292 if (!content) {
293 content = document.createElement('div');
294 content.id = id;
295 content.className = 'status-content';
296 this.contents.appendChild(content);
297 }
298
299 content.appendChild(element);
300 if (element.offsetTop < this.scrollTop || element.offsetTop + element.of fsetHeight > this.scrollTop + this.offsetHeight)
301 this.scrollTop = element.offsetTop;
302 },
303 // FIXME: It's unclear whether this code could live here or in a controller.
304 addFinalMessage: function(id, message)
305 {
306 this.addMessage(id, message);
307
308 delete this._unfinishedIds[id];
309 if (!Object.keys(this._unfinishedIds).length)
310 $(this).removeClass('processing');
311 },
312 newId: function() {
313 var id = 'status-content-' + ++this._currentId;
314 this._unfinishedIds[id] = 1;
315 return id;
316 }
317 });
318
319 ui.revisionDetails = base.extends('span', { 226 ui.revisionDetails = base.extends('span', {
320 // We only support 2 levels of visual escalation levels: warning and critica l. 227 // We only support 2 levels of visual escalation levels: warning and critica l.
321 warnRollRevisionSpanThreshold: 45, 228 warnRollRevisionSpanThreshold: 45,
322 criticalRollRevisionSpanThreshold: 80, 229 criticalRollRevisionSpanThreshold: 80,
323 classNameForUrgencyLevel: function(rollRevisionSpan) { 230 classNameForUrgencyLevel: function(rollRevisionSpan) {
324 if (rollRevisionSpan < this.criticalRollRevisionSpanThreshold) 231 if (rollRevisionSpan < this.criticalRollRevisionSpanThreshold)
325 return "warning"; 232 return "warning";
326 return "critical"; 233 return "critical";
327 }, 234 },
328 updateUI: function(totRevision) { 235 updateUI: function(totRevision) {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 // We want this feature, but need to fetch the lastBlinkRollRevision via the interwebs. 313 // We want this feature, but need to fetch the lastBlinkRollRevision via the interwebs.
407 // Promise.all([checkout.lastBlinkRollRevision(), rollbot.fetchCurrentRo ll()]).then(function(results) { 314 // Promise.all([checkout.lastBlinkRollRevision(), rollbot.fetchCurrentRo ll()]).then(function(results) {
408 // theSpan.lastRolledRevision = results[0]; 315 // theSpan.lastRolledRevision = results[0];
409 // theSpan.roll = results[1]; 316 // theSpan.roll = results[1];
410 // theSpan.updateUI(totRevision); 317 // theSpan.updateUI(totRevision);
411 // }); 318 // });
412 } 319 }
413 }); 320 });
414 321
415 })(); 322 })();
OLDNEW
« no previous file with comments | « Tools/GardeningServer/scripts/controllers.js ('k') | Tools/GardeningServer/scripts/ui/actions.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698