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> -&gt; <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 )