Linux-DVB-DVBT-Apps-QuartzPVR

 view release on metacpan or  search on metacpan

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

	
	var prog_args = [] ;
	for (var i in Prog.PROG_MAP)
	{
		var field = Prog.PROG_MAP[i] ;
		prog_args[i] = multirec_args[field] ;
	}

	// log.dbg(this.logDebug, " + + create Prog base:", prog_args) ;
	
	Prog.call(this, prog_args) ;
	
	this.type = 'Multirec' ;

	// multiplex id
	this.multid = multirec_args["multid"] ;
	
	// Container for the programs
	this.progs = [] ;
}

// Subclass from Prog
Multirec.prototype = new Prog() ;

// Remove Prog properties from prototype
for (m in Multirec.prototype)
{
	if (typeof m == 'function')
		continue ;
	
	delete Multirec.prototype[m] ;
}

// Set constructor
Multirec.prototype.constructor = Multirec ;

/*======================================================================================================*/
// OVER-RIDE
/*======================================================================================================*/

/*------------------------------------------------------------------------------------------------------*/
// Create the multirecram content in a new 'a' element & return the 'a' element when we're done
Multirec.prototype._create_content = function()
{
	// nasty magic number (difference between li width and the span widths
	var width = (this._display_mins * Multirec.settings.PX_PER_MIN)-9 ;

//debug
if (width <= 0)
{
	width=1;
}

	var a = document.createElement("a");
	var class_name = "url uid" ;	// NOTE: Do *NOT* use variable name 'class' - IE fails!

	return a ;
}

/*------------------------------------------------------------------------------------------------------*/
Multirec.prototype.popup_contents = function(popupDiv, record_select)
{
	// log.dbg(this.logDebug, " + + Multirec.popup_contents()") ;

	var span = document.createElement("span");
	span.className = "wrap" ;
	popupDiv.appendChild(span) ;
	
	span.innerHTML = 
			'<span class="times">'+
				'<span class="dtstart">'+
					'<abbr class="value" title="'+this.start_date+'T'+this.start_time+'"></abbr>'+
					this.start_time+
				'</span>'+
				'-'+
				'<span class="dtend">'+
					'<abbr class="value" title="'+this.end_date+'T'+this.end_time+'"></abbr>'+
					this.end_time+
				'</span>'+
			'</span>' ;

	var desc = document.createElement("div");
	desc.className = "description" ;
	popupDiv.appendChild(desc) ;
	
		var spanDesc = document.createElement("span");
		spanDesc.className = "summary" ;
		spanDesc.appendChild(document.createTextNode('Multiplex Record ['+this.multid+']'));
		desc.appendChild(spanDesc) ;

	var ul = document.createElement("ul");
	popupDiv.appendChild(ul) ;
	
	for (var i = 0; i < this.progs.length; i++)
	{
		var prog = this.progs[i] ;
		var progid = "prog"+i ;

		var li = document.createElement("li");
		ul.appendChild(li) ;
		
		var progdiv = document.createElement("div");
		progdiv.id = progid ;
		progdiv.className = "multi" ;
		li.appendChild(progdiv);
		
		// log.dbg(this.logDebug, " + + Multirec.popup_contents() - progdiv "+i+" = "+progdiv) ;

		if (progdiv)
			prog.popup_contents(progdiv, record_select) ; 
	}
	
	
}

/*------------------------------------------------------------------------------------------------------*/
//return the class name fotr recording 
Multirec.prototype.record_class = function()
{
	return "multirec" ;
}



///////////////////////////////////////////////////////////////////////////////////

/*------------------------------------------------------------------------------------------------------*/
Multirec.prototype.add_prog = function(rid, chanid, record, prog, multid)
{
	// save in this multiplexs record's list of progs
	this.progs.push(prog) ;
	
	// Create a recording entry for the prog
	var recording = new Recording(rid, chanid, record, prog, multid) ;
	return recording ;
}

// work out reverse map
for (var i in Multirec.MULTIREC_MAP)
{
	var field = Multirec.MULTIREC_MAP[i] ;
	Multirec.MULTIREC_FIELDS[field] = i ;
}
	



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