Skip to content

Commit 7162816

Browse files
committed
port event handling
NOTE: removes custom event
1 parent 6632382 commit 7162816

File tree

1 file changed

+26
-17
lines changed

1 file changed

+26
-17
lines changed

debug_toolbar/static/debug_toolbar/js/toolbar.js

+26-17
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
(function ($, publicAPI) {
2+
var $$ = {
3+
on: function(root, eventName, selector, fn) {
4+
root.addEventListener(eventName, function(event) {
5+
var target = event.target.closest(selector);
6+
if (root.contains(target)) {
7+
fn.call(target, event);
8+
}
9+
});
10+
},
11+
};
12+
213
var onKeyDown = function(event) {
314
if (event.keyCode == 27) {
415
djdt.hide_one_level();
@@ -12,8 +23,9 @@
1223
},
1324
isReady: false,
1425
init: function() {
15-
$('#djDebug').show();
16-
$('#djDebugPanelList').on('click', 'li a', function(event) {
26+
var djDebug = document.querySelector('#djDebug');
27+
djDebug.classList.remove('djdt-hidden');
28+
$$.on(djDebug.querySelector('#djDebugPanelList'), 'click', 'li a', function(event) {
1729
event.preventDefault();
1830
if (!this.className) {
1931
return;
@@ -48,19 +60,19 @@
4860
}
4961
}
5062
});
51-
$('#djDebug').on('click', 'a.djDebugClose', function(event) {
63+
$$.on(djDebug, 'click', 'a.djDebugClose', function(event) {
5264
event.preventDefault();
5365
djdt.hide_one_level();
5466
});
55-
$('#djDebug').on('click', '.djDebugPanelButton input[type=checkbox]', function() {
67+
$$.on(djDebug, 'click', '.djDebugPanelButton input[type=checkbox]', function() {
5668
djdt.cookie.set($(this).attr('data-cookie'), $(this).prop('checked') ? 'on' : 'off', {
5769
path: '/',
5870
expires: 10
5971
});
6072
});
6173

6274
// Used by the SQL and template panels
63-
$('#djDebug').on('click', '.remoteCall', function(event) {
75+
$$.on(djDebug, 'click', '.remoteCall', function(event) {
6476
event.preventDefault();
6577

6678
var self = $(this);
@@ -90,7 +102,7 @@
90102
});
91103

92104
// Used by the cache, profiling and SQL panels
93-
$('#djDebug').on('click', 'a.djToggleSwitch', function(event) {
105+
$$.on(djDebug, 'click', 'a.djToggleSwitch', function(event) {
94106
event.preventDefault();
95107
var btn = $(this);
96108
var id = btn.attr('data-toggle-id');
@@ -117,11 +129,11 @@
117129
});
118130
});
119131

120-
$('#djHideToolBarButton').on('click', function(event) {
132+
djDebug.querySelector('#djHideToolBarButton').addEventListener('click', function(event) {
121133
event.preventDefault();
122134
djdt.hide_toolbar(true);
123135
});
124-
$('#djShowToolBarButton').on('click', function(event) {
136+
djDebug.querySelector('#djShowToolBarButton').addEventListener('click', function(event) {
125137
event.preventDefault();
126138
if (!djdt.handleDragged) {
127139
djdt.show_toolbar();
@@ -146,15 +158,15 @@
146158
djdt.handleDragged = true;
147159
}
148160
};
149-
$('#djShowToolBarButton').on('mousedown', function (event) {
161+
djDebug.querySelector('#djShowToolBarButton').addEventListener('mousedown', function(event) {
150162
event.preventDefault();
151163
startPageY = event.pageY;
152164
baseY = handle.offset().top - startPageY;
153165
windowHeight = $(window).height();
154-
$(document).on('mousemove.djDebug', onMouseMove);
166+
document.addEventListener('mousemove', onMouseMove);
155167
});
156-
$(document).on('mouseup', function (event) {
157-
$(document).off('mousemove.djDebug');
168+
document.addEventListener('mouseup', function(event) {
169+
document.removeEventListener('mousemove', onMouseMove);
158170
if (djdt.handleDragged) {
159171
event.preventDefault();
160172
var top = handle.offset().top - window.pageYOffset;
@@ -167,9 +179,6 @@
167179
}, 10);
168180
}
169181
});
170-
$(document).on('close.djDebug', function() {
171-
djdt.hide_one_level();
172-
});
173182
if (djdt.cookie.get('djdt') == 'hide') {
174183
djdt.hide_toolbar(false);
175184
} else {
@@ -199,7 +208,7 @@
199208
}
200209

201210
// Unbind keydown
202-
$(document).off('keydown.djDebug');
211+
document.removeEventListener('keydown', onKeyDown);
203212

204213
if (setCookie) {
205214
djdt.cookie.set('djdt', 'hide', {
@@ -219,7 +228,7 @@
219228
},
220229
show_toolbar: function(animate) {
221230
// Set up keybindings
222-
$(document).on('keydown.djDebug', onKeyDown);
231+
document.addEventListener('keydown', onKeyDown);
223232
$('#djDebugToolbarHandle').hide();
224233
if (animate) {
225234
$('#djDebugToolbar').show('fast');

0 commit comments

Comments
 (0)