Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Line numbering forum feedback: removed toast message, replaced vague 'lines X-Y' label with 'Copy link to lines X-Y', removed udc=xxx from the generated URL. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
7c98df415874259b0f6e5ecaffc5959d |
User & Date: | stephan 2020-08-18 22:53:21 |
Context
2020-08-19
| ||
08:00 | Initial draft of a project policy doc explaining and justifying its use of JavaScript. ... (check-in: 93e4561b user: stephan tags: js-policy-doc) | |
01:33 | Restore blank cell capability, fixes [95ce0e53] ... (check-in: dc94ebc2 user: andygoth tags: trunk) | |
00:56 | Make a few tweaks to the Ardoise skin. See https://fossil-scm.org/forum/forumpost/a4bcfec897 for branch discussion. ... (check-in: 535f4eb8 user: andygoth tags: andygoth-ardoise-tweaks) | |
2020-08-18
| ||
22:53 | Line numbering forum feedback: removed toast message, replaced vague 'lines X-Y' label with 'Copy link to lines X-Y', removed udc=xxx from the generated URL. ... (check-in: 7c98df41 user: stephan tags: trunk) | |
21:01 | fossil.storage.clear() is now also sandboxed - no longer nuking all state for all repos on the same origin. ... (check-in: d2d8894b user: stephan tags: trunk) | |
Changes
Changes to src/fossil.numbered-lines.js.
︙ | ︙ | |||
16 17 18 19 20 21 22 | }else{/* single query result */ tbl = tbl[0]; } } const F = window.fossil, D = F.dom; const tdLn = tbl.querySelector('td.line-numbers'); const lineState = { | | > > > | | > | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | }else{/* single query result */ tbl = tbl[0]; } } const F = window.fossil, D = F.dom; const tdLn = tbl.querySelector('td.line-numbers'); const lineState = { urlArgs: (window.location.search||'?') .replace(/&?\budc=[^&]*/,'') /* "update display prefs cookie" */ .replace(/&?\bln=[^&]*/,'') /* inbound line number/range */ .replace('?&','?'), start: 0, end: 0 }; const lineTip = new fossil.PopupWidget({ style: { cursor: 'pointer' }, refresh: function(){ const link = this.state.link; D.clearElement(link); if(lineState.start){ const ls = [lineState.start]; if(lineState.end) ls.push(lineState.end); link.dataset.url = ( window.location.toString().split('?')[0] + lineState.urlArgs + '&ln='+ls.join('-') ); D.append( D.clearElement(link), ' Copy link to '+( ls.length===1 ? 'line ' : 'lines ' )+ls.join('-') ); }else{ D.append(link, "No lines selected."); } }, init: function(){ const e = this.e; const btnCopy = D.span(), link = D.span(); this.state = {link}; F.copyButton(btnCopy,{ copyFromElement: link, extractText: ()=>link.dataset.url, oncopy: (ev)=>{ D.flashOnce(ev.target, undefined, ()=>lineTip.hide()); // arguably too snazzy: F.toast.message("Copied link to clipboard."); } }); this.e.addEventListener('click', ()=>btnCopy.click(), false); D.append(this.e, btnCopy, link) } }); |
︙ | ︙ |