diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 7dcc382b..08e9763c 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -1481,7 +1481,7 @@ function play(tid, is_ev, seek, call_depth) { seek_au_sec(seek); } - if (!seek) { + if (!seek && !ebi('unsearch')) { var o = ebi(oid); o.setAttribute('id', 'thx_js'); sethash(oid); @@ -2966,9 +2966,6 @@ document.onkeydown = function (e) { if (QS('.opview.act')) return QS('#ops>a').click(); - if (QS('#unsearch')) - return QS('#unsearch').click(); - if (widget.is_open) return widget.close(); @@ -2978,6 +2975,9 @@ document.onkeydown = function (e) { if (!treectl.hidden) return treectl.detree(); + if (QS('#unsearch')) + return QS('#unsearch').click(); + if (thegrid.en) return ebi('griden').click(); } @@ -3352,7 +3352,7 @@ document.onkeydown = function (e) { treectl.hide(); - var html = mk_files_header(tagord); + var html = mk_files_header(tagord), seen = {}; html.push(''); html.push('-[❌] close search results'); for (var a = 0; a < res.hits.length; a++) { @@ -3361,13 +3361,18 @@ document.onkeydown = function (e) { sz = esc(r.sz + ''), rp = esc(uricom_dec(r.rp + '')[0]), ext = rp.lastIndexOf('.') > 0 ? rp.split('.').pop().split('?')[0] : '%', - links = linksplit(r.rp + ''); + id = 'f-' + ('00000000' + crc32(rp)).slice(-8); + + while (seen[id]) + id += 'a'; + seen[id] = 1; if (ext.length > 8) ext = '%'; - links = links.join(''); - var nodes = ['-
' + links + '
', sz]; + var links = linksplit(r.rp + '', id).join(''), + nodes = ['-
' + links + '
', sz]; + for (var b = 0; b < tagord.length; b++) { var k = tagord[b], v = r.tags[k] || ""; diff --git a/copyparty/web/util.js b/copyparty/web/util.js index f65952f9..6bb20b45 100644 --- a/copyparty/web/util.js +++ b/copyparty/web/util.js @@ -434,7 +434,7 @@ function makeSortable(table, cb) { } -function linksplit(rp) { +function linksplit(rp, id) { var ret = [], apath = '/', q = null; @@ -464,8 +464,13 @@ function linksplit(rp) { vlink = vlink.slice(0, -1) + '/'; } - if (!rp && q) - link += q; + if (!rp) { + if (q) + link += q; + + if (id) + link += '" id="' + id; + } ret.push('' + vlink + ''); apath += link;