mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
make browser resizing smoother / less expensive
This commit is contained in:
parent
f5407b2997
commit
18aa82fb2f
|
@ -2038,8 +2038,7 @@ var pbar = (function () {
|
||||||
t_redraw = setTimeout(r.drawpos, sm > 50 ? 20 : 50);
|
t_redraw = setTimeout(r.drawpos, sm > 50 ? 20 : 50);
|
||||||
};
|
};
|
||||||
|
|
||||||
window.addEventListener('resize', r.onresize);
|
onresize100.add(r.onresize, true);
|
||||||
r.onresize();
|
|
||||||
return r;
|
return r;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
@ -2101,8 +2100,7 @@ var vbar = (function () {
|
||||||
clearTimeout(untext);
|
clearTimeout(untext);
|
||||||
untext = setTimeout(r.draw, 1000);
|
untext = setTimeout(r.draw, 1000);
|
||||||
};
|
};
|
||||||
window.addEventListener('resize', r.onresize);
|
onresize100.add(r.onresize, true);
|
||||||
r.onresize();
|
|
||||||
|
|
||||||
var rect;
|
var rect;
|
||||||
function mousedown(e) {
|
function mousedown(e) {
|
||||||
|
@ -5183,6 +5181,7 @@ document.onkeydown = function (e) {
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
function aligngriditems() {
|
function aligngriditems() {
|
||||||
if (!treectl)
|
if (!treectl)
|
||||||
return;
|
return;
|
||||||
|
@ -5205,7 +5204,8 @@ function aligngriditems() {
|
||||||
ebi('ggrid').style.justifyContent = treectl.hidden ? 'center' : 'space-between';
|
ebi('ggrid').style.justifyContent = treectl.hidden ? 'center' : 'space-between';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
window.addEventListener('resize', aligngriditems);
|
onresize100.add(aligngriditems);
|
||||||
|
|
||||||
|
|
||||||
var treectl = (function () {
|
var treectl = (function () {
|
||||||
var r = {
|
var r = {
|
||||||
|
|
|
@ -2630,8 +2630,7 @@ function up2k_init(subtle) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
window.addEventListener('resize', onresize);
|
onresize100.add(onresize, true);
|
||||||
onresize();
|
|
||||||
|
|
||||||
if (MOBILE) {
|
if (MOBILE) {
|
||||||
// android-chrome wobbles for a bit; firefox / iOS-safari are OK
|
// android-chrome wobbles for a bit; firefox / iOS-safari are OK
|
||||||
|
|
|
@ -1051,6 +1051,67 @@ function cliptxt(txt, ok) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function Debounce(delay) {
|
||||||
|
var r = this;
|
||||||
|
r.delay = delay;
|
||||||
|
r.timer = 0;
|
||||||
|
r.t_hit = 0;
|
||||||
|
r.t_run = 0;
|
||||||
|
r.q = [];
|
||||||
|
|
||||||
|
r.add = function (fun, run) {
|
||||||
|
r.rm(fun);
|
||||||
|
r.q.push(fun);
|
||||||
|
|
||||||
|
if (run)
|
||||||
|
fun();
|
||||||
|
};
|
||||||
|
|
||||||
|
r.rm = function (fun) {
|
||||||
|
apop(r.q, fun);
|
||||||
|
};
|
||||||
|
|
||||||
|
r.run = function () {
|
||||||
|
if (crashed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
r.t_run = Date.now();
|
||||||
|
|
||||||
|
var q = r.q.slice(0);
|
||||||
|
for (var a = 0; a < q.length; a++)
|
||||||
|
q[a]();
|
||||||
|
};
|
||||||
|
|
||||||
|
r.hit = function () {
|
||||||
|
if (crashed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var now = Date.now(),
|
||||||
|
td_hit = now - r.t_hit,
|
||||||
|
td_run = now - r.t_run;
|
||||||
|
|
||||||
|
if (td_run >= r.delay * 2)
|
||||||
|
r.t_run = now;
|
||||||
|
|
||||||
|
if (td_run >= r.delay && td_run <= r.delay * 2) {
|
||||||
|
// r.delay is also deadline
|
||||||
|
clearTimeout(r.timer);
|
||||||
|
return r.run();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (td_hit < r.delay / 5)
|
||||||
|
return;
|
||||||
|
|
||||||
|
clearTimeout(r.timer);
|
||||||
|
r.timer = setTimeout(r.doit, r.delay);
|
||||||
|
r.t_hit = now;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
var onresize100 = new Debounce(100);
|
||||||
|
window.addEventListener('resize', onresize100.hit);
|
||||||
|
|
||||||
|
|
||||||
var timer = (function () {
|
var timer = (function () {
|
||||||
var r = {};
|
var r = {};
|
||||||
r.q = [];
|
r.q = [];
|
||||||
|
|
Loading…
Reference in a new issue