checkpoint-cli 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/tracking-script-minimal.js +38 -13
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1606,7 +1606,7 @@ const program = new commander_1.Command();
|
|
|
1606
1606
|
program
|
|
1607
1607
|
.name('checkpoint')
|
|
1608
1608
|
.description('Share your localhost with reviewers — get visual feedback directly on the page')
|
|
1609
|
-
.version('0.3.
|
|
1609
|
+
.version('0.3.5');
|
|
1610
1610
|
// ── checkpoint login ──
|
|
1611
1611
|
program
|
|
1612
1612
|
.command('login')
|
|
@@ -15,6 +15,7 @@ function buildMinimalTrackingScript() {
|
|
|
15
15
|
var lastMouseY=0;
|
|
16
16
|
var inspectBox=null;
|
|
17
17
|
var inspectLabel=null;
|
|
18
|
+
var pickShield=null;
|
|
18
19
|
var lastPath='';
|
|
19
20
|
var mutationTick=false;
|
|
20
21
|
var pendingPickCommit=false;
|
|
@@ -210,11 +211,15 @@ function buildMinimalTrackingScript() {
|
|
|
210
211
|
|
|
211
212
|
function getElementAtPoint(x,y){
|
|
212
213
|
try{
|
|
214
|
+
if(pickShield) pickShield.style.pointerEvents='none';
|
|
213
215
|
if(typeof x==='number'&&typeof y==='number'&&document.elementFromPoint){
|
|
214
216
|
var node=document.elementFromPoint(x,y);
|
|
215
217
|
if(node&&node.nodeType===1) return node;
|
|
216
218
|
}
|
|
217
219
|
}catch(e){}
|
|
220
|
+
finally{
|
|
221
|
+
if(pickShield) pickShield.style.pointerEvents='auto';
|
|
222
|
+
}
|
|
218
223
|
return null;
|
|
219
224
|
}
|
|
220
225
|
|
|
@@ -388,6 +393,28 @@ function buildMinimalTrackingScript() {
|
|
|
388
393
|
if(inspectLabel) inspectLabel.style.display='none';
|
|
389
394
|
}
|
|
390
395
|
|
|
396
|
+
function ensurePickShield(){
|
|
397
|
+
if(!document.body) return;
|
|
398
|
+
if(pickShield) return;
|
|
399
|
+
pickShield=document.createElement('div');
|
|
400
|
+
pickShield.style.position='fixed';
|
|
401
|
+
pickShield.style.left='0';
|
|
402
|
+
pickShield.style.top='0';
|
|
403
|
+
pickShield.style.right='0';
|
|
404
|
+
pickShield.style.bottom='0';
|
|
405
|
+
pickShield.style.background='transparent';
|
|
406
|
+
pickShield.style.cursor='crosshair';
|
|
407
|
+
pickShield.style.pointerEvents='auto';
|
|
408
|
+
pickShield.style.zIndex='2147483645';
|
|
409
|
+
document.body.appendChild(pickShield);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
function removePickShield(){
|
|
413
|
+
if(!pickShield) return;
|
|
414
|
+
try{ pickShield.remove(); }catch(e){}
|
|
415
|
+
pickShield=null;
|
|
416
|
+
}
|
|
417
|
+
|
|
391
418
|
function renderInspectAt(x,y){
|
|
392
419
|
ensureInspectUi();
|
|
393
420
|
if(!inspectBox||!inspectLabel){
|
|
@@ -445,9 +472,9 @@ function buildMinimalTrackingScript() {
|
|
|
445
472
|
if(document.body) document.body.style.cursor=pickMode?'crosshair':'';
|
|
446
473
|
|
|
447
474
|
if(!pickMode){
|
|
448
|
-
if(pickMoveHandler)
|
|
449
|
-
if(pickPointerDownHandler)
|
|
450
|
-
if(pickClickHandler)
|
|
475
|
+
if(pickMoveHandler&&pickShield) pickShield.removeEventListener('mousemove',pickMoveHandler,true);
|
|
476
|
+
if(pickPointerDownHandler&&pickShield) pickShield.removeEventListener('pointerdown',pickPointerDownHandler,true);
|
|
477
|
+
if(pickClickHandler&&pickShield) pickShield.removeEventListener('click',pickClickHandler,true);
|
|
451
478
|
if(pickEscHandler) window.removeEventListener('keydown',pickEscHandler,true);
|
|
452
479
|
if(pickKeydownHandler) window.removeEventListener('keydown',pickKeydownHandler,true);
|
|
453
480
|
if(pickBlockHandler){
|
|
@@ -473,9 +500,13 @@ function buildMinimalTrackingScript() {
|
|
|
473
500
|
hoverRaf=0;
|
|
474
501
|
}
|
|
475
502
|
hideInspectUi();
|
|
503
|
+
removePickShield();
|
|
476
504
|
return;
|
|
477
505
|
}
|
|
478
506
|
|
|
507
|
+
ensurePickShield();
|
|
508
|
+
if(!pickShield) return;
|
|
509
|
+
|
|
479
510
|
pickMoveHandler=function(ev){
|
|
480
511
|
if(!pickMode) return;
|
|
481
512
|
lastMouseX=ev.clientX;
|
|
@@ -496,19 +527,13 @@ function buildMinimalTrackingScript() {
|
|
|
496
527
|
try{
|
|
497
528
|
postPickResult(target,ev.clientX,ev.clientY);
|
|
498
529
|
}catch(e){}
|
|
499
|
-
|
|
500
|
-
// otherwise link/tab navigation can still fire.
|
|
501
|
-
pendingPickCommit=true;
|
|
530
|
+
setPickMode(false);
|
|
502
531
|
};
|
|
503
532
|
pickClickHandler=function(ev){
|
|
504
533
|
if(!pickMode) return;
|
|
505
534
|
ev.preventDefault();
|
|
506
535
|
ev.stopPropagation();
|
|
507
536
|
if(typeof ev.stopImmediatePropagation==='function') ev.stopImmediatePropagation();
|
|
508
|
-
if(pendingPickCommit){
|
|
509
|
-
pendingPickCommit=false;
|
|
510
|
-
setPickMode(false);
|
|
511
|
-
}
|
|
512
537
|
};
|
|
513
538
|
pickEscHandler=function(ev){
|
|
514
539
|
if(ev.key==='Escape') setPickMode(false);
|
|
@@ -529,9 +554,9 @@ function buildMinimalTrackingScript() {
|
|
|
529
554
|
if(typeof ev.stopImmediatePropagation==='function') ev.stopImmediatePropagation();
|
|
530
555
|
};
|
|
531
556
|
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
557
|
+
pickShield.addEventListener('mousemove',pickMoveHandler,true);
|
|
558
|
+
pickShield.addEventListener('pointerdown',pickPointerDownHandler,true);
|
|
559
|
+
pickShield.addEventListener('click',pickClickHandler,true);
|
|
535
560
|
window.addEventListener('keydown',pickEscHandler,true);
|
|
536
561
|
window.addEventListener('keydown',pickKeydownHandler,true);
|
|
537
562
|
window.addEventListener('mousedown',pickBlockHandler,true);
|