Skip to content

Commit 3778b54

Browse files
author
mongkok
committed
Added support for django-debug-toolbar >= 1.10
1 parent 88ec1b7 commit 3778b54

File tree

1 file changed

+31
-29
lines changed
  • graphiql_debug_toolbar/static/graphiql_debug_toolbar/js

1 file changed

+31
-29
lines changed
Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,47 @@
1-
(function($) {
1+
(function() {
22
var parse = JSON.parse;
3-
var data = $('#debug-toolbar-parse').data();
3+
var djDebug = document.querySelector('#djDebug');
4+
var djGraphiQLDebug = document.querySelector('#djGraphiQLDebug');
5+
var render_panel_url = djGraphiQLDebug.getAttribute('data-render-panel-url');
46

5-
$('#djDebug').data('render-panel-url', data.renderPanelUrl);
7+
djDebug.setAttribute('data-render-panel-url', render_panel_url);
68

79
JSON.parse = function(response) {
810
var payload = parse(response);
911

10-
if (payload && payload.hasOwnProperty('debugToolbar')) {
11-
var debugToolbar = payload.debugToolbar;
12-
var $debugPanelList = $('#djDebugPanelList');
12+
if (payload === null || !payload.hasOwnProperty('debugToolbar')) return payload;
1313

14-
delete payload.debugToolbar;
14+
var debugToolbar = payload.debugToolbar;
15+
var djDebugPanelList = document.querySelector('#djDebugPanelList');
16+
delete payload.debugToolbar;
1517

16-
$.each(debugToolbar.panels, function(id, panel) {
17-
var $subtitle = $debugPanelList.find(`input[data-cookie="djdt${id}"]`).next().find('small');
18+
for (var id in debugToolbar.panels) {
19+
var panel = debugToolbar.panels[id];
20+
var djDebugButton = djDebugPanelList.querySelector('[data-cookie="djdt' + id + '"]');
21+
var subtitle = djDebugButton.nextElementSibling.querySelector('small');
1822

19-
if ($subtitle.text() != panel.subtitle) {
20-
$subtitle.fadeOut(100, function() {
21-
$(this).text(panel.subtitle).fadeIn(200);
22-
});
23-
}
23+
if (subtitle !== null) subtitle.textContent = panel.subtitle;
2424

25-
if (panel.title !== null) {
26-
var $panel = $(`#${id}`);
27-
var $content = $panel.find('.djdt-scroll');
25+
if (panel.title !== null) {
26+
var djDebugPanel = document.querySelector('#' + id);
27+
var djDebugContent = djDebugPanel.querySelector('.djdt-scroll');
2828

29-
$panel.find('h3:first').html(panel.title);
30-
$content.empty();
29+
djDebugPanel.querySelector('h3').innerHTML = panel.title;
30+
djDebugContent.innerHTML = '';
3131

32-
if (!$content.parent().find('img').length) {
33-
$('<img />', {
34-
src: data.loaderUrl,
35-
alt: 'loading',
36-
class: 'djdt-loader'
37-
}).insertBefore($content);
38-
}
32+
if (djDebugContent.parentNode.querySelector('img') === null) {
33+
var loader = document.createElement('img');
34+
loader.src = djGraphiQLDebug.getAttribute('data-loader-url');
35+
loader.className = 'djdt-loader';
36+
loader.alt = 'loading';
37+
djDebugContent.parentNode.insertBefore(loader, djDebugContent);
3938
}
40-
});
41-
$('#djDebug').data('store-id', debugToolbar.storeId);
39+
}
4240
}
41+
// Support for django-debug-toolbar 1.8, 1.9, 1.9.1
42+
if (djdt.hasOwnProperty('jQuery')) djdt.jQuery(djDebug).removeData('store-id');
43+
44+
djDebug.setAttribute('data-store-id', debugToolbar.storeId);
4345
return payload;
4446
}
45-
})(djdt.jQuery);
47+
})();

0 commit comments

Comments
 (0)