1 /** 2 * @author Gillis Haasnoot <gillis.haasnoot@gmail.com> 3 * @package Banana.Controls 4 * @summary DataGridItemRender 5 */ 6 7 goog.provide('Banana.Controls.ItemRender'); 8 9 /** @namespace Banana.Controls.DataGridItemRender */ 10 namespace('Banana.Controls').DataGridItemRender = Banana.Control.extend( 11 /** @lends Banana.Controls.DataGridItemRender.prototype */ 12 { 13 14 /** 15 * Base class for itemrenders are used in various list renders of datagrids 16 * Itemrenders are the visible items in a datagrid. 17 * By extending from this base item render class you can build your own custom item render 18 * @constructs 19 * @extends Banana.Control 20 */ 21 init : function() 22 { 23 this._super(); 24 25 this.listRender = null; 26 }, 27 28 /** 29 * Sets reference to the list render 30 * @param {Banana.Controls.DataGridBaseListRender} lr 31 */ 32 setListRender : function(lr) 33 { 34 this.listRender = lr; 35 }, 36 37 /** 38 * @return {Banana.Controls.DataGridBaseListRender} 39 */ 40 getListRender : function() 41 { 42 return this.listRender; 43 }, 44 45 /** 46 * @param {int} i row index 47 */ 48 setRowIndex : function(i) 49 { 50 this.rowIndex = i; 51 }, 52 53 /** 54 * @return {int} index of the itemrender in the listrender 55 */ 56 getRowIndex : function() 57 { 58 return this.listRender.getIndexByRow(this.parent); 59 }, 60 61 /** 62 * @return {boolean} true when item can be selected 63 */ 64 getIsSelectable : function() 65 { 66 return false; 67 }, 68 69 /** 70 * @param {mixed} data 71 * @param {boolean} ignoreEvent 72 * @param {boolean} ignoreDom 73 */ 74 setData : function(data,ignoreEvent,ignoreDom) 75 { 76 this.data = data; 77 78 if (!ignoreEvent) 79 { 80 this.triggerEvent('dataChanged',data); 81 } 82 83 return this; 84 }, 85 86 /** 87 * @return {mixed} data 88 */ 89 getData : function() 90 { 91 return this.data; 92 } 93 });