[Jifty-commit] r4977 - in jifty/trunk: lib/Jifty/Plugin share/web/static/js
Jifty commits
jifty-commit at lists.jifty.org
Fri Feb 1 15:56:52 EST 2008
Author: sartak
Date: Fri Feb 1 15:56:51 2008
New Revision: 4977
Modified:
jifty/trunk/ (props changed)
jifty/trunk/lib/Jifty/Plugin/Halo.pm
jifty/trunk/lib/Jifty/Plugin/SQLQueries.pm
jifty/trunk/share/web/static/js/halo.js
Log:
r51321 at onn: sartak | 2008-02-01 15:55:43 -0500
Add query logging to halos
Add some "downgrade the info link if there's no information" logic
Modified: jifty/trunk/lib/Jifty/Plugin/Halo.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/Halo.pm (original)
+++ jifty/trunk/lib/Jifty/Plugin/Halo.pm Fri Feb 1 15:56:51 2008
@@ -114,10 +114,22 @@
my $d = $displays->{$_};
my $name = Jifty->web->escape($d->{name});
- push @divs, join "\n", grep { $_ }
- qq{<div id="halo-info-$name-$id" style="display: none">},
- $d->{callback} && $d->{callback}->($frame),
- qq{</div>},
+ if ($d->{callback}) {
+ my $output =
+ qq{<div id="halo-info-$name-$id" style="display: none">};
+
+ if (defined(my $info = $d->{callback}->($frame))) {
+ $output .= $info;
+ }
+ else {
+ # downgrade the link to plaintext so it's obvious there's no
+ # information available
+ $output .= qq{<script type="text/javascript">remove_link('$id', '$name');</script>};
+ }
+
+ $output .= "</div>";
+ push @divs, $output;
+ }
}
my $divs = join "\n", @divs;
Modified: jifty/trunk/lib/Jifty/Plugin/SQLQueries.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/SQLQueries.pm (original)
+++ jifty/trunk/lib/Jifty/Plugin/SQLQueries.pm Fri Feb 1 15:56:51 2008
@@ -146,6 +146,50 @@
push @halo_queries, Jifty->handle->sql_statement_log;
Jifty->handle->clear_sql_statement_log;
+
+ $args{frame}{displays}{Q} = {
+ name => "queries",
+ callback => sub {
+ my $frame = shift;
+ my @queries;
+
+ for (@{ $frame->{sql_statements} || [] }) {
+ my $bindings;
+
+ if (@{$_->[2]}) {
+ my @bindings = map {
+ defined $_
+ ? $_ =~ /[^[:space:][:graph:]]/
+ ? "*BLOB*"
+ : Jifty->web->escape($_)
+ : "undef"
+ } @{$_->[2]};
+
+ $bindings = join '',
+ "<b>",
+ _('Bindings'),
+ ":</b> <tt>",
+ join(', ', @bindings),
+ "</tt><br />",
+ }
+
+ push @queries, join "\n",
+ qq{<span class="fixed">},
+ Jifty->web->escape($_->[1]),
+ qq{</span><br />},
+ $bindings,
+ "<i>". _('%1 seconds', $_->[3]) ."</i>",
+ }
+
+ return undef if @queries == 0;
+
+ return "<ol>"
+ . join("\n",
+ map { "<li>$_</li>" }
+ @queries)
+ . "</ol>";
+ },
+ };
}
=head2 halo_post_template
Modified: jifty/trunk/share/web/static/js/halo.js
==============================================================================
--- jifty/trunk/share/web/static/js/halo.js (original)
+++ jifty/trunk/share/web/static/js/halo.js Fri Feb 1 15:56:51 2008
@@ -147,3 +147,10 @@
}
}
+function remove_link(id, name) {
+ var link = $('halo-button-'+name+'-'+id);
+ var newlink = document.createElement("span");
+ newlink.appendChild(link.childNodes[0]);
+ link.parentNode.replaceChild(newlink, link);
+}
+
More information about the Jifty-commit
mailing list