@ -7,6 +7,7 @@ var Range = require('./Range');  
			
		
	
		
			
				
					var  ItemSet  =  require ( './component/ItemSet' ) ;  
			
		
	
		
			
				
					var  Activator  =  require ( '../shared/Activator' ) ;  
			
		
	
		
			
				
					var  DateUtil  =  require ( './DateUtil' ) ;  
			
		
	
		
			
				
					var  CustomTime  =  require ( './component/CustomTime' ) ;  
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					/ * *  
			
		
	
		
			
				
					 *  Create  a  timeline  visualization   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -302,6 +303,65 @@ Core.prototype.getCustomTime = function() {  
			
		
	
		
			
				
					  return  this . customTime . getCustomTime ( ) ;   
			
		
	
		
			
				
					} ;  
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					/ * *  
			
		
	
		
			
				
					 *  Add  custom  vertical  bar   
			
		
	
		
			
				
					 *  param  { Date  |  String  |  Number }  time   A  Date ,  unix  timestamp ,  or   
			
		
	
		
			
				
					 *                                       ISO  date  string .  Time  point  where  the  new  bar  should  be  placed   
			
		
	
		
			
				
					 *  @ return  { int }  ID  of  the  new  bar   
			
		
	
		
			
				
					 * /   
			
		
	
		
			
				
					Core . prototype . addCustomTime  =  function  ( time )  {  
			
		
	
		
			
				
					  if  ( ! this . currentTime )  {   
			
		
	
		
			
				
					    throw  new  Error ( 'Option showCurrentTime must be true' ) ;   
			
		
	
		
			
				
					  }   
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					  if  ( time  ===  undefined )  {   
			
		
	
		
			
				
					    throw  new  Error ( 'Time parameter for the custom bar must be provided' ) ;   
			
		
	
		
			
				
					  }   
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					  var  ts  =  util . convert ( time ,  'Date' ) . valueOf ( ) ,   
			
		
	
		
			
				
					      customTime ,  id ;   
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					  if  ( 'customLastId'  in  this )  {   
			
		
	
		
			
				
					    id  =  ++ this . customLastId ;   
			
		
	
		
			
				
					  }  else  {   
			
		
	
		
			
				
					    id  =  this . customLastId  =  1 ;   
			
		
	
		
			
				
					  }   
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					  customTime  =  new  CustomTime ( this . body ,  {   
			
		
	
		
			
				
					    showCustomTime  :  true ,   
			
		
	
		
			
				
					    time  :  ts ,   
			
		
	
		
			
				
					    id  :  id   
			
		
	
		
			
				
					  } ) ;   
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					  this . components . push ( customTime ) ;   
			
		
	
		
			
				
					  this . redraw ( ) ;   
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					  return  id ;   
			
		
	
		
			
				
					} ;  
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					/ * *  
			
		
	
		
			
				
					 *  Remove  previously  added  custom  bar   
			
		
	
		
			
				
					 *  @ param  { int }  id  ID  of  the  custom  bar  to  be  removed   
			
		
	
		
			
				
					 *  @ return  { boolean }  True  if  the  bar  exists  and  is  removed ,  false  otherwise   
			
		
	
		
			
				
					 * /   
			
		
	
		
			
				
					Core . prototype . removeCustomTime  =  function  ( id )  {  
			
		
	
		
			
				
					  var  me  =  this ;   
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					  var  reduceLastId  =  function ( )  {   
			
		
	
		
			
				
					    if  ( 'customLastId'  in  me  &&  me . customLastId  >  0 )  {   
			
		
	
		
			
				
					      me . customLastId -- ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					  } ;   
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					  this . components . forEach ( function  ( bar ,  index ,  components )  {   
			
		
	
		
			
				
					    if  ( bar  instanceof  CustomTime  &&  bar . options . id  ===  id )  {   
			
		
	
		
			
				
					      reduceLastId ( ) ;   
			
		
	
		
			
				
					      components . splice ( index ,  1 ) ;   
			
		
	
		
			
				
					      bar . destroy ( ) ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					  } ) ;   
			
		
	
		
			
				
					} ;  
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					
  
			
		
	
		
			
				
					/ * *  
			
		
	
		
			
				
					 *  Get  the  id ' s  of  the  currently  visible  items .