(function($) { var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-'); /** * Widget for the displaying sql queries * * Options: * - data */ var SQLQueriesWidget = PhpDebugBar.Widgets.SQLQueriesWidget = PhpDebugBar.Widget.extend({ className: csscls('sqlqueries'), onFilterClick: function(el) { $(el).toggleClass(csscls('excluded')); this.$list.$el.find("li[connection=" + $(el).attr("rel") + "]").toggle(); }, onCopyToClipboard: function (el) { var code = $(el).parent('li').find('code').get(0); var copy = function () { try { if (document.execCommand('copy')) { $(el).addClass(csscls('copy-clipboard-check')); setTimeout(function(){ $(el).removeClass(csscls('copy-clipboard-check')); }, 2000) } } 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); }, renderList: function (caption, icon, data) { var $ul = $('