Fossil SCM

Fix scrolling if there's only one diff block.

florian 2022-09-28 14:48 diff-keyboard-navigation
Commit e41214d25b0830da9470ac92ce4cac15099bf1cf7f72a0dc3ae5a641a5552379
1 file changed +6 -1
--- src/fossil.diff.js
+++ src/fossil.diff.js
@@ -35,17 +35,19 @@
3535
** shown/hidden state to show all).
3636
*/
3737
(function(){
3838
window.addEventListener('load',function(){
3939
function btnScrollIntoView(e){
40
+ //setTimeout(function(){
4041
e = e.parentElement;
4142
var rc = e.getBoundingClientRect();
4243
var y = 0;
4344
do{
4445
y += e.offsetTop;
4546
}while( e = e.offsetParent );
4647
window.scrollTo(0,y-6*rc.height);
48
+ //},0);
4749
}
4850
document.addEventListener('keydown',function(evt){
4951
//if( evt.target.tagName=='INPUT' || evt.target.tagName=='SELECT' ) return;
5052
var
5153
mSHIFT = 1<<13,
@@ -106,11 +108,14 @@
106108
if( n in btn ){
107109
if( !btn[n].checked ) btn[n].click();
108110
btnScrollIntoView(btn[n]);
109111
}
110112
}
111
- else btn[0].click();
113
+ else{
114
+ btn[0].click();
115
+ btnScrollIntoView(btn[0]);
116
+ }
112117
}
113118
}/*,true*/);
114119
},false);
115120
}());
116121
117122
--- src/fossil.diff.js
+++ src/fossil.diff.js
@@ -35,17 +35,19 @@
35 ** shown/hidden state to show all).
36 */
37 (function(){
38 window.addEventListener('load',function(){
39 function btnScrollIntoView(e){
 
40 e = e.parentElement;
41 var rc = e.getBoundingClientRect();
42 var y = 0;
43 do{
44 y += e.offsetTop;
45 }while( e = e.offsetParent );
46 window.scrollTo(0,y-6*rc.height);
 
47 }
48 document.addEventListener('keydown',function(evt){
49 //if( evt.target.tagName=='INPUT' || evt.target.tagName=='SELECT' ) return;
50 var
51 mSHIFT = 1<<13,
@@ -106,11 +108,14 @@
106 if( n in btn ){
107 if( !btn[n].checked ) btn[n].click();
108 btnScrollIntoView(btn[n]);
109 }
110 }
111 else btn[0].click();
 
 
 
112 }
113 }/*,true*/);
114 },false);
115 }());
116
117
--- src/fossil.diff.js
+++ src/fossil.diff.js
@@ -35,17 +35,19 @@
35 ** shown/hidden state to show all).
36 */
37 (function(){
38 window.addEventListener('load',function(){
39 function btnScrollIntoView(e){
40 //setTimeout(function(){
41 e = e.parentElement;
42 var rc = e.getBoundingClientRect();
43 var y = 0;
44 do{
45 y += e.offsetTop;
46 }while( e = e.offsetParent );
47 window.scrollTo(0,y-6*rc.height);
48 //},0);
49 }
50 document.addEventListener('keydown',function(evt){
51 //if( evt.target.tagName=='INPUT' || evt.target.tagName=='SELECT' ) return;
52 var
53 mSHIFT = 1<<13,
@@ -106,11 +108,14 @@
108 if( n in btn ){
109 if( !btn[n].checked ) btn[n].click();
110 btnScrollIntoView(btn[n]);
111 }
112 }
113 else{
114 btn[0].click();
115 btnScrollIntoView(btn[0]);
116 }
117 }
118 }/*,true*/);
119 },false);
120 }());
121
122

Keyboard Shortcuts

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