fix tree trying to make surprise appearances

This commit is contained in:
ed 2021-03-13 02:29:13 +01:00
parent 4d0e5ff6db
commit 93c2bd6ef6

View File

@ -739,9 +739,11 @@ var treectl = (function () {
var treesz = icfg_get('treesz', 16); var treesz = icfg_get('treesz', 16);
treesz = Math.min(Math.max(treesz, 4), 50); treesz = Math.min(Math.max(treesz, 4), 50);
console.log('treesz [' + treesz + ']'); console.log('treesz [' + treesz + ']');
var entreed = false;
function entree(e) { function entree(e) {
ev(e); ev(e);
entreed = true;
ebi('path').style.display = 'none'; ebi('path').style.display = 'none';
var tree = ebi('tree'); var tree = ebi('tree');
@ -749,22 +751,29 @@ var treectl = (function () {
swrite('entreed', 'tree'); swrite('entreed', 'tree');
get_tree("", get_evpath(), true); get_tree("", get_evpath(), true);
window.addEventListener('scroll', onscroll);
window.addEventListener('resize', onresize);
onresize(); onresize();
} }
function detree(e) { function detree(e) {
ev(e); ev(e);
entreed = false;
ebi('tree').style.display = 'none'; ebi('tree').style.display = 'none';
ebi('path').style.display = 'inline-block'; ebi('path').style.display = 'inline-block';
ebi('wrap').style.marginLeft = '0'; ebi('wrap').style.marginLeft = '0';
swrite('entreed', 'na'); swrite('entreed', 'na');
window.removeEventListener('resize', onresize);
window.removeEventListener('scroll', onscroll);
} }
function onscroll() { function onscroll() {
if (!entreed)
return;
var top = ebi('wrap').getBoundingClientRect().top; var top = ebi('wrap').getBoundingClientRect().top;
ebi('tree').style.top = Math.max(0, parseInt(top)) + 'px'; ebi('tree').style.top = Math.max(0, parseInt(top)) + 'px';
} }
window.addEventListener('scroll', onscroll);
function periodic() { function periodic() {
onscroll(); onscroll();
@ -773,6 +782,9 @@ var treectl = (function () {
periodic(); periodic();
function onresize(e) { function onresize(e) {
if (!entreed)
return;
var q = '#tree'; var q = '#tree';
var nq = 0; var nq = 0;
while (dyn) { while (dyn) {
@ -786,7 +798,6 @@ var treectl = (function () {
ebi('wrap').style.marginLeft = w + 'em'; ebi('wrap').style.marginLeft = w + 'em';
onscroll(); onscroll();
} }
window.addEventListener('resize', onresize);
function get_tree(top, dst, rst) { function get_tree(top, dst, rst) {
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();