Skip to content

Commit c6f50df

Browse files
committed
Adding display connection name, and adding filters on connection.
1 parent 4ecb1fa commit c6f50df

File tree

2 files changed

+65
-1
lines changed

2 files changed

+65
-1
lines changed

src/DebugBar/Resources/widgets/sqlqueries/widget.css

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-
1111
color: red;
1212
}
1313

14+
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database,
1415
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration,
1516
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory,
1617
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count,
@@ -19,12 +20,14 @@ div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id {
1920
margin-left: 8px;
2021
color: #888;
2122
}
23+
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-database,
2224
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration,
2325
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,
2426
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count,
2527
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id {
2628
color: #555;
2729
}
30+
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before,
2831
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before,
2932
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before,
3033
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before,
@@ -33,6 +36,9 @@ div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before {
3336
margin-right: 4px;
3437
font-size: 12px;
3538
}
39+
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before {
40+
content: "\f1c0";
41+
}
3642
div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before {
3743
content: "\f017";
3844
}
@@ -80,3 +86,27 @@ div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-
8086
div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate:hover {
8187
background-color: #ffc;
8288
}
89+
90+
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar {
91+
display:none;
92+
position: fixed;
93+
bottom: 0;
94+
width: 100%;
95+
background: #fff;
96+
z-index: 1;
97+
}
98+
99+
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter {
100+
float: right;
101+
font-size: 12px;
102+
padding: 2px 4px;
103+
background: #7cacd5;
104+
margin: 0 2px;
105+
border-radius: 4px;
106+
color: #fff;
107+
text-decoration: none;
108+
}
109+
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded {
110+
background: #eee;
111+
color: #888;
112+
}

src/DebugBar/Resources/widgets/sqlqueries/widget.js

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,27 @@
1212

1313
className: csscls('sqlqueries'),
1414

15+
onFilterClick: function(el) {
16+
$(el).toggleClass(csscls('excluded'));
17+
18+
var excludedLabels = [];
19+
this.$toolbar.find(csscls('.filter') + csscls('.excluded')).each(function() {
20+
excludedLabels.push(this.rel);
21+
});
22+
23+
this.$list.$el.find("li[connection=" + $(el).attr("rel") + "]").toggle();
24+
25+
this.set('exclude', excludedLabels);
26+
},
27+
1528
render: function() {
1629
this.$status = $('<div />').addClass(csscls('status')).appendTo(this.$el);
1730

18-
this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, stmt) {
31+
this.$toolbar = $('<div></div>').addClass(csscls('toolbar')).appendTo(this.$el);
32+
33+
var filters = [], self = this;
34+
35+
this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, stmt) {
1936
$('<code />').addClass(csscls('sql')).html(PhpDebugBar.Widgets.highlight(stmt.sql, 'sql')).appendTo(li);
2037
if (stmt.duration_str) {
2138
$('<span title="Duration" />').addClass(csscls('duration')).text(stmt.duration_str).appendTo(li);
@@ -32,6 +49,23 @@
3249
if (typeof(stmt.stmt_id) != 'undefined' && stmt.stmt_id) {
3350
$('<span title="Prepared statement ID" />').addClass(csscls('stmt-id')).text(stmt.stmt_id).appendTo(li);
3451
}
52+
if (stmt.connection) {
53+
$('<span title="Connection" />').addClass(csscls('database')).text(stmt.connection).appendTo(li);
54+
li.attr("connection",stmt.connection);
55+
if ( $.inArray(stmt.connection, filters) == -1 ) {
56+
filters.push(stmt.connection);
57+
$('<a href="javascript:" />')
58+
.addClass(csscls('filter'))
59+
.text(stmt.connection)
60+
.attr('rel', stmt.connection)
61+
.on('click', function() { self.onFilterClick(this); })
62+
.appendTo(self.$toolbar);
63+
if (filters.length>1) {
64+
self.$toolbar.show();
65+
self.$list.$el.css("margin-bottom","20px");
66+
}
67+
}
68+
}
3569
if (stmt.params && !$.isEmptyObject(stmt.params)) {
3670
var table = $('<table><tr><th colspan="2">Params</th></tr></table>').addClass(csscls('params')).appendTo(li);
3771
for (var key in stmt.params) {

0 commit comments

Comments
 (0)