view release on metacpan or search on metacpan
css/theme/black/plugin/profile.css
css/theme/black/tvguide/chanSel.css
css/theme/black/tvguide/default.css
css/theme/black/tvguide/grid.css
css/theme/black/tvguide/reclist.css
css/theme/black/tvguide/recorded.css
css/theme/black/tvguide/scan.css
css/theme/black/tvguide/searchlist.css
css/theme/black/tvguide/toolbar.css
css/theme/black/ui/dialog.css
css/theme/black/ui/popup.css
css/tvguide/chanSel.css
css/tvguide/default.css
css/tvguide/grid.css
css/tvguide/reclist.css
css/tvguide/recorded.css
css/tvguide/scan.css
css/tvguide/searchlist.css
css/tvguide/toolbar.css
css/ui/dialog.css
css/ui/popup.css
css/theme/black/images/audio-dvbt.png
css/theme/black/images/audio-iplay.png
css/theme/black/images/audio.png
css/theme/black/images/black_gloss.png
css/theme/black/images/chansel-grey.png
css/theme/black/images/chansel.png
css/theme/black/images/check-0.png
css/theme/black/images/check-1.png
css/theme/black/images/down.png
css/theme/black/images/fuzzy-all.png
css/theme/black/images/lschn.png
css/theme/black/images/lsgrd-iplay.png
css/theme/black/images/lsgrd-mrec.png
css/theme/black/images/lsgrd-rec.png
css/theme/black/images/lsgrd.png
css/theme/black/images/lstbb.png
css/theme/black/images/minus.png
css/theme/black/images/play-grey.png
css/theme/black/images/play.png
css/theme/black/images/plus.png
css/theme/black/images/popup.png
css/theme/black/images/priority-high.png
css/theme/black/images/priority-low.png
css/theme/black/images/priority-lowmedium.png
css/theme/black/images/priority-medium.png
css/theme/black/images/priority-mediumhigh.png
css/theme/black/images/priority-none.png
css/theme/black/images/rec-iplay-all.png
css/theme/black/images/rec-iplay-daily.png
css/theme/black/images/rec-iplay-multi.png
css/theme/black/images/rec-iplay-once.png
css/main.css view on Meta::CPAN
@import url("tvguide/default.css") ;
/* Extras */
@import url("plugin/log.css") ;
@import url("plugin/profile.css") ;
/* UI */
@import url("ui/dialog.css") ;
@import url("ui/popup.css") ;
/* Application */
@import url("tvguide/toolbar.css") ;
@import url("tvguide/grid.css") ;
@import url("tvguide/reclist.css") ;
@import url("tvguide/searchlist.css") ;
@import url("tvguide/recorded.css") ;
@import url("tvguide/chanSel.css") ;
@import url("tvguide/scan.css") ;
css/theme/black/main.css view on Meta::CPAN
@import url("tvguide/default.css") ;
/* Extras */
@import url("plugin/log.css") ;
@import url("plugin/profile.css") ;
/* UI */
@import url("ui/dialog.css") ;
@import url("ui/popup.css") ;
/* Application */
@import url("tvguide/toolbar.css") ;
@import url("tvguide/grid.css") ;
@import url("tvguide/reclist.css") ;
@import url("tvguide/searchlist.css") ;
@import url("tvguide/recorded.css") ;
@import url("tvguide/chanSel.css") ;
@import url("tvguide/scan.css") ;
css/theme/black/tvguide/grid.css view on Meta::CPAN
border-bottom: 1px solid #fff ;
}
/*--------------------------*/
/* Select program recording */
/* Record: Current setting */
/* Record: Tabbed menu of different types of recording */
.popupContent ul.recprog li ul.rectype {
border-bottom: 1px solid white ;
}
.popupContent ul.recprog li ul.rectype li.recopt {
border: 1px solid white ;
color: black ;
background: white ;
}
/* selected tab */
.popupContent ul.recprog li ul.rectype li.sel {
border-bottom: 1px solid black ;
color: white ;
background: black ;
}
/* Record: List of options */
.popupContent ul.recprog li ul.recsel li.sel {
background: #000055 ;
}
.popupContent ul.recprog li ul.recsel li.recradio:hover {
background: #009999 ;
}
/*-----------------------------------*/
/* Select program recording priority */
.popupContent ul.priprog:hover {
border-top: 1px solid white ;
}
.popupContent ul.priprog li:hover > ul {
/* display: block; - change to use javascript */
color: white ;
border-top: 1px solid white ;
}
/* Priority: Current setting */
/* Priority: List of options */
.popupContent ul.priprog li ul li.priradio {
background: #000022 ;
border-bottom: 1px solid #cccccc ;
}
.popupContent ul.priprog li ul li.sel {
background: #000055 ;
}
.popupContent ul.priprog li ul li.priradio:hover {
background: #009999 ;
}
css/theme/black/tvguide/recorded.css view on Meta::CPAN
#quartz-content #list-body #recordedContents .recCaption {
color: white ;
}
#quartz-content #list-body #recordedContents .fileNotPresent {
color: red ;
}
/* Popup information */
.popupContent .update {
color: yellow ;
font-style: italic ;
}
.popupContent .fileName {
color: yellow ;
font-weight: bold ;
}
.popupContent .fileNotPresent {
color: red ;
}
css/theme/black/tvguide/toolbar.css view on Meta::CPAN
*/
/* Main title */
#qtv-listings #gridhd {
background:#000 url(../images/titlebar.png) repeat-x top center;
}
#qtv-listings #gridhd h2 {
/* background: #000 url('black/tb.png') repeat-x ; */
/* background:#000 url(../images/popup.png) repeat-x top center;*/
/* border: 2px outset #555;*/
padding: 0 15px 5px 15px ;
}
css/theme/black/ui/popup.css view on Meta::CPAN
/*------------------------------------------------------------------------------------*/
/* Popup info */
.popupContent {
background-color:#000000;
background:#000 url(../images/popup.png) repeat-x top left;
border: solid white 1px;
}
.popupContent .wrap {
/*background:#f2e4fa;*/
color : white ;
}
.popupContent .summary {
color: yellow ;
}
.popupContent .times {
color: yellow ;
}
.popupContent .description {
/*background:#f2e4fa;*/
color : white ;
}
/* each program entry in a multirec list */
.popupContent .multi {
border-top: solid white 1px ;
/* background:#000 url(../images/popup.png) repeat top left; */
background: black ;
}
.popupContent .multi .wrap {
color: yellow ;
}
.popupContent .multi .summary {
color: yellow ;
}
css/tvguide/grid.css view on Meta::CPAN
#qtv-listings .timesel li a.hour {
padding: 0px ;
margin: 0px ;
}
/*--------------------------*/
/* Select program recording */
/* Record: Current setting */
.popupContent ul.recprog li {
margin-top: 3px ;
}
.popupContent ul.recprog li img {
vertical-align: middle ;
}
/* Record: Tabbed menu of different types of recording */
.popupContent ul.recprog li ul.rectype {
margin: 1em 0.1em ;
display: block ;
border-bottom: 1px solid white ;
padding: 2px 5px ;
}
.popupContent ul.recprog li ul.rectype li.recopt {
display: inline ;
padding: 2px 5px ;
/* tab sep */
margin: 0 0 0 5px ;
}
/* Record: List of options */
.popupContent ul.recprog li ul.recsel {
margin-top: 0.5em ;
}
.popupContent ul.recprog li ul.recsel li.recradio {
height: 2em ;
}
.popupContent ul.recprog li ul.recsel li img {
vertical-align: middle ;
}
.popupContent ul.recprog li ul.recsel li.recradio a {
text-decoration: none ;
}
/*-----------------------------------*/
/* Select program recording priority */
/* Priority: Current setting */
.popupContent ul.priprog li {
margin-top: 3px ;
height: 2em ;
}
.popupContent ul.priprog li img {
vertical-align: middle ;
}
/* Priority: List of options */
.popupContent ul.priprog li ul li.priradio {
height: 2em ;
}
.popupContent ul.priprog li ul li img {
vertical-align: middle ;
}
.popupContent ul.priprog li ul li.priradio a {
text-decoration: none ;
}
css/tvguide/reclist.css view on Meta::CPAN
.lrow ol {
clear: both ;
}
/*
RECORD:
<div class="popupContent" style="position: absolute; visibility: hidden; left: 49px; top: 37.25px; z-index: 100; width: 300px;">
<div class="recListPop">
<ul class="recprog">
<li class="sub">
<ul class="rectype">
<li class="recopt sel">
<a>DVBT</a>
</li>
<li class="recopt">
<a>FUZZY</a>
css/tvguide/reclist.css view on Meta::CPAN
</ul>
<ul class="recsel tab2" style="display: none;">
</li>
</ul>
</div>
</div>
...
PRIORITY:
<div class="popupContent" style="position: absolute; visibility: hidden; left: 1561px; top: 37.25px; z-index: 100; width: 300px;">
<div class="recListPop">
<ul>
<li class="recradio">
<a title="Only record if resources allow">
<img src="https://quartz-net.co.uk/su/apps/mediacentre-jquery/css/theme/black/images/priority-none.png">
Only record if resources allow
</a>
</li>
<li class="recradio chan">
<li class="recradio">
css/ui/popup.css view on Meta::CPAN
/*------------------------------------------------------------------------------------*/
/* Popup info */
.popupContent {
left: -4px;
top: -4px;
padding: 5px;
font: normal 10pt sans-serif;
width: 300px; /* default */
}
.popupContent .wrap {
display:block;
height:100%;
margin:0 4px 4px;
margin:0;
}
.popupContent .description {
overflow: visible;
z-index: 999;
}
.popupContent .summary {
display:block;
font-weight: bold;
}
.popupContent .wrap .times {
font-style: italic;
}
.popupContent .multi {
clear: both ;
}
js/jquery/jquery-1.4.js view on Meta::CPAN
var requestDone = false;
// Create the request object
var xhr = s.xhr();
if ( !xhr ) {
return;
}
// Open the socket
// Passing null username, generates a login popup on Opera (#2865)
if ( s.username ) {
xhr.open(type, s.url, s.async, s.username, s.password);
} else {
xhr.open(type, s.url, s.async);
}
// Need an extra try/catch for cross domain requests in Firefox 3
try {
// Set the correct header, if data is being sent
if ( s.data || origSettings && origSettings.contentType ) {
js/quartz/ClickHandler.js view on Meta::CPAN
/**
* ClickHandler.js: event handler factory for "popups" (that are displayed/hidden by clicking a node).
*
*
*/
// The constructor function for the ClickHandler class
function ClickHandler() {}
ClickHandler.ID = 0 ;
ClickHandler.POPUPS = {} ;
/*------------------------------------------------------------------------------------------------------*/
// Close any shown popups
ClickHandler.closeAll = function()
{
for (var id in ClickHandler.POPUPS)
{
var popupHide = ClickHandler.POPUPS[id] ;
popupHide() ;
}
}
/*------------------------------------------------------------------------------------------------------*/
// Add a popup window to a DOM node - shows the window when moused over
//
//settings object must contain:
//
// settings.create_popup(settings, x, y, callback) Return a popup object
// settings.popup_node(settings, popup) Get the DOM node from the popup
// settings.show_popup(settings, popup, x, y) Display popup
// settings.hide_popup(settings, popup) Hide it again
// settings.callback(settings, vars) The callback to be called when values change
//
ClickHandler.add_popup = function(node, settings)
{
//---------------------------------------------------------------------------------------------
// This is the function that adds event handlers
function addPopupToNode(link)
{
// Add event handlers
$(link).click(click) ;
// Keep track of this instance's popup
var popup ;
var popupNode ;
var popupShow = 0 ;
//----------------------------------------------------------------------------------------
// Main node click - show/hide popup
function click(event)
{
log.debug("ClickHandler.clicked popup");
event.stopPropagation() ;
if (!popupShow)
{
showPopup() ;
}
else
{
hidePopup() ;
}
}
//-----------------------------------------------------------------------------
js/quartz/ClickHandler.js view on Meta::CPAN
var margin = 20 ;
var pos = $(link).offset() ;
var x = pos.left + margin;
var y = pos.top + margin;
if (x < 0) x = 0 ;
if (y < 0) y = 0 ;
log.debug(" + x="+x+" y="+y);
// Create the popup object - tell it the callback routine to be called
popup = settings.create_popup(settings, x, y, callback) ;
popup.margin = margin ;
// Show the popup window
settings.show_popup(settings, popup, x, y);
// Retrieve the DOM object to be used for the popup
// NOTE: Do this AFTER showing to ensure object has been created
popupNode = settings.popup_node(settings, popup) ;
popupShow = 1 ;
log.debug(" + popupShow="+popupShow);
}
//----------------------------------------------------------------------------------------
function hidePopup()
{
log.debug("ClickHandler.hidePopup()");
// Call callback to hide the popup window
settings.hide_popup(settings, popup);
popupShow = 0 ;
}
//----------------------------------------------------------------------------
// Callback handler - called from popup contents - needs to be passed any changed vars
function callback(vars)
{
log.debug("ClickHandler.callback()");
// Close the popup BEFORE calling callback - callback may cause the DOM to be changed
hidePopup() ;
// Activate the real callback
settings.callback(settings, vars) ;
}
// return a ref to the popup hide routine
return hidePopup ;
}
// Add popup
var hideFunction = addPopupToNode(node);
// Now add this instance to the list
var id = ClickHandler.ID++ ;
ClickHandler.POPUPS[id] = hideFunction ;
}
js/quartz/InPlace.js view on Meta::CPAN
*
*
*/
var InPlace = {} ;
InPlace.ID = 0 ;
InPlace.EDITORS = {} ;
/*------------------------------------------------------------------------------------------------------*/
// Close any shown popups
InPlace.closeAll = function()
{
for (var id in InPlace.EDITORS)
{
var popupHide = InPlace.EDITORS[id] ;
popupHide() ;
}
}
// Constants
InPlace.ESCAPE = 27 ;
InPlace.ENTER = 13 ;
InPlace.TAB = 9 ;
js/quartz/InPlace.js view on Meta::CPAN
document.body.appendChild(edit);
node.editor = edit ;
}
var view = node ;
var editor = view.editor ;
view.callback = callback ;
view.userData = userData ;
// Prepare for popup handler
var inplaceSettings = {
//-----------------------------------------------------
create_popup: function(settings, x, y, callback) {
return view ;
},
//-----------------------------------------------------
popup_node : function(settings, popupObj) {
var view = popupObj ;
var editor = view.editor
return editor ;
},
//-----------------------------------------------------
show_popup : function(settings, popupObj, x, y) {
var view = popupObj ;
var editor = view.editor
if (!editor) return true ;
if (editor.currentView != null) {
editor.blur()
}
editor.currentView = view
editor.style["top"] = y + "px" ;
js/quartz/InPlace.js view on Meta::CPAN
editor.value = view.innerHTML
editor.style['visibility'] = 'visible'
view.style['visibility'] = 'hidden'
editor.abandonChanges = false
editor.focus()
},
//-----------------------------------------------------
// This is called by PopupHandler - only called when moused out
hide_popup : function(settings, popupObj) {
var view = popupObj ;
if (!view)
{
var dummy = 1 ;
}
else
{
var editor = view.editor
editor.abandonChanges = true
// Handle close of edit - hide popup and call callback with value
editor.blur();
}
},
//-----------------------------------------------------
callback : function(settings, vars) {
// NOT USED - view.editor.onblur() handles callbacks
var dummy = 1 ;
}
} ;
// Add event handling for popup
var hidePopup = PopupHandler.add_popup(node, inplaceSettings) ;
// Now add this instance to the list
var id = InPlace.ID++ ;
InPlace.EDITORS[id] = hidePopup ;
//--------------------------------------------------------------------------
// Node view event handlers
//--------------------------------------------------------------------------
//---------------------------------------------------------
js/quartz/Popup.js view on Meta::CPAN
/**
* Popup.js: simple CSS popups with drop shadows.
*
* This module defines a Popup class. Create a Popup object with the
* Popup() constructor. Then make it visible with the show() method.
* When done, hide it with the hide() method.
*
* Note that this module must be used with appropriate CSS class definitions
* to display correctly. The following are examples.
*
* .popupContent {
* left: -4px; top: -4px; /* how much of the shadow shows * /
* background-color: #ff0; /* yellow background * /
* border: solid black 1px; /* thin black border * /
* padding: 5px; /* spacing between text and border * /
* font: bold 10pt sans-serif; /* small bold font * /
* }
*
*/
function Popup() { // The constructor function for the Popup class
this.popup = null ;
this.margin = 30 ; // need enough to ensure we can see it all, but not too much so it cycles on/off
}
// Set the content and position of the popup and display it
Popup.prototype.show = function(content, x, y, width)
{
if (this.popup == null)
{
this.popup = document.createElement("div"); // create div for content
this.popup.style.position = "absolute"; // absolutely positioned
this.popup.style.visibility = "hidden"; // starts off hidden
this.popup.className = "popupContent"; // so we can style it
}
if (typeof content == "string")
{
this.popup.innerHTML = content; // Set the text of the popup.
}
else
{
// remove existing
while( this.popup.hasChildNodes() )
{
this.popup.removeChild( this.popup.lastChild );
}
// append node
this.popup.appendChild(content) ;
}
this.popup.style.left = x + "px"; // Set the position.
this.popup.style.top = y + "px";
this.popup.style.zIndex = 100; // top of the heap
this.popup.style.visibility = "visible"; // Make it visible.
if (!width) width=300 ;
this.popup.style.width = width+"px" ;
this.popup.style.visibility = "visible"; // Make it visible.
// Add the popup to the document if it has not been added before
if (this.popup.parentNode != document.body)
document.body.appendChild(this.popup);
};
// Hide the popup
Popup.prototype.hide = function() {
if (this.popup != null)
{
this.popup.style.visibility = "hidden"; // Make it invisible.
document.body.removeChild(this.popup);
this.popup = null ;
}
};
/*------------------------------------------------------------------------------------------------------*/
//Adjust x & y values to ensure popup is on screen
//
Popup.prototype.adjustXY = function(x, y)
{
if (this.popup == null)
return ;
var viewableDims = Geometry.viewableArea() ;
// Check we haven't gone over the edge - as popup drops down from the on-screen node (has to be on-screen otherwise
// we can't click it!) then just check bottom of popup hasn't gone past the end of the viewable area
//
// top:--------------
// ...
// y:
// | pop_height
// v
// -
//
//
//bot:------------------
//
var pop_height = this.popup.scrollHeight ;
if (y + pop_height + this.margin > viewableDims.bottomRight.y)
{
y = viewableDims.bottomRight.y - pop_height - this.margin ;
if (y < viewableDims.topLeft.y) y=viewableDims.topLeft.y ;
this.popup.style.top = y + "px";
}
var pop_width = this.popup.scrollWidth ;
if (x + pop_width + this.margin > viewableDims.bottomRight.x)
{
x = viewableDims.bottomRight.x - pop_width - this.margin ;
if (x < viewableDims.topLeft.x) x=viewableDims.topLeft.x ;
this.popup.style.left = x + "px";
}
if (x < viewableDims.topLeft.x)
{
x = viewableDims.topLeft.x ;
this.popup.style.left = x + "px";
}
}
js/quartz/PopupHandler.js view on Meta::CPAN
/**
* PopupHandler.js: event handler factory for popups.
*
*
*/
// The constructor function for the PopupHandler class
function PopupHandler() {}
/*------------------------------------------------------------------------------------------------------*/
// Add a popup window to a DOM node - shows the window when moused over
//
//settings object must contain:
//
// settings.create_popup(settings, x, y, callback) Return a popup object
// settings.popup_node(settings, popup) Get the DOM node from the popup
// settings.show_popup(settings, popup, x, y) Display popup
// settings.hide_popup(settings, popup) Hide it again
// settings.callback(settings, vars) The callback to be called when values change
//
PopupHandler.add_popup = function(node, settings)
{
//---------------------------------------------------------------------------------------------
// This is the function that adds event handlers
function addPopupToNode(link)
{
// Add event handlers
$(link).mouseover(mouseover) ;
$(link).mouseout(mouseout) ;
var timer; // Used with setTimeout/clearTimeout
var timerOff ;
// Keep track of this instance's popup
var popup ;
var popupNode ;
//----------------------------------------------------------------------------------------
// Main node mouseover - show popup
function mouseover(event)
{
log.debug("mouseover popup");
// get coords of link
var pos = $(link).offset() ;
var x = pos.left ;
var y = pos.top ;
if (x < 0) x = 0 ;
if (y < 0) y = 0 ;
// If a hide popup is pending, cancel it
if (timerOff)
{
window.clearTimeout(timerOff);
timerOff = null ;
hidePopup() ;
}
// If a popup is pending, cancel it
if (timer) window.clearTimeout(timer);
// Schedule a popup to appear in half a second
timer = window.setTimeout(showPopup, 500);
//-----------------------------------------------------------------------------
function showPopup()
{
log.debug("show popup");
// Create the popup object - tell it the callback routine to be called (which is this one below)
popup = settings.create_popup(settings, x, y, callback) ;
// Show the popup window
settings.show_popup(settings, popup, x, y);
// Retrieve the DOM object to be used for the popup
// NOTE: Do this AFTER showing to ensure object has been created
popupNode = settings.popup_node(settings, popup) ;
// Add event handlers
$(popupNode).mouseover(popup_mouseover) ;
$(popupNode).mouseout(popup_mouseout) ;
// Propagate 'mouseover' handler down to all popup children - otherwise we get a 'mouseout' as soon as we
// move from the popup background on to one of it's children div's etc.
for (var child in popupNode.getElementsByTagName('*'))
{
if (child.nodeType == 1 /* Node.ELEMENT_NODE */)
{
$(child).mouseover(popup_mouseover) ;
}
}
}
}
//----------------------------------------------------------------------------------------
// Main node mouseout
function mouseout(event)
{
log.debug("mouseout popup");
// If a popup is pending, cancel it
if (timerOff) window.clearTimeout(timerOff);
// Schedule popup to close in half a second
timerOff = window.setTimeout(hidePopup, 500);
// When the mouse leaves a link, clear any
// pending popups or hide it if it is shown
if (timer) window.clearTimeout(timer);
timer = null;
}
//----------------------------------------------------------------------------------------
// Popup child mouseover
function popup_mouseover(event)
{
// If a hide popup is pending, cancel it
if (timerOff)
{
window.clearTimeout(timerOff);
timerOff = null ;
}
// If a popup is pending, cancel it
if (timer) window.clearTimeout(timer);
}
//----------------------------------------------------------------------------------------
// Popup child mouseover
function popup_mouseout(event)
{
// If a popup hide is pending, cancel it
if (timerOff) window.clearTimeout(timerOff);
// Schedule popup to close in half a second
timerOff = window.setTimeout(hidePopup, 500);
// When the mouse leaves a link, clear any
// pending popups or hide it if it is shown
if (timer) window.clearTimeout(timer);
timer = null;
}
//----------------------------------------------------------------------------------------
function hidePopup()
{
// Call callback to hide the popup window
settings.hide_popup(settings, popup);
// If a popup hide is pending, cancel it
if (timerOff) window.clearTimeout(timerOff);
// If a popup show is pending, cancel it
if (timer) window.clearTimeout(timer);
}
//----------------------------------------------------------------------------
// Callback handler - called from popup contents - needs to be passed any changed vars
function callback(vars)
{
// Close the popup BEFORE calling callback - callback may cause the DOM to be changed
hidePopup() ;
// Activate the real callback as specified
settings.callback(settings, vars) ;
}
// useful for global close of all popups
return hidePopup ;
}
// Add the popup
var hidePopup = addPopupToNode(node);
return hidePopup ;
}
js/tvguide/GridApp.js view on Meta::CPAN
GridApp.checkUrl() ;
var params = {} ;
if (options && options.parameters)
params = options.parameters ;
// Track each command (unless told not to) so we can reload on redraw
if (!(options && options.nocache))
{
// check to see if popups should be closed
if (!GridApp.cmdCache || (GridApp.cmdCache.cmd !== cmd))
{
// new command so close any open popups
ClickHandler.closeAll() ;
InPlace.closeAll() ;
}
// Update the cache
GridApp.cmdCache = {
cmd : cmd,
options : options
} ;
}
js/tvguide/Objects/Multirec.js view on Meta::CPAN
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" ;
js/tvguide/Objects/Prog.js view on Meta::CPAN
/*
Manages a single program on a channel
*/
// Create the popup object we'll use
Prog.popup = new Popup();
Prog.settings = {} ;
//Map from array index to prog field
Prog.PROG_MAP = {
0 : "pid",
1 : "chanid",
2 : "start_time",
3 : "start_date",
4 : "end_time",
js/tvguide/Objects/Prog.js view on Meta::CPAN
Prog.MAP_LOOKUP.RECORD[group][recVal] = recObj ;
}
}
}
}
Prog.createMapLookup() ;
// Debug
Prog.DEBUG = {
popup : 1
} ;
//Set to true to globally enable debugging
Prog.prototype.logDebug = 0 ;
/*------------------------------------------------------------------------------------------------------*/
// Constructor
//
js/tvguide/Objects/Prog.js view on Meta::CPAN
if (args[i])
{
this[field] = args[i] ;
}
}
}
/*------------------------------------------------------------------------------------------------------*/
Prog.prototype.popup_contents = function(popupDiv, record_select)
{
var rid = -1 ;
var recording = Prog.settings.app.grid.lookup_recording(this.pid) ;
if (recording)
rid = recording.rid ;
var title = this.title ;
if (Settings.debug())
{
title = '[RID:'+rid+' PID:'+this.pid+'] '+
this.title+'</span>';
}
popupDiv.innerHTML =
'<span class="wrap">'+
'<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+
js/tvguide/Objects/Prog.js view on Meta::CPAN
'<span class="summary">'+
Prog.settings.app.allChans[this.chanid].name+
'</span>'+
'<span class="summary">'+
title+
'</span>'+
this.description+
'</div>' ;
var recUl = Prog.create_recsel(this, this.record, record_select)
popupDiv.appendChild(recUl) ;
}
/*------------------------------------------------------------------------------------------------------*/
Prog.prototype.add_prog_popup = function(node)
{
var progobj = this ;
// use this width
var popup_width = Prog.settings.POPUP_WIDTH_PX ;
var progSettings = {
//-----------------------------------------------------
create_popup: function(settings, x, y, callback) {
var popupDiv = document.createElement("div");
progobj.popup_contents(popupDiv, callback) ;
var popupObj = {
dom : popupDiv,
top : Prog.popup
} ;
// save popup in prog for debug
progobj['_progPopup'] = popupObj ;
return popupObj ;
},
//-----------------------------------------------------
popup_node : function(settings, popupObj) {
return popupObj.dom ;
},
//-----------------------------------------------------
show_popup : function(settings, popupObj, x, y) {
log.debug("Prog.show_popup()");
var popupDiv = popupObj.dom ;
x = x + 10 ;
y = y + 10 ;
// Show the popup window
Prog.popup.show(popupDiv, x, y, popup_width);
//Check we haven't gone over the edge
Prog.popup.adjustXY(x, y);
log.debug("Prog.show_popup() - end x="+x+" y="+y);
},
//-----------------------------------------------------
hide_popup : function(settings, popupObj) {
Prog.popup.hide();
},
//-----------------------------------------------------
callback : function(settings, vars) {
var progObject = vars.prog ;
var new_rec = vars.val ;
// only update if changed
if (new_rec != progObject.record)
{
js/tvguide/Objects/Prog.js view on Meta::CPAN
progObject.record = new_rec ;
// Prog.settings.app.set_rec(new_rec, progObject.chan, progObject.pid, progObject.record) ;
Prog.settings.app.set_rec(progObject, old_rec) ;
}
}
} ;
if (Prog.settings.PROG_POPUP)
{
PopupHandler.add_popup(node, progSettings) ;
}
else
{
ClickHandler.add_popup(node, progSettings) ;
}
}
/*------------------------------------------------------------------------------------------------------*/
// return the class name fotr recording - over ride with derived classes
Prog.prototype.record_class = function()
{
return "record" ;
}
js/tvguide/Objects/Prog.js view on Meta::CPAN
if (this.record > 0)
{
class_name += " record" ;
if (this.hasOnlyIPLAY())
{
class_name += " iplay" ;
}
}
a.className = class_name ;
// add a popup display to show program details
this.add_prog_popup(a) ;
var span_wrap = document.createElement("span");
span_wrap.className = "wrap" ;
span_wrap.style.width = width+"px" ;
a.appendChild(span_wrap);
var span_summ = document.createElement("span");
span_summ.className = "summary" ;
span_summ.style.width = width+"px" ;
span_summ.appendChild(document.createTextNode(this.title));
js/tvguide/Objects/Schedule.js view on Meta::CPAN
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)
js/tvguide/Objects/TvList.js view on Meta::CPAN
Builds the contents into the normal "gridbox" div
*/
//========================================================================================================
// CLASS
//========================================================================================================
TvList.settings = {} ;
TvList.popup = new Popup();
TvList.IMAGE_MAP = {
'show' : 'plus',
'hide' : 'minus'
} ;
/*------------------------------------------------------------------------------------------------------*/
// Constructor
function TvList(args)
{
// Data - override with args
this.rowClass = "" ;
this.subrowClass = "" ;
this.index = "pid" ;
this.subindex = "" ; // name of field containg list of sub-things
this.sort = TvList.sort ;
this.popupClassName = "tvListPop" ; // added to popupDiv for setting record level
this.recselCallback = TvList.setRecordings ; // callback called when record level changed
this.priCallback = TvList.setRecordings ; // callback called when priority changed
// add a ref to the global settings
this.settings = TvList.settings ;
this.popup = TvList.popup ;
// override with settings
if (args && (typeof args == "object"))
{
for (var setting in args)
{
this[setting] = args[setting] ;
}
}
js/tvguide/Objects/TvList.js view on Meta::CPAN
TvList.prototype.clear_grid = function()
{
var gridbox = document.getElementById("gridbox");
gridbox.innerHTML = "" ;
}
//===[ Record Selector ]==================================================================================
/*------------------------------------------------------------------------------------------------------*/
TvList.prototype.popup_recsel_contents = function(popupDiv, record_select, progObj)
{
popupDiv.className = this.popupClassName ;
var recUl = document.createElement("ul");
recUl.className = "recprog" ;
var recLi = document.createElement("li");
recLi.className = "sub" ;
recUl.appendChild(recLi) ;
// Add list of record options (with handler for each)
Prog.create_recSelTabs(recLi, progObj, record_select) ;
popupDiv.appendChild(recUl) ;
}
/*------------------------------------------------------------------------------------------------------*/
// Add a popup window for recording selection on multiple lines of the TvList display.
//
TvList.prototype.add_record_popup = function(node, progobj)
{
var thisObj = this ;
// use this width
var popup_width = thisObj.settings.POPUP_WIDTH_PX ;
var progSettings = {
//-----------------------------------------------------
create_popup: function(settings, x, y, callback) {
var popupDiv = document.createElement("div");
thisObj.popup_recsel_contents(popupDiv, callback, progobj) ;
var popupObj = {
dom : popupDiv
} ;
return popupObj ;
},
//-----------------------------------------------------
popup_node : function(settings, popupObj) {
return popupObj.dom ;
},
//-----------------------------------------------------
show_popup : function(settings, popupObj, x, y) {
var popupDiv = popupObj.dom ;
// ensure we're over the popupDiv to stop the popup cycling up/down
x = x - 10 ;
y = y - 10 ;
// Show the popup window
thisObj.popup.show(popupDiv, x, y, popup_width);
thisObj.popup.adjustXY(x, y) ;
},
//-----------------------------------------------------
hide_popup : function(settings, popupObj) {
thisObj.popup.hide();
},
//-----------------------------------------------------
callback : function(settings, vars) {
var progObject = vars.prog ;
var new_rec = vars.val ;
// only update if changed
if (new_rec != progObject.record)
{
// Call the GridApp.set_rec() method
var old_rec = progObject.record ;
progObject.record = new_rec ;
thisObj.recselCallback(progObject, old_rec) ;
}
}
} ;
PopupHandler.add_popup(node, progSettings) ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a record level selection element
TvList.prototype.display_recsel = function(ol, prog)
{
var li ;
li = document.createElement("li");
li.className = "lcol" ;
li.style.width = this.settings.REC_PX+'px' ;
ol.appendChild(li) ;
var a = document.createElement("a");
li.appendChild(a) ;
var img = document.createElement("img");
img.src = Prog.RecImg(prog.record) ;
a.appendChild(img) ;
// add a popup display to show program details
this.add_record_popup(a, prog) ;
return li ;
}
//===[ Priority Selector ]================================================================================
/*------------------------------------------------------------------------------------------------------*/
TvList.prototype.popup_prisel_contents = function(popupDiv, popup_callback, progObj)
{
popupDiv.className = this.popupClassName ;
var ul = document.createElement("ul");
// Add list of record options (with handler for each)
// Prog.create_priSelList(ul, progObj, progObj.record, popup_callback) ;
Prog.create_priSelList(ul, progObj, popup_callback) ;
popupDiv.appendChild(ul) ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a popup window for priority selection on multiple lines of the TvList display.
//
TvList.prototype.add_priority_popup = function(node, progobj)
{
var thisObj = this ;
// use this width
var popup_width = thisObj.settings.POPUP_WIDTH_PX ;
var progSettings = {
//-----------------------------------------------------
create_popup: function(settings, x, y, popup_callback) {
var popupDiv = document.createElement("div");
thisObj.popup_prisel_contents(popupDiv, popup_callback, progobj) ;
var popupObj = {
dom : popupDiv
} ;
return popupObj ;
},
//-----------------------------------------------------
popup_node : function(settings, popupObj) {
return popupObj.dom ;
},
//-----------------------------------------------------
show_popup : function(settings, popupObj, x, y) {
var popupDiv = popupObj.dom ;
// ensure we're over the popupDiv to stop the popup cycling up/down
x = x - 10 ;
y = y - 10 ;
// Show the popup window
thisObj.popup.show(popupDiv, x, y, popup_width);
thisObj.popup.adjustXY(x, y) ;
},
//-----------------------------------------------------
hide_popup : function(settings, popupObj) {
thisObj.popup.hide();
},
//-----------------------------------------------------
callback : function(settings, vars) {
var progObject = vars.prog ;
var new_pri = vars.val ;
// only update if changed
if (new_pri != progObject.priority)
{
// Call the GridApp.set_rec() method
progObject.priority = new_pri ;
// thisObj.recselCallback(progObject.record, progObject.pid, progObject.rid, progObject.priority) ;
thisObj.recselCallback(progObject, progObject.record) ;
}
}
} ;
PopupHandler.add_popup(node, progSettings) ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a record level selection element
TvList.prototype.display_prisel = function(ol, prog)
{
var li ;
js/tvguide/Objects/TvList.js view on Meta::CPAN
li.style.width = this.settings.REC_PX+'px' ;
ol.appendChild(li) ;
var a = document.createElement("a");
li.appendChild(a) ;
var img = document.createElement("img");
img.src = Prog.PriImg(pri) ;
a.appendChild(img) ;
// add a popup display to show program details
this.add_priority_popup(a, prog) ;
return li ;
}
//===[ Path Selector ]====================================================================================
/*------------------------------------------------------------------------------------------------------*/
TvList.prototype.popup_dirsel_contents = function(popupDiv, popup_callback, progObj)
{
popupDiv.className = this.popupClassName ;
// var div = document.createElement("div");
//----------------------------------------------------------------------------
// Value change callback
function add_editor_fn(progObj, callback) {
return function(edit) {
//----------------------------------------------------------------------------
js/tvguide/Objects/TvList.js view on Meta::CPAN
}
// Create the text edit
$(edit).change(function() {
dir_change(progObj, edit.value);
})
} ;
}
// Add directory editor
this.display_edit(popupDiv, 300, progObj.pathspec, add_editor_fn(progObj, popup_callback), "")
// popupDiv.appendChild(div) ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a popup window for pathspec selection on multiple lines of the TvList display.
//
TvList.prototype.add_dir_popup = function(node, progobj)
{
var thisObj = this ;
// use this width
var popup_width = thisObj.settings.POPUP_WIDTH_PX ;
var progSettings = {
//-----------------------------------------------------
create_popup: function(settings, x, y, popup_callback) {
var popupDiv = document.createElement("div");
thisObj.popup_dirsel_contents(popupDiv, popup_callback, progobj) ;
var popupObj = {
dom : popupDiv
} ;
return popupObj ;
},
//-----------------------------------------------------
popup_node : function(settings, popupObj) {
return popupObj.dom ;
},
//-----------------------------------------------------
show_popup : function(settings, popupObj, x, y) {
var popupDiv = popupObj.dom ;
x = x+10 ;
y = y ;
// Show the popup window
thisObj.popup.show(popupDiv, x, y, popup_width);
thisObj.popup.adjustXY(x, y) ;
},
//-----------------------------------------------------
hide_popup : function(settings, popupObj) {
thisObj.popup.hide();
},
//-----------------------------------------------------
callback : function(settings, vars) {
var progObject = vars.prog ;
var new_dir = vars.val ;
// only update if changed
if (new_dir != progObject.pathspec)
{
// Call the GridApp.set_rec() method
progObject.pathspec = new_dir ;
thisObj.recselCallback(progObject, progObject.record) ;
}
}
} ;
PopupHandler.add_popup(node, progSettings) ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a record level selection element
TvList.prototype.display_dirsel = function(ol, prog)
{
var pathspec = '' ;
if (prog.hasOwnProperty('pathspec'))
js/tvguide/Objects/TvList.js view on Meta::CPAN
.append(
$('<img>')
.attr({
'src' : Prog.ImageCache['icon_dir'].src,
'title' : 'Dir: ' + pathspec
})
)
// .click()
) ;
// add a popup display to show program details
this.add_dir_popup($('.dirSel', $(li)).get(0), prog) ;
return li ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a text edit
TvList.prototype.display_edit = function(ol, width, text, add_editor_fn, className)
{
js/tvguide/Pages/ChanSel.js view on Meta::CPAN
//
//
ChanSel.setup = function(settings)
{
// Copy settings
for (var setting in settings)
{
ChanSel.settings[setting] = settings[setting] ;
}
// make our popup bigger
ChanSel.settings.POPUP_WIDTH_PX = 600 ;
}
/*------------------------------------------------------------------------------------------------------*/
// Add/Create channels
//
ChanSel.prototype.update = function(chansel_data)
{
js/tvguide/Pages/RecList.js view on Meta::CPAN
Manages a list of TV program recording requests
*/
/*======================================================================================================*/
// Constructor
/*======================================================================================================*/
RecList.settings = {} ;
//Create the popup object we'll use
RecList.popup = new Popup();
function RecList(override)
{
var args = {
index : "pid" ,
subindex : "progsList" ,
sort : RecList.sort,
rowClass : "",
subrowClass : "lprog",
popupClassName : "recListPop",
recselCallback : RecList.setRecordings,
priCallback : RecList.setRecordings
} ;
// override with settings - provided for derived objects
if (override && (typeof override == "object"))
{
for (var setting in override)
{
js/tvguide/Pages/Recorded.js view on Meta::CPAN
/*
Show the latest recorded programs
*/
/*======================================================================================================*/
// Constructor
/*======================================================================================================*/
Recorded.settings = {} ;
//Create the popup object we'll use
Recorded.popup = new Popup();
function Recorded()
{
// fields
this.list = [] ;
// add a ref to the global settings
this.settings = Recorded.settings ;
this.popup = Recorded.popup ;
}
// Map from array index to entry field
Recorded.MAP = {
0 : "pid",
1 : "rid",
2 : "rectype",
3 : "title",
js/tvguide/Pages/Recorded.js view on Meta::CPAN
//
//
Recorded.setup = function(settings)
{
// Copy settings
for (var setting in settings)
{
Recorded.settings[setting] = settings[setting] ;
}
// make our popup bigger
Recorded.settings.POPUP_WIDTH_PX = 600 ;
}
/*------------------------------------------------------------------------------------------------------*/
// Add/Create progs
//
// Array of recordings "HASHes"
//
js/tvguide/Pages/Recorded.js view on Meta::CPAN
image = "audio" ;
}
if (recorded.rectype == "iplay")
{
image += "-iplay" ;
}
$("img", li$)
.attr("src", this.settings.app.getImage(image)) ;
// add a popup to show info
this.add_recorded_popup($("a", li$).get(0), recorded) ;
$("ol", recRowDiv$)
.append(li$) ;
if ( (col + CELL_WIDTH) >= TOTAL_WIDTH)
{
// start new row
col = 0 ;
}
}
// $("#gridbox")
// .replaceWith(gridbox$) ;
//
return idx ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a popup window to show recorded program information.
//
//<!--
//
//2 : "rectype",
//3 : "title",
//4 : "text",
//5 : "date",
//6 : "start",
//7 : "duration",
//8 : "chanid",
js/tvguide/Pages/Recorded.js view on Meta::CPAN
//File: /served/videos/PVR/Misc/TEST/CSI-Miami/Series RAUF/20110809205800-A young girl is kidnapped and the CSIs only witness is a blind man who hears the abduction, leading Horatio to an old nemesis serving a life sentence in prison.ts
//
//
//
//-->
//
//
// <div
// style="position: absolute;
// visibility: visible; left: 220px; top: 366px; z-index: 100; width: 600px;"
// class="popupContent">
//
// <div>
// <span class="wrap">
// <span class="times">
// Tue 21st Aug 2011
// </span>
// </span>
// <span class="wrap">
// <span class="times">
// <span class="dtstart"><abbr title="2011-06-06T21:00" class="value"></abbr>21:00</span> -
js/tvguide/Pages/Recorded.js view on Meta::CPAN
// </div>
// <div class="info">
// <img src="../css/theme/black/images/record-multi.png"><img src="../css/theme/black/images/priority-high.png">
// </div>
// <div class="fileName">
// File: /served/videos/PVR/Misc/TEST/QI XL/Series KVEGDJ/20110808233800-Happiness.ts
// </div>
// </div>
// </div>
//
Recorded.prototype.add_recorded_popup = function(node, recobj)
{
var thisObj = this ;
// use this width
var popup_width = thisObj.settings.POPUP_WIDTH_PX ;
var recSettings = {
//-----------------------------------------------------
create_popup: function(settings, x, y, popup_callback) {
var popupDiv = $("<div>")
.html(
'<span class="wrap">'
+ ' <span class="times">'
+ recobj.dateStr
+ ' </span>'
+ '</span>'
+ '<span class="wrap">'
+ ' <span class="times">'
+ ' <span class="dtstart">'+recobj.start+'</span> - '
+ ' <span class="dtend">'+recobj.end+'</span>'
js/tvguide/Pages/Recorded.js view on Meta::CPAN
+ '</div>'
+ '<div class="info">'
+ ' <img src="'+Prog.RecImg(recobj.record)+'"><img src="'+Prog.PriorityImg(recobj.priority)+'">'
+ '</div>'
+ '<div class="fileName '+(recobj.filePresent ? '' : 'fileNotPresent')+'">'
+ ' File: ' + recobj.file
+ '</div>'
)
.get(0);
var popupObj = {
dom : popupDiv
} ;
return popupObj ;
},
//-----------------------------------------------------
popup_node : function(settings, popupObj) {
return popupObj.dom ;
},
//-----------------------------------------------------
show_popup : function(settings, popupObj, x, y) {
var popupDiv = popupObj.dom ;
// ensure we're over the popupDiv to stop the popup cycling up/down
x = x - 10 ;
y = y - 10 ;
// Show the popup window
thisObj.popup.show(popupDiv, x, y, popup_width);
thisObj.popup.adjustXY(x, y) ;
},
//-----------------------------------------------------
hide_popup : function(settings, popupObj) {
thisObj.popup.hide();
}
} ;
PopupHandler.add_popup(node, recSettings) ;
}
js/tvguide/Pages/Scan.js view on Meta::CPAN
//
//
Scan.setup = function(settings)
{
// Copy settings
for (var setting in settings)
{
Scan.settings[setting] = settings[setting] ;
}
// make our popup bigger
Scan.settings.POPUP_WIDTH_PX = 600 ;
}
/*------------------------------------------------------------------------------------------------------*/
// Add/Create channels
//
Scan.prototype.update = function(data)
{
js/tvguide/Pages/SearchList.js view on Meta::CPAN
/*======================================================================================================*/
//Constructor
/*======================================================================================================*/
SearchList.settings = {} ;
// The last search object used in a search
SearchList.latestSearch = {} ;
//Create the popup object we'll use
SearchList.popup = new Popup();
// A dummy Prog to use with setting up new recordings
SearchList.srchProg = new Prog() ;
//Map search settings response
SearchList.SEARCH_MAP = {
0 : "title",
1 : "desc",
2 : "genre",
3 : "channel",
js/tvguide/Pages/SearchList.js view on Meta::CPAN
/*------------------------------------------------------------------------------------------------------*/
SearchList.args = {
index : "date" ,
subindex : "progsList" ,
sort : SearchList.sort,
rowClass : "",
subrowClass : "lprog",
popupClassName : "recListPop",
// used to change an existing Prog (found in search)
recselCallback : SearchList.setRecordings,
priCallback : SearchList.setRecordings
} ;
/*------------------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------*/
js/tvguide/Pages/SearchList.js view on Meta::CPAN
// create selector
this.typeSelector = this.display_labelled_select(ol,
SearchList.settings.LABEL_TYPE_PX, 'Type:',
SearchList.settings.EDIT_TYPE_PX, this.listingsType, types, types,
'select',
createChangeHandler(this)) ;
}
/*------------------------------------------------------------------------------------------------------*/
SearchList.prototype.popup_fuzzyrecsel_contents = function(popupDiv, record_select)
{
popupDiv.className = this.popupClassName ;
var recUl = document.createElement("ul");
recUl.className = "recprog" ;
Prog.create_recSelList(recUl, "FUZZY", SearchList.srchProg, record_select) ;
popupDiv.appendChild(recUl) ;
this.recList = recUl ;
// Find all entries that rely on the channel name being specified
this.recList.reqChannel = $(".chan", $(this.recList)).toArray() ;
// Update the dialog based on the channel name selection
this.update_rec_sel() ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a popup window for recording selection on multiple lines of the TvList display.
//
SearchList.prototype.add_fuzzy_record_popup = function(node)
{
var thisObj = this ;
// use this width
var popup_width = thisObj.settings.POPUP_WIDTH_PX ;
var progSettings = {
//-----------------------------------------------------
create_popup: function(settings, x, y, callback) {
var popupDiv = document.createElement("div");
thisObj.popup_fuzzyrecsel_contents(popupDiv, callback) ;
var popupObj = {
dom : popupDiv
} ;
return popupObj ;
},
//-----------------------------------------------------
popup_node : function(settings, popupObj) {
return popupObj.dom ;
},
//-----------------------------------------------------
show_popup : function(settings, popupObj, x, y) {
var popupDiv = popupObj.dom ;
// ensure we're over the popupDiv to stop the popup cycling up/down
x = x - 10 ;
y = y - 10 ;
// Show the popup window
thisObj.popup.show(popupDiv, x, y, popup_width);
thisObj.popup.adjustXY(x, y) ;
},
//-----------------------------------------------------
hide_popup : function(settings, popupObj) {
thisObj.popup.hide();
},
//-----------------------------------------------------
callback : function(settings, vars) {
var progObject = vars.prog ;
var new_rec = vars.val ;
// only update if changed
if (new_rec != progObject.record)
{
// Call the fuzzy record method
var old_rec = progObject.record ;
progObject.record = new_rec ;
SearchList.setFuzzyRecordings(progObject);
}
}
} ;
PopupHandler.add_popup(node, progSettings) ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a record level selection element
SearchList.prototype.display_fuzzyrecsel = function(ol)
{
// Container
var li = this._display_li(ol, this.settings.REC_PX, "") ;
var a = document.createElement("a");
a.id = "fuzzyrecsel" ;
li.appendChild(a) ;
this.fuzzyrecsel = a ;
var img = document.createElement("img");
img.src = Prog.RecImg(0) ;
a.appendChild(img) ;
// add a popup display to show program details
this.add_fuzzy_record_popup(a) ;
return li ;
}
/*------------------------------------------------------------------------------------------------------*/
//Add a record level selection element
SearchList.prototype.display_searchButton = function(ol)
{
// Container
var li = this._display_li(ol, this.settings.SEARCH_PX, "") ;
php/PEAR/DB/NestedSet/TigraMenu.php view on Meta::CPAN
// +----------------------------------------------------------------------+
// | Authors: Daniel Khan <dk@webcluster.at> |
// +----------------------------------------------------------------------+
//
// $Id: TigraMenu.php,v 1.6 2003/05/25 00:46:46 datenpunk Exp $
//
// {{{ DB_NestedSet_TigraMenu:: class
/**
* This class can be used to generate the data to build javascript popup menu
* from a DB_NestedSet node array.
* The Javascript part is done using the free available TigraMenu
* available at http://www.softcomplex.com/products/tigra_menu/.
* Currently version 1.0 is supported.
* Parts of this class where taken ftom the TreemMenu driver by Jason Rust
*
* @author Daniel Khan <dk@webcluster.at>
* @package DB_NestedSet
* @version $Revision: 1.6 $
* @access public
tpl/grid.tpl view on Meta::CPAN
<!--
<script language="javascript" type="text/javascript">
function showProg()
{
var grid = GridApp.grids.tv ;
var chan = grid.channels.get(1) ;
var progs = chan.progs.values(Prog.prog_in_display) ;
var prog = progs[0] ;
var popupObj = prog['_progPopup'] ;
var popupDiv = popupObj.dom ;
var popup = popupObj.top ;
popup.show(popupDiv, 100, 100, 400);
}
function hideProg()
{
var grid = GridApp.grids.tv ;
var chan = grid.channels.get(1) ;
var progs = chan.progs.values(Prog.prog_in_display) ;
var prog = progs[0] ;
var popupObj = prog['_progPopup'] ;
var popupDiv = popupObj.dom ;
var popup = popupObj.top ;
popup.hide();
}
</script>
-->
</head>
<body id="quartz-net-com">
<div id="quartz-body">