Linux-DVB-DVBT-Apps-QuartzPVR

 view release on metacpan or  search on metacpan

js/tvguide/Objects/Schedule.js  view on Meta::CPAN

		|		$start		new $prog_start													|
	
		Obviously, only those programs that have their end time AFTER $start_mins or their start time
		BEFORE $end_mins are added (with their start/end truncated as appropriate)
				
				$start_mins														$end_mins
					|																|
					|																|
					|																|
				:///A////:        :////B///:                                  ://////C/////:
	
				:   :/A//:        :////B///:                                  ://C//:
	            :---:																:------:
	          truncated																truncated
	          
	
	
	*/

// log.dbg(this.logDebug, "Display schedule - filtered", list) ;

var total_mins=0;
var total=0;
	
	var start = this.settings.DISPLAY_START_MINS ;
// log.dbg(this.logDebug, " + START "+this.settings.DISPLAY_START_MINS+" END "+this.settings.DISPLAY_END_MINS) ;
	for (var i = 0; i < list.length; i++)
	{
// log.dbg(this.logDebug, " + start="+start) ;
// log.dbg(this.logDebug, " + prog @ "+list[i].prog.start_time+" duration="+list[i].prog.duration_mins) ;

		// Check for preceding padding
		if (list[i].prog.start_mins > start)
		{
			// Create padding
			var pad_width = (list[i].prog.start_mins - start) * this.settings.PX_PER_MIN ;

			li = document.createElement("li");
			ol.appendChild(li) ;
			li.style.width = pad_width+'px' ;
			li.className = "vevent" ;

			var a = document.createElement("a");
			li.appendChild(a) ;
		}

		// show program
		list[i]._display_mins = list[i].prog.calc_display_mins() ;
		width = list[i]._display_mins * this.settings.PX_PER_MIN ;
		
		li = document.createElement("li");
		ol.appendChild(li) ;
		li.style.width = width+'px' ;
		li.className = "vevent" ;

		var a = document.createElement("a");
		li.appendChild(a) ;
		a.className = "url uid " ; 
		a.className = a.className + list[i].prog.record_class() ;
		
		// add a popup display to show program details
		list[i].prog.add_prog_popup(a) ;

	
		// Update start
		start = list[i].prog.end_mins ;
	}

// log.dbg(this.logDebug, " + start="+start+"  END="+this.settings.DISPLAY_END_MINS) ;
	
	// check for blank at end of list
	if (start < this.settings.DISPLAY_END_MINS)
	{
		// Create padding
		var pad_mins = (this.settings.DISPLAY_END_MINS - start) ;
		var pad_width = (this.settings.DISPLAY_END_MINS - start) * this.settings.PX_PER_MIN ;

		li = document.createElement("li");
		ol.appendChild(li) ;
		li.style.width = pad_width+'px' ;
		li.className = "vevent" ;

		var a = document.createElement("a");
		li.appendChild(a) ;
		a.className = "pad" ;
	}

// log.dbg(this.logDebug, "FINAL total mins="+total_mins+" px="+total+" Expected mins="+Grid.settings.TOTAL_TIME_WIDTH) ;

Profile.stop("Schedule.display") ;

	return schedule ;
}





( run in 0.622 second using v1.01-cache-2.11-cpan-364913b4093 )