CGI-Application-Plugin-DevPopup
view release on metacpan or search on metacpan
lib/CGI/Application/Plugin/DevPopup.pm view on Meta::CPAN
<script language="javascript">
var devpopup_window = window.open("", "devpopup_window", "height=400,width=600,scrollbars,resizable");
devpopup_window.document.write("$h");
devpopup_window.document.write("\t<s");
devpopup_window.document.write("cript type=\\"text/javascript\\">\\n");
devpopup_window.document.write("//"+"<"+"![CDATA[\\n");
devpopup_window.document.write("$j");
devpopup_window.document.write("//]"+"]>\\n");
devpopup_window.document.write("\t<");
devpopup_window.document.write("/script>");
devpopup_window.document.write("$o");
devpopup_window.document.close();
devpopup_window.focus();
</script>
};
# insert the js code before the body close,
# if one exists
if ( $$outputref =~ m!</body>!i )
{
$$outputref =~ s!</body>!$js\n</body>!i;
}
else
{
$$outputref .= $js;
}
}
sub _escape_js
{
my $j = shift;
$j =~ s/\r//g;
$j =~ s/\\/\\\\/g;
$j =~ s/"/\\"/g;
$j =~ s/\n/\\n" + \n\t"/g;
$j =~ s/script>/s" + "cript>/g;
$j;
}
$head = <<HEAD;
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Devpopup results</title>
<style type="text/css">
div.report { border: dotted 1px black; margin: 1em;}
div.report h2 { color: #000; background-color: #ddd; padding:.2em; margin-top:0;}
div.report_full, div.report_summary { padding: 0em 1em; }
a:hover, div.report h2:hover, a.print_button:hover { cursor: pointer; background-color: #eee; }
a { text-decoration: underline }
a.print_button { text-align: right; float: right; clear: right; padding: .2em; margin-right: 1em; color: #000; background-color:#ddd; border:solid 1px #444; }
// severity colors
.sev_debug { background-color: #ccffcc; color: #000; }
.sev_info { } // default
.sev_warning { background-color: #ffff99; color: #000; }
.sev_error { background-color: #ff9999; color: #000; }
.sev_fatal { background-color: #ff6600; color: #fff; font-weight: bold; }
</style>
HEAD
$script = <<JS;
function swap(id1,id2)
{
var d1 = document.getElementById(id1);
var d2 = document.getElementById(id2);
var s = d1.style.display;
d1.style.display = d2.style.display;
d2.style.display = s;
}
JS
$template = <<TMPL;
</head>
<body>
<h1>Devpopup report for <tmpl_var app_class> -> <tmpl_var runmode></h1>
<a href="javascript:window.print()" class="print_button">Print</a>
<div id="titles">
<ul>
<tmpl_loop reports>
<li class="sev_<tmpl_var severity>">
<a onclick="swap('#DPS<tmpl_var __counter__>','#DPR<tmpl_var __counter__>')"><tmpl_var title></a> - <tmpl_var summary>
</li>
</tmpl_loop>
</ul>
</div>
<tmpl_loop reports>
<div id="#DP<tmpl_var __counter__>" class="report">
<h2 id="#DPH<tmpl_var __counter__>"
class="sev_<tmpl_var severity>"
onclick="swap('#DPS<tmpl_var __counter__>','#DPR<tmpl_var __counter__>')">
<tmpl_var title>
</h2>
<div id="#DPS<tmpl_var __counter__>" class="report_summary">
<tmpl_var summary>
</div>
<div id="#DPR<tmpl_var __counter__>" class="report_full" style="display:none"><tmpl_var report></div>
</div>
</tmpl_loop>
</body>
</html>
TMPL
1; # End of CGI::Application::Plugin::DevPopup
__END__
=head1 NAME
CGI::Application::Plugin::DevPopup - Runtime cgiapp info in a popup window
=head1 VERSION
version 1.08
=head1 SYNOPSIS
( run in 0.904 second using v1.01-cache-2.11-cpan-39bf76dae61 )