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 )