diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css index 3e020100..a3ef0868 100644 --- a/copyparty/web/browser.css +++ b/copyparty/web/browser.css @@ -4159,7 +4159,6 @@ html.e #detree { } #tempname { - width: 100%; color: var(--fg); background: var(--txt-bg); border: none; diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 19b9e608..ef76a158 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -985,13 +985,13 @@ ebi('op_cfg').innerHTML = ( ' \n' + '\n' + '
" + esc(req.responseText) + '');
toast.ok(3, "OK :)");
- reload_browser();
+
+ setTimeout(function() {location.reload()}, 100);
};
req.send(data);
}
- let input = ebi("tempname");
+ var input = ebi("tempname");
input.onblur = function() {
sendit(input.value);
+ // Chrome blurs elements when calling remove for some reason
+ input.onblur = null;
row.remove();
};
input.onkeydown = function(e) {
if (e.key == "Enter")
sendit(input.value);
if (e.key == "Enter" || e.key == "Escape") {
+ input.onblur = null;
row.remove();
- ev(e)
+ ev(e);
}
};
input.focus();
}
- let opts = QSA('#rcm a');
- for (let i = 0; i < opts.length; i++) {
- let fn = function() {};
- switch(opts[i].id.slice(1)) {
- case 'opn':
- fn = function() {
- let a = mknod('a');
+ var opts = QSA('#rcm a');
+ for (var i = 0; i < opts.length; i++) {
+ opts[i].onclick = function(e) {
+ ev(e);
+ switch(e.target.id.slice(1)) {
+ case 'opn':
+ var a = mknod('a');
a.href = selFile.path;
a.target = selFile.type == "dir" ? '' : '_blank';
a.click();
- };
- break;
- case 'ply':
- fn = function() {selFile.type == 'gf' ? thegrid.imshow(selFile.relpath) : play('f-' + selFile.id)};
- break;
- case 'pla':
- fn = function() {play('f-' + selFile.id)};
- break;
- case 'txt':
- fn = function() {location = '?doc=' + selFile.relpath};
- break;
- case 'md':
- fn = function() {location = selFile.path + '?v'};
- break;
- case 'dl':
- fn = function() {ebi('seldl').click()};
- break;
- case 'zip':
- fn = function() {ebi('selzip').click()};
- break;
- case 'cut':
- fn = function() {fileman.cut()};
- break;
- case 'cpy':
- fn = function() {fileman.cpy()};
- break;
- case 'pst':
- fn = function() {fileman.paste(); fileman.clip = []};
- break;
- case 'nfo':
- fn = function() {mktemp(true)};
- break;
- case 'nfi':
- fn = function() {mktemp()};
- break;
- case 'sal':
- fn = function() {msel.evsel(null, true); selFile.no_dsel = true};
- break;
- case 'sin':
- fn = function() {msel.evsel(null, 't')};
- break;
- }
- opts[i].onclick = function(e) {
- ev(e);
- fn();
+ break;
+ case 'ply':
+ if (selFile.type == 'gf')
+ thegrid.imshow(selFile.relpath);
+ else
+ play('f-' + selFile.id);
+ break;
+ case 'pla':
+ play('f-' + selFile.id);
+ break;
+ case 'txt':
+ location = '?doc=' + selFile.relpath;
+ break;
+ case 'md':
+ location = selFile.path + '?v';
+ break;
+ case 'dl':
+ ebi('seldl').click();
+ break;
+ case 'zip':
+ ebi('selzip').click();
+ break;
+ case 'del':
+ fileman.delete();
+ break;
+ case 'cut':
+ fileman.cut();
+ break;
+ case 'cpy':
+ fileman.cpy();
+ break;
+ case 'pst':
+ fileman.paste();
+ fileman.clip = [];
+ break;
+ case 'nfo':
+ mktemp(true);
+ break;
+ case 'nfi':
+ mktemp();
+ break;
+ case 'sal':
+ msel.evsel(null, true);
+ selFile.no_dsel = true;
+ break;
+ case 'sin':
+ msel.evsel(null, 't');
+ break;
+ default:
+ console.warn('Invalid rcm option "' + e.target.id + '"');
+ }
hide(true);
};
}
@@ -9576,7 +9586,7 @@ let rcm = (function () {
selFile.elem = selFile.type = selFile.path = selFile.id = selFile.relpath = null;
selFile.no_dsel = false;
if (target) {
- let file = target.closest("#files tbody tr");
+ var file = target.closest("#files tbody tr");
if (file) {
selFile.no_dsel = clgot(file, "sel");
clmod(file, "sel", true);
@@ -9587,7 +9597,7 @@ let rcm = (function () {
if (file.children[3].innerHTML == "---")
selFile.type = "dir";
else {
- let lead = file.firstChild.firstChild;
+ var lead = file.firstChild.firstChild;
selFile.id = lead.id.split('-')[1];
selFile.type = lead.innerHTML[0] == '(' ? 'gf' : lead.id.split('-')[0];
}
@@ -9595,8 +9605,8 @@ let rcm = (function () {
}
msel.selui();
- let has_sel = msel.getsel().length;
- let has_clip = fileman.clip.length;
+ var has_sel = msel.getsel().length;
+ var has_clip = fileman.clip.length;
clmod(ebi('ropn'), 'hide', !selFile.path);
clmod(ebi('rply'), 'hide', selFile.type != 'gf' && selFile.type != 'af');