1 define([], 
  2     function () {
  3     	/**
  4 		 * @description Handler Object used to keep track of what is happening in the UI part
  5 		 * @name HANDLER
  6 		 * @class HANDLER
  7 		 * @example require('HANDLER')
  8 		 * @exports HANDLER
  9 		 * @version 1.0
 10 		 * @module HANDLER
 11 		 **/
 12     	HANDLER ={
 13     		/**
 14 			 * @description This Object will keep the track of teh last selection happened in the UI, It is a Kind of SELECTION_HANDLER, which will have start column end column etc..
 15 			 * @name LAST_SELECTION
 16 			 * @class LAST_SELECTION
 17 			 * @example require('HANDLER').LAST_SELECTION
 18 			 * @version 1.0
 19 			 * @module LAST_SELECTION
 20 			 * @memberOf LAST_SELECTION
 21 			 * @field
 22 			 **/
 23 			LAST_SELECTION:null,
 24 			/**
 25 			 * @description This Object will keep the track of teh last selection happened in the UI with TAB, It tracks whether the TAB selection is started and which row and column it is doing with.
 26 			 * @name TAB_HANDLER
 27 			 * @class TAB_HANDLER
 28 			 * @example require('HANDLER').TAB_HANDLER
 29 			 * @version 1.0
 30 			 * @module TAB_HANDLER
 31 			 * @memberOf TAB_HANDLER
 32 			 * @field
 33 			 **/
 34 			TAB_HANDLER:{
 35 				STARTED:false,
 36 				ROW:null,
 37 				COL:null
 38 			},
 39 			/**
 40 			 * @description This Object will keep the track of teh last selection happened in the UI mouse selection
 41 			 * @name SELECTION_HANDLER
 42 			 * @class SELECTION_HANDLER
 43 			 * @example require('HANDLER').SELECTION_HANDLER
 44 			 * @version 1.0
 45 			 * @module SELECTION_HANDLER
 46 			 * @memberOf SELECTION_HANDLER
 47 			 * @field
 48 			 **/
 49 			SELECTION_HANDLER:{
 50 				SELECTION_STARTED:null,
 51 				TYPE:null,
 52 				CURR_ROW:null,
 53 				CURR_COL:null
 54 			},
 55 			UI_HANDLER :null,
 56 			/**
 57 			 * @description This Object will keep the track of teh cell Drag, whether the drag and selection started, and what is the target.
 58 			 * @name CELL_DRAG_HANDLER
 59 			 * @class CELL_DRAG_HANDLER
 60 			 * @example require('HANDLER').CELL_DRAG_HANDLER
 61 			 * @version 1.0
 62 			 * @module CELL_DRAG_HANDLER
 63 			 * @memberOf CELL_DRAG_HANDLER
 64 			 * @field
 65 			 **/
 66 			CELL_DRAG_HANDLER:{
 67 				TARGET:null,
 68 			},
 69 			TYPE:{
 70 				ROW:1,
 71 				COL:2,
 72 				SELECTION:3
 73 			}
 74 		};
 75 		return HANDLER;
 76 	}
 77 );