Overview
Comment: | [fx][bug?] copy text to clipboard |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fx |
Files: | files | file ages | folders |
SHA3-256: |
3d4e5a9e46349fb73096c1efcd18f0f2 |
User & Date: | olr on 2019-05-12 18:33:04 |
Other Links: | manifest | tags |
Context
2019-05-12
| ||
18:57 | [fx] update manifest.json check-in: 49d3639117 user: olr tags: trunk, fx | |
18:33 | [fx][bug?] copy text to clipboard check-in: 3d4e5a9e46 user: olr tags: trunk, fx | |
17:00 | [fr] faux positif check-in: a82ca1439e user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/webext/content_scripts/init.js from [aa785e1a1b] to [83825726d2].
︙ | ︙ | |||
221 222 223 224 225 226 227 228 229 230 231 232 233 234 | } return xNode; } catch (e) { showError(e); } }, getCaretPosition (xElement) { // JS awfulness again. // recepie from https://stackoverflow.com/questions/4811822/get-a-ranges-start-and-end-offsets-relative-to-its-parent-container let nCaretOffsetStart = 0; let nCaretOffsetEnd = 0; let xSelection = window.getSelection(); | > > > > > > > > > > > > > > | 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | } return xNode; } catch (e) { showError(e); } }, sendTextToClipboard (sText) { // recipe from https://github.com/mdn/webextensions-examples/blob/master/context-menu-copy-link-with-types/clipboard-helper.js // It doesn’t seem to work anymore //console.log(sText); function setClipboardData (xEvent) { document.removeEventListener("copy", setClipboardData, true); xEvent.stopImmediatePropagation(); xEvent.preventDefault(); xEvent.clipboardData.setData("text/plain", sText); } document.addEventListener("copy", setClipboardData, true); document.execCommand("copy"); }, getCaretPosition (xElement) { // JS awfulness again. // recepie from https://stackoverflow.com/questions/4811822/get-a-ranges-start-and-end-offsets-relative-to-its-parent-container let nCaretOffsetStart = 0; let nCaretOffsetEnd = 0; let xSelection = window.getSelection(); |
︙ | ︙ |
Modified gc_lang/fr/webext/content_scripts/panel_gc.js from [7e87ea2dd9] to [b9694fbb2e].
︙ | ︙ | |||
382 383 384 385 386 387 388 | } addMessageToGCPanel (sMessage) { let xNode = oGrammalecte.createNode("div", {className: "grammalecte_panel_flow_message", textContent: sMessage}); this.xParagraphList.appendChild(xNode); } | < < < < < < < < < < < < | | 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 | } addMessageToGCPanel (sMessage) { let xNode = oGrammalecte.createNode("div", {className: "grammalecte_panel_flow_message", textContent: sMessage}); this.xParagraphList.appendChild(xNode); } copyTextToClipboard () { this.startWaitIcon(); try { let xClipboardButton = this.xParent.getElementById("grammalecte_clipboard_button"); xClipboardButton.textContent = "⇒ presse-papiers"; let sText = ""; // Quand c'est dans un shadow "this.xParent.getElementsByClassName" n'existe pas. let xElem = this.xParent.getElementById("grammalecte_gc_panel"); for (let xNode of xElem.getElementsByClassName("grammalecte_paragraph")) { sText += xNode.textContent + "\n"; } oGrammalecte.sendTextToClipboard(sText); window.setTimeout(() => { xClipboardButton.textContent = "📋"; }, 2000); } catch (e) { showError(e); } this.stopWaitIcon(); } |
︙ | ︙ |