Fossil SCM

Refactor a function for later reuse.

florian 2022-07-31 08:20 UTC timeline-keyboard-navigation
Commit 2087ad109e73566d3409a30d19e9b5e509ed31d0de16746bd8be15b2b15453dc
1 file changed +7 -5
+7 -5
--- src/graph.js
+++ src/graph.js
@@ -851,16 +851,18 @@
851851
}
852852
function focusNextId(id,dx){
853853
var m = /^m(\d+)$/.exec(id);
854854
return m!==null ? 'm' + (parseInt(m[1]) + dx) : null;
855855
}
856
+ function focusRowinfoEnum(i){
857
+ var td = document.getElementById('timeline-data-' + i);
858
+ return td ? JSON.parse(td.textContent || td.innerText) : null;
859
+ }
856860
function focusRowinfoFromId(id){
857
- for(var i=0; true; i++){
858
- var td = document.getElementById('timeline-data-' + i);
859
- if( !td ) break;
860
- var ti = JSON.parse(td.textContent || td.innerText);
861
- for( var k=0; k<ti.rowinfo.length; k++ ){
861
+ var ti;
862
+ for(var i=0; ti=focusRowinfoEnum(i); i++){
863
+ for( var k=0; k<ti.rowinfo.length; k++ ){
862864
if( id=='m' + ti.rowinfo[k].id ) return {
863865
'baseurl': ti.baseUrl, 'hash': ti.rowinfo[k].h
864866
};
865867
}
866868
}
867869
--- src/graph.js
+++ src/graph.js
@@ -851,16 +851,18 @@
851 }
852 function focusNextId(id,dx){
853 var m = /^m(\d+)$/.exec(id);
854 return m!==null ? 'm' + (parseInt(m[1]) + dx) : null;
855 }
 
 
 
 
856 function focusRowinfoFromId(id){
857 for(var i=0; true; i++){
858 var td = document.getElementById('timeline-data-' + i);
859 if( !td ) break;
860 var ti = JSON.parse(td.textContent || td.innerText);
861 for( var k=0; k<ti.rowinfo.length; k++ ){
862 if( id=='m' + ti.rowinfo[k].id ) return {
863 'baseurl': ti.baseUrl, 'hash': ti.rowinfo[k].h
864 };
865 }
866 }
867
--- src/graph.js
+++ src/graph.js
@@ -851,16 +851,18 @@
851 }
852 function focusNextId(id,dx){
853 var m = /^m(\d+)$/.exec(id);
854 return m!==null ? 'm' + (parseInt(m[1]) + dx) : null;
855 }
856 function focusRowinfoEnum(i){
857 var td = document.getElementById('timeline-data-' + i);
858 return td ? JSON.parse(td.textContent || td.innerText) : null;
859 }
860 function focusRowinfoFromId(id){
861 var ti;
862 for(var i=0; ti=focusRowinfoEnum(i); i++){
863 for( var k=0; k<ti.rowinfo.length; k++ ){
 
 
864 if( id=='m' + ti.rowinfo[k].id ) return {
865 'baseurl': ti.baseUrl, 'hash': ti.rowinfo[k].h
866 };
867 }
868 }
869

Keyboard Shortcuts

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