1 /**
  2  * @author Gillis Haasnoot <gillis.haasnoot@gmail.com>
  3  * @package Banana.Controls
  4  * @summary DataGridStatusColumn
  5  */
  6 
  7 goog.provide('Banana.Controls.DataControls.ListControls.DataGrid.ColumnControls.DataGridStatusColumn');
  8 
  9 goog.require('Banana.Controls.DataControls.ListControls.DataGrid.ColumnControls.DataGridColumn');
 10 
 11 /** @namespace Banana.Controls.DataGridStatusColumn */
 12 namespace('Banana.Controls').DataGridStatusColumn = Banana.Controls.DataGridColumn.extend(
 13 /** @lends Banana.Controls.DataGridStatusColumn.prototype */
 14 {
 15 	/** 
 16 	 * Create datagrid status control for usage in table list renders.
 17 	 * use setStatus() to render a icon + text according the given status 
 18 	 * @constructs 
 19 	 * @extends Banana.Controls.DataGridColumn
 20 	 */
 21 	init : function()
 22 	{
 23 		this._super();
 24 	}
 25 });
 26 
 27 /**
 28  * @ignore
 29  */
 30 Banana.Controls.DataGridStatusColumn.prototype.getControl = function()
 31 {
 32 	this.c = new Banana.Controls.DataControl();
 33 	return this.c;
 34 };
 35 
 36 /**
 37  * sets status of the column
 38  *
 39  * @param {String} level 1 = green, 0 = orange, -1 = red, -2 = black
 40  * @param {String} text message
 41  */
 42 Banana.Controls.DataGridStatusColumn.prototype.setStatus = function(level,text)
 43 {
 44 	var im = 'bluedot.png';
 45 
 46 	switch(level)
 47 	{
 48 		case 1:
 49 			im = 'greendot.png';
 50 			break;
 51 		case 0:
 52 			im = 'orangedot.png';
 53 			break;
 54 		case -1:
 55 			im = 'reddot.png';
 56 			break;
 57 		case -2:
 58 			im = 'blackdot.png';
 59 			break;
 60 	}
 61 	var image = new Banana.Controls.Image();
 62 	image.setCss({'float':'left','margin-top':'4px','margin-right':'4px'});
 63 	image.setImage(Banana.Application.settings.imagedir+'/'+im);
 64 
 65 	var label = new Banana.Controls.Label();
 66 	label.addCssClass('BDataGridStatusColumnText');
 67 	label.setCss({'float':'left'});
 68 	label.setData(text || '');
 69 
 70 	this.c.addControl(image);
 71 	this.c.addControl(label);
 72 };