1 goog.provide('Banana.Controls.DataGridTileItemRender');
  2 
  3 goog.require('Banana.Controls.ItemRender');
  4 
  5 /** @namespace Banana.Controls.DataGridTileItemRender */
  6 namespace('Banana.Controls').DataGridTileItemRender = Banana.Controls.DataGridItemRender.extend(
  7 /** @lends Banana.Controls.DataGridTileItemRender.prototype */
  8 {
  9 	
 10 	/**
 11 	 * Base item render class for datagrid table tile renders.
 12 	 * All item renders made for the tile item render should extend from this class
 13 	 * 
 14 	 * example:
 15 	 
 16 	  //define our custom datagrid table item render
 17         myCustomItemRender = Banana.Controls.DataGridTableContentItemRender.extend({
 18 
 19 			createComponents : function()
 20 			{
 21 				var label = new Banana.Controls.Panel();
 22 				label.setData(this.getData().id);
 23 				this.addControl(new Banana.Controls.Panel());
 24 			}
 25 		});
 26 	 	
 27 		grid = new Banana.Controls.DataGrid();
 28 		
 29 		var listRender = new Banana.Controls.DataGridTileListRender()
 30 		
 31 		//note that this method required you to pass a function providing the itemrender.
 32 		listRender.setItemRender(function(){return new myCustomItemRender()});
 33 		
 34 		grid.setListRender(listRender);
 35 		
 36 		var content = [{id:1},{id:2}];	
 37 		
 38 		grid.setDataSource(content);	
 39 
 40 		this.addControl(grid);	 
 41 		
 42 	 * @constructs
 43 	 * @extends Banana.Controls.DataGridItemRender
 44 	 */
 45 	init : function()
 46 	{
 47 		this._super();
 48 	},
 49 	
 50 	/**
 51 	 * Overwrite this method to implement your own item render
 52 	 */
 53 	createComponents : function()
 54 	{
 55 		if (typeof(this.data) == "string")
 56 		{
 57 			var p = new Banana.Controls.Panel();
 58 			p.addControl(this.data);
 59 			this.addControl(p);
 60 		}
 61 	},
 62 	
 63 	
 64 	/**
 65 	 * Called when item is selected
 66 	 */
 67 	select : function()
 68 	{
 69 		this.getListRender().getItemRenderPlaceHolderByItemRender(this).addCssClass("BDataGridTileTilePlaceHolderSelected");
 70 	},
 71 	
 72 	/**
 73 	 * Called when item is deselected
 74 	 */
 75 	deselect : function()
 76 	{
 77 		this.getListRender().getItemRenderPlaceHolderByItemRender(this).removeCssClass("BDataGridTileTilePlaceHolderSelected");
 78 	},
 79 	
 80 	/**
 81 	 * Called when mouse moves over the item render.
 82 	 */
 83 	mouseOver : function()
 84 	{
 85 		
 86 	},
 87 	
 88 	/**
 89 	 * Called when mouse moves out the item render
 90 	 */
 91 	mouseOut : function()
 92 	{
 93 		
 94 	}
 95 });