Fossil SCM

Some code readability and function naming tweaks.

florian 2022-08-01 09:21 UTC timeline-keyboard-navigation
Commit 89a0438f8f3bf6e9263290869526032bf707af513818c806523d26fc79bc0158
1 file changed +12 -13
+12 -13
--- src/graph.js
+++ src/graph.js
@@ -852,21 +852,20 @@
852852
}
853853
function focusNextId(id,dx){
854854
var m = /^m(\d+)$/.exec(id);
855855
return m!==null ? 'm' + (parseInt(m[1]) + dx) : null;
856856
}
857
- function focusRowinfoEnum(i){
858
- var td = document.getElementById('timeline-data-' + i);
859
- return td ? JSON.parse(td.textContent || td.innerText) : null;
857
+ function timelineGetDataBlock(i){
858
+ var tb = document.getElementById('timeline-data-' + i);
859
+ return tb ? JSON.parse(tb.textContent || tb.innerText) : null;
860860
}
861
- function focusRowinfoFromId(id){
861
+ function timelineGetRowInfo(id){
862862
var ti;
863
- for(var i=0; ti=focusRowinfoEnum(i); i++){
864
- for( var k=0; k<ti.rowinfo.length; k++ ){
865
- if( id=='m' + ti.rowinfo[k].id ) return {
866
- 'baseurl': ti.baseUrl, 'hash': ti.rowinfo[k].h
867
- };
863
+ for(var i=0; ti=timelineGetDataBlock(i); i++){
864
+ for( var k=0; k<ti.rowinfo.length; k++ ){
865
+ if( id=='m' + ti.rowinfo[k].id ) return {
866
+ 'baseurl': ti.baseUrl, 'hash': ti.rowinfo[k].h };
868867
}
869868
}
870869
return null;
871870
}
872871
function focusVisualize(id,scroll){
@@ -901,13 +900,13 @@
901900
var
902901
kNEXT = 78 /* N */,
903902
kPREV = 77 /* M */,
904903
kTMLN = 74 /* J */,
905904
kVIEW = 75 /* K */,
906
- kDONE = 76 /* L */;
907
- var key = ( evt.which || evt.keyCode )
908
- | evt.altKey<<15 | evt.ctrlKey<<14 | evt.shiftKey<<13;
905
+ kDONE = 76 /* L */,
906
+ mod = evt.altKey<<15 | evt.ctrlKey<<14 | evt.shiftKey<<13,
907
+ key = ( evt.which || evt.keyCode ) | mod;
909908
var dx = 0;
910909
if( key==kPREV ) dx++;
911910
else if( key==kNEXT ) dx--;
912911
else if( key!=kTMLN && key!=kVIEW && key!=kDONE ) return;
913912
var kf = document.getElementById('timeline-kbfocus');
@@ -919,11 +918,11 @@
919918
return;
920919
}
921920
document.cookie = 'fossil_timeline_kbnav=1;path=/';
922921
var id = kf.value;
923922
if( id && dx==0 ){
924
- var ri = focusRowinfoFromId(id);
923
+ var ri = timelineGetRowInfo(id);
925924
if( ri ){
926925
var page = key==kVIEW ? '/info/' : '/timeline?c=';
927926
var href = ri.baseurl + page + encodeURIComponent(ri.hash);
928927
if( href!=location.href.slice(-href.length) ){
929928
location.href = href;
930929
--- src/graph.js
+++ src/graph.js
@@ -852,21 +852,20 @@
852 }
853 function focusNextId(id,dx){
854 var m = /^m(\d+)$/.exec(id);
855 return m!==null ? 'm' + (parseInt(m[1]) + dx) : null;
856 }
857 function focusRowinfoEnum(i){
858 var td = document.getElementById('timeline-data-' + i);
859 return td ? JSON.parse(td.textContent || td.innerText) : null;
860 }
861 function focusRowinfoFromId(id){
862 var ti;
863 for(var i=0; ti=focusRowinfoEnum(i); i++){
864 for( var k=0; k<ti.rowinfo.length; k++ ){
865 if( id=='m' + ti.rowinfo[k].id ) return {
866 'baseurl': ti.baseUrl, 'hash': ti.rowinfo[k].h
867 };
868 }
869 }
870 return null;
871 }
872 function focusVisualize(id,scroll){
@@ -901,13 +900,13 @@
901 var
902 kNEXT = 78 /* N */,
903 kPREV = 77 /* M */,
904 kTMLN = 74 /* J */,
905 kVIEW = 75 /* K */,
906 kDONE = 76 /* L */;
907 var key = ( evt.which || evt.keyCode )
908 | evt.altKey<<15 | evt.ctrlKey<<14 | evt.shiftKey<<13;
909 var dx = 0;
910 if( key==kPREV ) dx++;
911 else if( key==kNEXT ) dx--;
912 else if( key!=kTMLN && key!=kVIEW && key!=kDONE ) return;
913 var kf = document.getElementById('timeline-kbfocus');
@@ -919,11 +918,11 @@
919 return;
920 }
921 document.cookie = 'fossil_timeline_kbnav=1;path=/';
922 var id = kf.value;
923 if( id && dx==0 ){
924 var ri = focusRowinfoFromId(id);
925 if( ri ){
926 var page = key==kVIEW ? '/info/' : '/timeline?c=';
927 var href = ri.baseurl + page + encodeURIComponent(ri.hash);
928 if( href!=location.href.slice(-href.length) ){
929 location.href = href;
930
--- src/graph.js
+++ src/graph.js
@@ -852,21 +852,20 @@
852 }
853 function focusNextId(id,dx){
854 var m = /^m(\d+)$/.exec(id);
855 return m!==null ? 'm' + (parseInt(m[1]) + dx) : null;
856 }
857 function timelineGetDataBlock(i){
858 var tb = document.getElementById('timeline-data-' + i);
859 return tb ? JSON.parse(tb.textContent || tb.innerText) : null;
860 }
861 function timelineGetRowInfo(id){
862 var ti;
863 for(var i=0; ti=timelineGetDataBlock(i); i++){
864 for( var k=0; k<ti.rowinfo.length; k++ ){
865 if( id=='m' + ti.rowinfo[k].id ) return {
866 'baseurl': ti.baseUrl, 'hash': ti.rowinfo[k].h };
 
867 }
868 }
869 return null;
870 }
871 function focusVisualize(id,scroll){
@@ -901,13 +900,13 @@
900 var
901 kNEXT = 78 /* N */,
902 kPREV = 77 /* M */,
903 kTMLN = 74 /* J */,
904 kVIEW = 75 /* K */,
905 kDONE = 76 /* L */,
906 mod = evt.altKey<<15 | evt.ctrlKey<<14 | evt.shiftKey<<13,
907 key = ( evt.which || evt.keyCode ) | mod;
908 var dx = 0;
909 if( key==kPREV ) dx++;
910 else if( key==kNEXT ) dx--;
911 else if( key!=kTMLN && key!=kVIEW && key!=kDONE ) return;
912 var kf = document.getElementById('timeline-kbfocus');
@@ -919,11 +918,11 @@
918 return;
919 }
920 document.cookie = 'fossil_timeline_kbnav=1;path=/';
921 var id = kf.value;
922 if( id && dx==0 ){
923 var ri = timelineGetRowInfo(id);
924 if( ri ){
925 var page = key==kVIEW ? '/info/' : '/timeline?c=';
926 var href = ri.baseurl + page + encodeURIComponent(ri.hash);
927 if( href!=location.href.slice(-href.length) ){
928 location.href = href;
929

Keyboard Shortcuts

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