This topic is locked

Ajax rollover panel appears to quickly

3/12/2009 8:26:34 AM
PHPRunner General questions
M
marke author

Hi
I have an application with a LOT of tables and a LOT of master-detail relationships - each table has relatively little data in it. The AJAX detail display is very useful for seeing the detail records from the Master LIST page . . . . BUT it can be very annoying when trying to click the link to go to the details LIST page that the ajax details panel pops up immediately and covers the link.
So is it possible either . . .

  1. to put a delay in the AJAX rollover display so that it gives the user a second to click the link

    OR
  2. can I control the position of the rollover display panel so that it doesn't cover the link to the details LIST page.
    thanks
    Mark

J
Jane 3/12/2009

Mark,
what PHPRunner version do you use?

We've added delay for Ajax detail preview in the latest PHPRunner 5.0 and 5.1.

M
marke author 3/12/2009

Jane
I'm using 5.0 but I can't see any option where I can configure the delay from the PHPRunner application - do I have to modify something in the one of the configuration files. A short delay of a second or so would be all that I need.
Mark

M
marke author 3/13/2009

Jane
Can't find any options that allow me to set this - is their a global variable I need to set
Mark

J
Jane 3/13/2009

Mark,
edit generated include/ajaxsuggest.js file manually.

See my changes below:

id = setTimeout("Left_Top("+oLeft+","+oTop+")",1000);


curleft = obj.offsetLeft+200

curtop = obj.offsetTop+200

M
marke author 3/16/2009

Thank you Jane - worked perfectly

J
jpbconsulting 4/20/2009

What is the solution for this in PHPRunner v5.1? The ajaxsuggest.js file does not appear to have the same functionality.

J
Jane 4/21/2009

Hi,
find and edit this code:

this.timeout = setTimeout(function()

{

masterDetails.flag = str;

masterDetails.show = true;

masterDetails.counter++;

$.get(str,

{

counter: masterDetails.counter,

rndVal: (new Date().getTime())

},

function(txt)

{

if (!masterDetails.show) return;

var str = txt.split("counterSeparator");

if ( masterDetails.counter == str[1] )

$("#master_details").html(str[0]);

setLyr(obj,"master_details");

$("#master_details").css("display", "block");

var preview = $("#master_details").get(0);
Left_Top(preview);
});

},200);

}


curleft = obj.offsetLeft

curtop = obj.offsetTop