diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css index 5cd0e8ff..af8ec40b 100644 --- a/copyparty/web/browser.css +++ b/copyparty/web/browser.css @@ -260,6 +260,7 @@ html.bz { --btn-1-bg: #ba2959; --btn-1-fg: #fff; --btn-1h-fg: #000; + --txt-sh: a; --u2-tab-1-fg: var(--fg-max); --u2-tab-1-bg: var(--bg); diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 3311cb5e..347768a3 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -1589,8 +1589,8 @@ function evau_error(e) { // chromish for 40x var xhr = new XHR(); xhr.open('HEAD', eplaya.src, true); - xhr.onreadystatechange = function () { - if (this.readyState != XHR.DONE || this.status < 400) + xhr.onload = xhr.onerror = function () { + if (this.status < 400) return; err = this.status == 403 ? e403 : this.status == 404 ? e404 : @@ -2179,9 +2179,6 @@ var fileman = (function () { var dst = base + uricom_enc(f[0].inew.value, false); function rename_cb() { - if (this.readyState != XHR.DONE) - return; - if (this.status !== 200) { var msg = this.responseText; toast.err(9, 'rename failed:\n' + msg); @@ -2194,7 +2191,7 @@ var fileman = (function () { var xhr = new XHR(); xhr.open('GET', f[0].src + '?move=' + dst, true); - xhr.onreadystatechange = rename_cb; + xhr.onload = xhr.onerror = rename_cb; xhr.send(); } }; @@ -2225,13 +2222,10 @@ var fileman = (function () { toast.inf(0, esc('deleting ' + (vps.length + 1) + ' items\n\n' + vp)); xhr.open('GET', vp + '?delete', true); - xhr.onreadystatechange = delete_cb; + xhr.onload = xhr.onerror = delete_cb; xhr.send(); } function delete_cb() { - if (this.readyState != XHR.DONE) - return; - if (this.status !== 200) { var msg = this.responseText; toast.err(9, 'delete failed:\n' + msg); @@ -2336,13 +2330,10 @@ var fileman = (function () { var dst = get_evpath() + vp.split('/').pop(); xhr.open('GET', vp + '?move=' + dst, true); - xhr.onreadystatechange = paste_cb; + xhr.onload = xhr.onerror = paste_cb; xhr.send(); } function paste_cb() { - if (this.readyState != XHR.DONE) - return; - if (this.status !== 200) { var msg = this.responseText; toast.err(9, 'paste failed:\n' + msg); @@ -2508,7 +2499,7 @@ var showfile = (function () { xhr.ts = Date.now(); xhr.open('GET', url.split('?')[0] + '?raw', true); xhr.onprogress = loading; - xhr.onloadend = load_cb; + xhr.onload = xhr.onerror = load_cb; xhr.send(); }; @@ -2774,7 +2765,7 @@ var thegrid = (function () { if (l) return setln(parseInt(l)); - var t = lfiles.tHead.rows[0].cells; + var t = ebi('files').tHead.rows[0].cells; for (var a = 0; a < t.length; a++) if (t[a].getAttribute('name') == s) { t[a].click(); @@ -2797,6 +2788,9 @@ var thegrid = (function () { wintitle(); } + lfiles = ebi('files'); + gfiles = ebi('gfiles'); + var vis = has(perms, "read"); gfiles.style.display = vis && r.en ? '' : 'none'; lfiles.style.display = vis && !r.en ? '' : 'none'; @@ -3522,16 +3516,13 @@ document.onkeydown = function (e) { var xhr = new XHR(); xhr.open('POST', '/?srch', true); xhr.setRequestHeader('Content-Type', 'text/plain'); - xhr.onreadystatechange = xhr_search_results; + xhr.onload = xhr.onerror = xhr_search_results; xhr.ts = Date.now(); xhr.q_raw = ebi('q_raw').value; xhr.send(JSON.stringify({ "q": xhr.q_raw, "n": cap })); } function xhr_search_results() { - if (this.readyState != XHR.DONE) - return; - if (this.status !== 200) { var msg = this.responseText; if (msg.indexOf('
') === 0)
@@ -3862,15 +3853,12 @@ var treectl = (function () {
xhr.rst = rst;
xhr.ts = Date.now();
xhr.open('GET', dst + '?tree=' + top + (r.dots ? '&dots' : ''), true);
- xhr.onreadystatechange = recvtree;
+ xhr.onload = xhr.onerror = recvtree;
xhr.send();
enspin('#tree');
}
function recvtree() {
- if (this.readyState != XHR.DONE)
- return;
-
if (!xhrchk(this, "could not list subfolders:\n\nerror ", "404, folder not found"))
return;
@@ -4030,7 +4018,7 @@ var treectl = (function () {
xhr.hpush = hpush;
xhr.ts = Date.now();
xhr.open('GET', xhr.top + '?ls' + (r.dots ? '&dots' : ''), true);
- xhr.onreadystatechange = recvls;
+ xhr.onload = xhr.onerror = recvls;
xhr.send();
if (hpush && !no_tree)
get_tree('.', xhr.top);
@@ -4054,9 +4042,6 @@ var treectl = (function () {
}
function recvls() {
- if (this.readyState != XHR.DONE)
- return;
-
if (!xhrchk(this, "could not list files in folder:\n\nerror ", "404, folder not found"))
return;
@@ -4703,7 +4688,7 @@ var settheme = (function () {
showfile.setstyle();
var html = [], itheme = ax.indexOf(theme.charAt(0)) * 2 + (light ? 1 : 0),
- names = ['classic dark', 'classic light', 'flat dark', 'flat light', 'vice', 'hotdog stand'];
+ names = ['classic dark', 'classic light', 'pm-monokai', 'flat light', 'vice', 'hotdog stand'];
for (var a = 0; a < themes; a++)
html.push('/, ""));
@@ -400,7 +394,7 @@ function run_savechk(lastmod, txt, btn, ntry) {
var xhr = new XHR();
xhr.open('GET', url, true);
xhr.responseType = 'text';
- xhr.onreadystatechange = savechk_cb;
+ xhr.onload = xhr.onerror = savechk_cb;
xhr.lastmod = lastmod;
xhr.txt = txt;
xhr.btn = btn;
@@ -409,9 +403,6 @@ function run_savechk(lastmod, txt, btn, ntry) {
}
function savechk_cb() {
- if (this.readyState != XHR.DONE)
- return;
-
if (this.status !== 200)
return toast.err(0, 'Error! The file was NOT saved.\n\n' + this.status + ": " + (this.responseText + '').replace(/^/, ""));
diff --git a/copyparty/web/mde.js b/copyparty/web/mde.js
index e81a98c1..bb70cacb 100644
--- a/copyparty/web/mde.js
+++ b/copyparty/web/mde.js
@@ -117,7 +117,7 @@ function save(mde) {
var xhr = new XHR();
xhr.open('POST', url, true);
xhr.responseType = 'text';
- xhr.onreadystatechange = save_cb;
+ xhr.onload = xhr.onerror = save_cb;
xhr.btn = save_btn;
xhr.mde = mde;
xhr.txt = txt;
@@ -133,9 +133,6 @@ function save(mde) {
}
function save_cb() {
- if (this.readyState != XHR.DONE)
- return;
-
if (this.status !== 200)
return toast.err(0, 'Error! The file was NOT saved.\n\n' + this.status + ": " + (this.responseText + '').replace(/^/, ""));
@@ -173,7 +170,7 @@ function save_cb() {
var xhr = new XHR();
xhr.open('GET', url, true);
xhr.responseType = 'text';
- xhr.onreadystatechange = save_chk;
+ xhr.onload = xhr.onerror = save_chk;
xhr.btn = this.save_btn;
xhr.mde = this.mde;
xhr.txt = this.txt;
@@ -182,9 +179,6 @@ function save_cb() {
}
function save_chk() {
- if (this.readyState != XHR.DONE)
- return;
-
if (this.status !== 200)
return toast.err(0, 'Error! The file was NOT saved.\n\n' + this.status + ": " + (this.responseText + '').replace(/^/, ""));
diff --git a/copyparty/web/util.js b/copyparty/web/util.js
index 799f7ffc..5d4e616f 100644
--- a/copyparty/web/util.js
+++ b/copyparty/web/util.js
@@ -316,7 +316,7 @@ function clmod(el, cls, add) {
var n2 = n1.replace(re, ' ') + (add ? ' ' + cls : '');
- if (!n1 == !n2)
+ if (n1 == n2)
return false;
el.className = n2;