Fossil SCM

Micro-cleanups in diff-scrolling JS.

stephan 2024-08-23 12:18 diff-scroll-sync
Commit 261469e7536912d788e7a8ab8ff82cb9a5b82fa32308e0f2e8809466e8803ede
1 file changed +4 -2
--- src/fossil.diff.js
+++ src/fossil.diff.js
@@ -633,10 +633,13 @@
633633
const table = this.parentElement/*TD*/.parentElement/*TR*/.
634634
parentElement/*TBODY*/.parentElement/*TABLE*/;
635635
table.$txtPres.forEach((e)=>(e===this) ? 1 : (e.scrollLeft = this.scrollLeft));
636636
return false;
637637
};
638
+ const keycodes = Object.assign(Object.create(null),{
639
+ 37: -SCROLL_LEN, 39: SCROLL_LEN
640
+ });
638641
Diff.initTableDiff = function f(diff, unifiedDiffs){
639642
if(!diff){
640643
let i, diffs;
641644
diffs = document.querySelectorAll('table.splitdiff');
642645
for(i=0; i<diffs.length; ++i){
@@ -663,12 +666,11 @@
663666
if(!unifiedDiffs){
664667
diff.tabIndex = 0;
665668
if(!diff.classList.contains('scroller')){
666669
D.addClass(diff, 'scroller');
667670
diff.addEventListener('keydown', function(e){
668
- e = e || event;
669
- const len = {37: -SCROLL_LEN, 39: SCROLL_LEN}[e.keyCode];
671
+ const len = keycodes[e.keyCode];
670672
if( !len ) return;
671673
this.$txtPres[0].scrollLeft += len;
672674
return false;
673675
}, false);
674676
}
675677
--- src/fossil.diff.js
+++ src/fossil.diff.js
@@ -633,10 +633,13 @@
633 const table = this.parentElement/*TD*/.parentElement/*TR*/.
634 parentElement/*TBODY*/.parentElement/*TABLE*/;
635 table.$txtPres.forEach((e)=>(e===this) ? 1 : (e.scrollLeft = this.scrollLeft));
636 return false;
637 };
 
 
 
638 Diff.initTableDiff = function f(diff, unifiedDiffs){
639 if(!diff){
640 let i, diffs;
641 diffs = document.querySelectorAll('table.splitdiff');
642 for(i=0; i<diffs.length; ++i){
@@ -663,12 +666,11 @@
663 if(!unifiedDiffs){
664 diff.tabIndex = 0;
665 if(!diff.classList.contains('scroller')){
666 D.addClass(diff, 'scroller');
667 diff.addEventListener('keydown', function(e){
668 e = e || event;
669 const len = {37: -SCROLL_LEN, 39: SCROLL_LEN}[e.keyCode];
670 if( !len ) return;
671 this.$txtPres[0].scrollLeft += len;
672 return false;
673 }, false);
674 }
675
--- src/fossil.diff.js
+++ src/fossil.diff.js
@@ -633,10 +633,13 @@
633 const table = this.parentElement/*TD*/.parentElement/*TR*/.
634 parentElement/*TBODY*/.parentElement/*TABLE*/;
635 table.$txtPres.forEach((e)=>(e===this) ? 1 : (e.scrollLeft = this.scrollLeft));
636 return false;
637 };
638 const keycodes = Object.assign(Object.create(null),{
639 37: -SCROLL_LEN, 39: SCROLL_LEN
640 });
641 Diff.initTableDiff = function f(diff, unifiedDiffs){
642 if(!diff){
643 let i, diffs;
644 diffs = document.querySelectorAll('table.splitdiff');
645 for(i=0; i<diffs.length; ++i){
@@ -663,12 +666,11 @@
666 if(!unifiedDiffs){
667 diff.tabIndex = 0;
668 if(!diff.classList.contains('scroller')){
669 D.addClass(diff, 'scroller');
670 diff.addEventListener('keydown', function(e){
671 const len = keycodes[e.keyCode];
 
672 if( !len ) return;
673 this.$txtPres[0].scrollLeft += len;
674 return false;
675 }, false);
676 }
677

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button