mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
spinner: themes + improve positioning
loading-spinner is either `#dlt_t` or `#dlt_f` (tree or files), appearing top-left or top-right, regardless of page/tree scroll (position:fixed)
This commit is contained in:
parent
4be0d426f4
commit
6858cb066f
|
@ -1695,7 +1695,7 @@ html.y #tree.nowrap .ntree a+a:hover {
|
||||||
line-height: 0;
|
line-height: 0;
|
||||||
}
|
}
|
||||||
.dumb_loader_thing {
|
.dumb_loader_thing {
|
||||||
display: inline-block;
|
display: block;
|
||||||
margin: 1em .3em 1em 1em;
|
margin: 1em .3em 1em 1em;
|
||||||
padding: 0 1.2em 0 0;
|
padding: 0 1.2em 0 0;
|
||||||
font-size: 4em;
|
font-size: 4em;
|
||||||
|
@ -1703,9 +1703,16 @@ html.y #tree.nowrap .ntree a+a:hover {
|
||||||
min-height: 1em;
|
min-height: 1em;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
animation: 1s linear .15s infinite forwards spin, .2s ease .15s 1 forwards fadein;
|
animation: 1s linear .15s infinite forwards spin, .2s ease .15s 1 forwards fadein;
|
||||||
position: absolute;
|
position: fixed;
|
||||||
|
top: .3em;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
}
|
}
|
||||||
|
#dlt_t {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
#dlt_f {
|
||||||
|
right: .5em;
|
||||||
|
}
|
||||||
#files .cfg {
|
#files .cfg {
|
||||||
display: none;
|
display: none;
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
|
|
|
@ -7503,7 +7503,7 @@ var treectl = (function () {
|
||||||
xhr.open('GET', addq(dst, 'tree=' + top + (r.dots ? '&dots' : '') + k), true);
|
xhr.open('GET', addq(dst, 'tree=' + top + (r.dots ? '&dots' : '') + k), true);
|
||||||
xhr.onload = xhr.onerror = r.recvtree;
|
xhr.onload = xhr.onerror = r.recvtree;
|
||||||
xhr.send();
|
xhr.send();
|
||||||
enspin('#tree');
|
enspin('t');
|
||||||
}
|
}
|
||||||
|
|
||||||
r.recvtree = function () {
|
r.recvtree = function () {
|
||||||
|
@ -7551,7 +7551,7 @@ var treectl = (function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
despin('#tree');
|
qsr('#dlt_t');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
QS('#treeul>li>a+a').textContent = '[root]';
|
QS('#treeul>li>a+a').textContent = '[root]';
|
||||||
|
@ -7711,8 +7711,8 @@ var treectl = (function () {
|
||||||
r.sb_msg = false;
|
r.sb_msg = false;
|
||||||
r.nextdir = xhr.top;
|
r.nextdir = xhr.top;
|
||||||
clearTimeout(mpl.t_eplay);
|
clearTimeout(mpl.t_eplay);
|
||||||
enspin('#tree');
|
enspin('t');
|
||||||
enspin(thegrid.en ? '#gfiles' : '#files');
|
enspin('f');
|
||||||
window.removeEventListener('scroll', r.tscroll);
|
window.removeEventListener('scroll', r.tscroll);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7807,9 +7807,8 @@ var treectl = (function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
r.gentab(this.top, res);
|
r.gentab(this.top, res);
|
||||||
despin('#tree');
|
qsr('#dlt_t');
|
||||||
despin('#files');
|
qsr('#dlt_f');
|
||||||
despin('#gfiles');
|
|
||||||
|
|
||||||
var lg0 = res.logues ? res.logues[0] || "" : "",
|
var lg0 = res.logues ? res.logues[0] || "" : "",
|
||||||
lg1 = res.logues ? res.logues[1] || "" : "",
|
lg1 = res.logues ? res.logues[1] || "" : "",
|
||||||
|
@ -8198,22 +8197,15 @@ var treectl = (function () {
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
function enspin(sel) {
|
function enspin(i) {
|
||||||
despin(sel);
|
i = 'dlt_' + i;
|
||||||
var d = mknod('div');
|
if (ebi(i))
|
||||||
|
return;
|
||||||
|
var d = mknod('div', i, SPINNER);
|
||||||
d.className = 'dumb_loader_thing';
|
d.className = 'dumb_loader_thing';
|
||||||
d.innerHTML = SPINNER;
|
|
||||||
if (SPINNER_CSS)
|
if (SPINNER_CSS)
|
||||||
d.style.cssText = SPINNER_CSS;
|
d.style.cssText = SPINNER_CSS;
|
||||||
var tgt = QS(sel);
|
document.body.appendChild(d);
|
||||||
tgt.insertBefore(d, tgt.childNodes[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function despin(sel) {
|
|
||||||
var o = QSA(sel + '>.dumb_loader_thing');
|
|
||||||
for (var a = o.length - 1; a >= 0; a--)
|
|
||||||
o[a].parentNode.removeChild(o[a]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -8697,7 +8689,17 @@ var mukey = (function () {
|
||||||
|
|
||||||
var light, theme, themen;
|
var light, theme, themen;
|
||||||
var settheme = (function () {
|
var settheme = (function () {
|
||||||
var ax = 'abcdefghijklmnopqrstuvwx';
|
var r = {},
|
||||||
|
ax = 'abcdefghijklmnopqrstuvwx',
|
||||||
|
tre = '🌲',
|
||||||
|
chldr = !SPINNER_CSS && SPINNER == tre;
|
||||||
|
|
||||||
|
r.ldr = {
|
||||||
|
'4':['🌴'],
|
||||||
|
'5':['🌭', 'padding:0 0 .7em .7em;filter:saturate(3)'],
|
||||||
|
'6':['📞', 'padding:0;filter:brightness(2) sepia(1) saturate(3) hue-rotate(60deg)'],
|
||||||
|
'7':['▲', 'font-size:3em'], //cp437
|
||||||
|
};
|
||||||
|
|
||||||
theme = sread('cpp_thm') || 'a';
|
theme = sread('cpp_thm') || 'a';
|
||||||
if (!/^[a-x][yz]/.exec(theme))
|
if (!/^[a-x][yz]/.exec(theme))
|
||||||
|
@ -8727,13 +8729,19 @@ var settheme = (function () {
|
||||||
ebi('themes').innerHTML = html.join('');
|
ebi('themes').innerHTML = html.join('');
|
||||||
var btns = QSA('#themes a');
|
var btns = QSA('#themes a');
|
||||||
for (var a = 0; a < themes; a++)
|
for (var a = 0; a < themes; a++)
|
||||||
btns[a].onclick = settheme;
|
btns[a].onclick = r.go;
|
||||||
|
|
||||||
|
if (chldr) {
|
||||||
|
var x = r.ldr[itheme] || [tre];
|
||||||
|
SPINNER = x[0];
|
||||||
|
SPINNER_CSS = x[1];
|
||||||
|
}
|
||||||
|
|
||||||
bcfg_set('light', light);
|
bcfg_set('light', light);
|
||||||
tt.att(ebi('themes'));
|
tt.att(ebi('themes'));
|
||||||
}
|
}
|
||||||
|
|
||||||
function settheme(e) {
|
r.go = function (e) {
|
||||||
var i = e;
|
var i = e;
|
||||||
try { ev(e); i = e.target.textContent; } catch (ex) { }
|
try { ev(e); i = e.target.textContent; } catch (ex) { }
|
||||||
light = i % 2 == 1;
|
light = i % 2 == 1;
|
||||||
|
@ -8746,7 +8754,7 @@ var settheme = (function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
freshen();
|
freshen();
|
||||||
return settheme;
|
return r;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue