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 };