diff --git a/composer.json b/composer.json index 96c6f486..9ff594fb 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ ], "require": { "php": "^8.0", - "maximebf/debugbar": "1.20.x", + "maximebf/debugbar": "~1.20.1", "illuminate/routing": "^9|^10|^11", "illuminate/session": "^9|^10|^11", "illuminate/support": "^9|^10|^11", diff --git a/src/DataCollector/QueryCollector.php b/src/DataCollector/QueryCollector.php index 4e6f2dc9..cd676ce7 100644 --- a/src/DataCollector/QueryCollector.php +++ b/src/DataCollector/QueryCollector.php @@ -666,7 +666,7 @@ public function getWidgets() return [ "queries" => [ "icon" => "database", - "widget" => "PhpDebugBar.Widgets.LaravelSQLQueriesWidget", + "widget" => "PhpDebugBar.Widgets.SQLQueriesWidget", "map" => "queries", "default" => "[]" ], diff --git a/src/JavascriptRenderer.php b/src/JavascriptRenderer.php index 2df32a5c..16e9494b 100644 --- a/src/JavascriptRenderer.php +++ b/src/JavascriptRenderer.php @@ -21,7 +21,6 @@ public function __construct(DebugBar $debugBar, $baseUrl = null, $basePath = nul $this->cssFiles['laravel'] = __DIR__ . '/Resources/laravel-debugbar.css'; $this->cssVendors['fontawesome'] = __DIR__ . '/Resources/vendor/font-awesome/style.css'; - $this->jsFiles['laravel-sql'] = __DIR__ . '/Resources/sqlqueries/widget.js'; $this->jsFiles['laravel-cache'] = __DIR__ . '/Resources/cache/widget.js'; $theme = config('debugbar.theme', 'auto'); diff --git a/src/Resources/sqlqueries/widget.js b/src/Resources/sqlqueries/widget.js deleted file mode 100644 index 4254c943..00000000 --- a/src/Resources/sqlqueries/widget.js +++ /dev/null @@ -1,314 +0,0 @@ -(function ($) { - - var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-'); - - /** - * Widget for the displaying sql queries - * - * Options: - * - data - */ - var LaravelSQLQueriesWidget = PhpDebugBar.Widgets.LaravelSQLQueriesWidget = PhpDebugBar.Widget.extend({ - - className: csscls('sqlqueries'), - - onFilterClick: function (el) { - $(el).toggleClass(csscls('excluded')); - - var excludedLabels = []; - this.$toolbar.find(csscls('.filter') + csscls('.excluded')).each(function () { - excludedLabels.push(this.rel); - }); - - this.$list.$el.find("li[connection=" + $(el).attr("rel") + "]").toggle(); - - this.set('exclude', excludedLabels); - }, - - onCopyToClipboard: function (el) { - var code = $(el).parent('li').find('code').get(0); - var copy = function () { - try { - document.execCommand('copy'); - alert('Query copied to the clipboard'); - } catch (err) { - console.log('Oops, unable to copy'); - } - }; - var select = function (node) { - if (document.selection) { - var range = document.body.createTextRange(); - range.moveToElementText(node); - range.select(); - } else if (window.getSelection) { - var range = document.createRange(); - range.selectNodeContents(node); - window.getSelection().removeAllRanges(); - window.getSelection().addRange(range); - } - copy(); - window.getSelection().removeAllRanges(); - }; - select(code); - }, - - render: function () { - this.$status = $('
').addClass(csscls('status')).appendTo(this.$el); - - this.$toolbar = $('').addClass(csscls('toolbar')).appendTo(this.$el); - - var filters = [], self = this; - - this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function (li, stmt) { - if (stmt.type === 'transaction') { - $('').addClass(csscls('sql')).addClass(csscls('name')).text(stmt.sql).appendTo(li); - } else { - $('
').addClass(csscls('sql')).html(PhpDebugBar.Widgets.highlight(stmt.sql, 'sql')).appendTo(li);
- }
- if (stmt.width_percent) {
- $('').addClass(csscls('bg-measure')).append(
- $('').addClass(csscls('value')).css({
- left: stmt.start_percent + '%',
- width: Math.max(stmt.width_percent, 0.01) + '%',
- })
- ).appendTo(li);
- }
- if (stmt.duration_str) {
- $('').addClass(csscls('duration')).text(stmt.duration_str).appendTo(li);
- }
- if (stmt.memory_str) {
- $('').addClass(csscls('memory')).text(stmt.memory_str).appendTo(li);
- }
- if (typeof(stmt.row_count) != 'undefined') {
- $('').addClass(csscls('row-count')).text(stmt.row_count).appendTo(li);
- }
-
- if (typeof stmt.xdebug_link !== 'undefined' && stmt.xdebug_link !== null) {
- var header = $('').addClass(csscls('filename')).text(stmt.xdebug_link.filename + ( stmt.xdebug_link.line ? "#" + stmt.xdebug_link.line : ''));
- if (stmt.xdebug_link) {
- if (stmt.xdebug_link.ajax) {
- $('').on('click', function () {
- $.ajax(stmt.xdebug_link.url);
- }).addClass(csscls('editor-link')).appendTo(header);
- } else {
- $('').addClass(csscls('editor-link')).appendTo(header);
- }
- }
- header.appendTo(li);
- }
-
- if (stmt.connection) {
- $('').addClass(csscls('database')).text(stmt.connection).appendTo(li);
- li.attr("connection",stmt.connection);
- if ( $.inArray(stmt.connection, filters) == -1 ) {
- filters.push(stmt.connection);
- $('')
- .addClass(csscls('filter'))
- .text(stmt.connection)
- .attr('rel', stmt.connection)
- .on('click', function () {
- self.onFilterClick(this); })
- .appendTo(self.$toolbar);
- if (filters.length > 1) {
- self.$toolbar.show();
- self.$list.$el.css("margin-bottom","20px");
- }
- }
- }
- if (typeof(stmt.is_success) != 'undefined' && !stmt.is_success) {
- li.addClass(csscls('error'));
- li.append($('').addClass(csscls('error')).text("[" + stmt.error_code + "] " + stmt.error_message));
- }
- if (stmt.show_copy) {
- $('')
- .addClass(csscls('copy-clipboard'))
- .css('cursor', 'pointer')
- .on('click', function (event) {
- self.onCopyToClipboard(this);
- event.stopPropagation();
- })
- .appendTo(li);
- }
-
- if ((stmt.bindings && stmt.bindings.length)
- || (stmt.hints && stmt.hints.length)
- || (stmt.backtrace && stmt.backtrace.length)
- || (stmt.params && !$.isEmptyObject(stmt.params))
- ) {
- var table = $('Metadata |
---|