helpers.js
Summary
fixme: Deprecated. marked for removal
helpers = new function()
{
var self = this;
var handleKeypress = function(event, id)
{
event.preventDefault();
event.stopPropagation();
var button = document.getElementById(id);
if(button && !button.disabled)
{
button.click();
}
}
var keypressListener = function(event)
{
if( event.which == 0 )
{
switch(event.keyCode)
{
case 119:
{
event.preventDefault();
handleKeypress(event, 'continue-run');
break;
}
case 121:
{
event.preventDefault();
handleKeypress(event, 'continue-step-next-line');
break;
}
case 122:
{
event.preventDefault();
if(event.shiftKey)
{
handleKeypress(event, 'continue-step-out-of-call');
}
else
{
handleKeypress(event, 'continue-step-into-call');
}
break;
}
}
}
}
this.setSelected = function(event)
{
var ele=event.target;
var parent = ele.parentNode;
var siblings = parent.getElementsByTagName(ele.nodeName), sibling = null, i=0;
for( ; sibling = siblings[i]; i++)
{
if( sibling.parentElement == parent )
{
if(sibling == ele)
{
sibling.addClass('selected');
}
else
{
sibling.removeClass('selected');
}
}
}
}
this.shortenURI = function(uri)
{
var ret_uri = uri;
var title = '';
var max_length = 40;
if( ret_uri && ret_uri.length > max_length )
{
title = uri;
ret_uri = uri.split('?')[0];
if( ret_uri.length > max_length )
{
var temp = /\/([^/]+)$/.exec(ret_uri);
if( temp )
{
ret_uri = temp[1];
}
}
}
return {uri: ret_uri, title: title};
}
this.escapeTextHtml = function(str)
{
return str.replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&");
}
document.addEventListener('keypress', keypressListener, true);
}
Documentation generated by
JSDoc on Thu Oct 30 18:01:10 2008