1
- import { $$ , ajax , controller , resetAbortController } from "./utils.js" ;
1
+ import {
2
+ $$ ,
3
+ ajax ,
4
+ controller ,
5
+ resetAbortController ,
6
+ replaceToolbarState ,
7
+ } from "./utils.js" ;
2
8
3
9
function onKeyDown ( event ) {
4
10
if ( event . keyCode === 27 ) {
@@ -8,7 +14,7 @@ function onKeyDown(event) {
8
14
9
15
const djdt = {
10
16
handleDragged : false ,
11
- abort ( ) {
17
+ abort ( ) {
12
18
controller . abort ( ) ;
13
19
resetAbortController ( ) ;
14
20
} ,
@@ -146,19 +152,23 @@ const djdt = {
146
152
} ) ;
147
153
} ) ;
148
154
149
- document
150
- . getElementById ( "djHideToolBarButton" )
151
- . addEventListener ( "click" , function ( event ) {
155
+ document . getElementById ( "djHideToolBarButton" ) . addEventListener (
156
+ "click" ,
157
+ function ( event ) {
152
158
event . preventDefault ( ) ;
153
159
djdt . hide_toolbar ( ) ;
154
- } , { 'signal' : controller . signal } ) ;
155
- document
156
- . getElementById ( "djShowToolBarButton" )
157
- . addEventListener ( "click" , function ( ) {
160
+ } ,
161
+ { signal : controller . signal }
162
+ ) ;
163
+ document . getElementById ( "djShowToolBarButton" ) . addEventListener (
164
+ "click" ,
165
+ function ( ) {
158
166
if ( ! djdt . handleDragged ) {
159
167
djdt . show_toolbar ( ) ;
160
168
}
161
- } , { 'signal' : controller . signal } ) ;
169
+ } ,
170
+ { signal : controller . signal }
171
+ ) ;
162
172
let startPageY , baseY ;
163
173
const handle = document . getElementById ( "djDebugToolbarHandle" ) ;
164
174
function onHandleMove ( event ) {
@@ -178,25 +188,31 @@ const djdt = {
178
188
djdt . handleDragged = true ;
179
189
}
180
190
}
181
- document
182
- . getElementById ( "djShowToolBarButton" )
183
- . addEventListener ( "mousedown" , function ( event ) {
191
+ document . getElementById ( "djShowToolBarButton" ) . addEventListener (
192
+ "mousedown" ,
193
+ function ( event ) {
184
194
event . preventDefault ( ) ;
185
195
startPageY = event . pageY ;
186
196
baseY = handle . offsetTop - startPageY ;
187
197
document . addEventListener ( "mousemove" , onHandleMove ) ;
188
- } , { 'signal' : controller . signal } ) ;
189
- document . addEventListener ( "mouseup" , function ( event ) {
190
- document . removeEventListener ( "mousemove" , onHandleMove ) ;
191
- if ( djdt . handleDragged ) {
192
- event . preventDefault ( ) ;
193
- localStorage . setItem ( "djdt.top" , handle . offsetTop ) ;
194
- requestAnimationFrame ( function ( ) {
195
- djdt . handleDragged = false ;
196
- } ) ;
197
- djdt . ensure_handle_visibility ( ) ;
198
- }
199
- } , { 'signal' : controller . signal } ) ;
198
+ } ,
199
+ { signal : controller . signal }
200
+ ) ;
201
+ document . addEventListener (
202
+ "mouseup" ,
203
+ function ( event ) {
204
+ document . removeEventListener ( "mousemove" , onHandleMove ) ;
205
+ if ( djdt . handleDragged ) {
206
+ event . preventDefault ( ) ;
207
+ localStorage . setItem ( "djdt.top" , handle . offsetTop ) ;
208
+ requestAnimationFrame ( function ( ) {
209
+ djdt . handleDragged = false ;
210
+ } ) ;
211
+ djdt . ensure_handle_visibility ( ) ;
212
+ }
213
+ } ,
214
+ { signal : controller . signal }
215
+ ) ;
200
216
const show =
201
217
localStorage . getItem ( "djdt.show" ) || djDebug . dataset . defaultShow ;
202
218
if ( show === "true" ) {
@@ -232,7 +248,9 @@ const djdt = {
232
248
const handle = document . getElementById ( "djDebugToolbarHandle" ) ;
233
249
$$ . show ( handle ) ;
234
250
djdt . ensure_handle_visibility ( ) ;
235
- window . addEventListener ( "resize" , djdt . ensure_handle_visibility , { 'signal' : controller . signal } ) ;
251
+ window . addEventListener ( "resize" , djdt . ensure_handle_visibility , {
252
+ signal : controller . signal ,
253
+ } ) ;
236
254
document . removeEventListener ( "keydown" , onKeyDown ) ;
237
255
238
256
localStorage . setItem ( "djdt.show" , "false" ) ;
@@ -251,7 +269,9 @@ const djdt = {
251
269
}
252
270
} ,
253
271
show_toolbar ( ) {
254
- document . addEventListener ( "keydown" , onKeyDown , { 'signal' : controller . signal } ) ;
272
+ document . addEventListener ( "keydown" , onKeyDown , {
273
+ signal : controller . signal ,
274
+ } ) ;
255
275
$$ . hide ( document . getElementById ( "djDebugToolbarHandle" ) ) ;
256
276
$$ . show ( document . getElementById ( "djDebugToolbar" ) ) ;
257
277
localStorage . setItem ( "djdt.show" , "true" ) ;
@@ -299,6 +319,31 @@ const djdt = {
299
319
} ,
300
320
} ,
301
321
} ;
322
+
323
+ const origOpen = XMLHttpRequest . prototype . open ;
324
+ XMLHttpRequest . prototype . open = function ( ) {
325
+ this . addEventListener ( "load" , function ( ) {
326
+ if (
327
+ this . responseURL !== "" &&
328
+ this . responseURL . indexOf ( "__debug__" ) === - 1
329
+ ) {
330
+ let signed = this . getResponseHeader ( "dj-toolbar-signature" ) ;
331
+ const store_id = this . getResponseHeader ( "dj-toolbar-store-id" ) ;
332
+ const history_sidebar_url = this . getResponseHeader (
333
+ "dj-history-sidebar-url"
334
+ ) ;
335
+ if ( signed !== null ) {
336
+ signed = encodeURIComponent ( signed ) ;
337
+ const dest = `${ history_sidebar_url } ?signed=${ signed } ` ;
338
+ ajax ( dest ) . then ( function ( data ) {
339
+ replaceToolbarState ( store_id , data ) ;
340
+ } ) ;
341
+ }
342
+ }
343
+ } ) ;
344
+ origOpen . apply ( this , arguments ) ;
345
+ } ;
346
+
302
347
window . djdt = {
303
348
show_toolbar : djdt . show_toolbar ,
304
349
hide_toolbar : djdt . hide_toolbar ,
@@ -311,5 +356,7 @@ window.djdt = {
311
356
if ( document . readyState !== "loading" ) {
312
357
djdt . init ( ) ;
313
358
} else {
314
- document . addEventListener ( "DOMContentLoaded" , djdt . init , { 'signal' : controller . signal } ) ;
359
+ document . addEventListener ( "DOMContentLoaded" , djdt . init , {
360
+ signal : controller . signal ,
361
+ } ) ;
315
362
}
0 commit comments