Changes In Branch webext3 Through [e6dcf47f18] Excluding Merge-Ins
This is equivalent to a diff from d560645c3f to e6dcf47f18
2017-10-10
| ||
14:30 | merge trunk check-in: d25e2ed843 user: olr tags: webext3 | |
2017-09-22
| ||
09:44 | [fr] phonet_simil: remord remords check-in: 82b92a6d17 user: olr tags: trunk, fr | |
09:31 | [fx] button and menu for editable content check-in: e6dcf47f18 user: olr tags: webext3 | |
2017-09-21
| ||
11:52 | [fr] pt: secret défense check-in: d560645c3f user: olr tags: trunk, fr | |
2017-09-20
| ||
10:41 | [fr] phonet_simil: slam/slame check-in: 7282e496f0 user: olr tags: trunk, fr | |
Modified gc_lang/fr/webext/content_scripts/init.js from [52c46fcb6a] to [fb82906f86].
︙ | ︙ | |||
55 56 57 58 59 60 61 62 63 64 65 66 67 68 | createMenus: function () { let lNode = document.getElementsByTagName("textarea"); for (let xNode of lNode) { this.lMenu.push(new GrammalecteMenu(this.nMenu, xNode)); this.nMenu += 1; } }, rescanPage: function () { if (this.oTFPanel !== null) { this.oTFPanel.hide(); } if (this.oLxgPanel !== null) { this.oLxgPanel.hide(); } if (this.oGCPanel !== null) { this.oGCPanel.hide(); } for (let oMenu of this.lMenu) { oMenu.deleteNodes(); | > > > > > > > > | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | createMenus: function () { let lNode = document.getElementsByTagName("textarea"); for (let xNode of lNode) { this.lMenu.push(new GrammalecteMenu(this.nMenu, xNode)); this.nMenu += 1; } }, createMenus2 () { let lNode = document.querySelectorAll("[contenteditable]"); for (let xNode of lNode) { this.lMenu.push(new GrammalecteMenu(this.nMenu, xNode)); this.nMenu += 1; } }, rescanPage: function () { if (this.oTFPanel !== null) { this.oTFPanel.hide(); } if (this.oLxgPanel !== null) { this.oLxgPanel.hide(); } if (this.oGCPanel !== null) { this.oGCPanel.hide(); } for (let oMenu of this.lMenu) { oMenu.deleteNodes(); |
︙ | ︙ | |||
148 149 150 151 152 153 154 | }); /* Start */ oGrammalecte.createMenus(); | > | 156 157 158 159 160 161 162 163 | }); /* Start */ oGrammalecte.createMenus(); oGrammalecte.createMenus2(); |
Modified gc_lang/fr/webext/content_scripts/menu.js from [51ff434365] to [13d950308a].
1 2 3 4 5 6 7 | // JavaScript "use strict"; class GrammalecteMenu { | | | | | | > > > | | | | | | | > > | | | > | | | | > | | | | < < < < < | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | // JavaScript "use strict"; class GrammalecteMenu { constructor (nMenu, xNode) { this.sMenuId = "grammalecte_menu" + nMenu; this.xButton = createNode("div", {className: "grammalecte_menu_main_button", textContent: " "}); this.xButton.onclick = () => { this.switchMenu(); }; this.xMenu = this._createMenu(xNode); this._insertAfter(this.xButton, xNode); this._insertAfter(this.xMenu, xNode); } _insertAfter (xNewNode, xReferenceNode) { xReferenceNode.parentNode.insertBefore(xNewNode, xReferenceNode.nextSibling); } _createMenu (xNode) { try { let sText = (xNode.tagName == "TEXTAREA") ? xNode.value : xNode.textContent; let xMenu = createNode("div", {id: this.sMenuId, className: "grammalecte_menu"}); xMenu.appendChild(createNode("div", {className: "grammalecte_menu_header", textContent: "GRAMMALECTE"})); // Text formatter if (xNode.tagName == "TEXTAREA") { let xTFButton = createNode("div", {className: "grammalecte_menu_item", textContent: "Formateur de texte"}); xTFButton.onclick = () => { this.switchMenu(); oGrammalecte.createTFPanel(); oGrammalecte.oTFPanel.start(xNode); oGrammalecte.oTFPanel.show(); }; xMenu.appendChild(xTFButton); } // lexicographe let xLxgButton = createNode("div", {className: "grammalecte_menu_item", textContent: "Lexicographe"}); xLxgButton.onclick = () => { this.switchMenu(); oGrammalecte.createLxgPanel(); oGrammalecte.oLxgPanel.clear(); oGrammalecte.oLxgPanel.show(); oGrammalecte.oLxgPanel.startWaitIcon(); xGrammalectePort.postMessage({ sCommand: "getListOfTokens", dParam: {sText: sText}, dInfo: {sTextAreaId: xNode.id} }); }; xMenu.appendChild(xLxgButton); // Grammar checker let xGCButton = createNode("div", {className: "grammalecte_menu_item", textContent: "Correction grammaticale"}); xGCButton.onclick = () => { this.switchMenu(); oGrammalecte.createGCPanel(); oGrammalecte.oGCPanel.start(xNode); oGrammalecte.oGCPanel.show(); oGrammalecte.oGCPanel.startWaitIcon(); xGrammalectePort.postMessage({ sCommand: "parseAndSpellcheck", dParam: {sText: sText, sCountry: "FR", bDebug: false, bContext: false}, dInfo: {sTextAreaId: xNode.id} }); }; xMenu.appendChild(xGCButton); // Conjugation tool let xConjButton = createNode("div", {className: "grammalecte_menu_item_block", textContent: "Conjugueur"}); let xConjButtonTab = createNode("div", {className: "grammalecte_menu_button", textContent: "Onglet"}); xConjButtonTab.onclick = () => { this.switchMenu(); xGrammalectePort.postMessage({sCommand: "openConjugueurTab", dParam: null, dInfo: null}); }; let xConjButtonWin = createNode("div", {className: "grammalecte_menu_button", textContent: "Fenêtre"}); xConjButtonWin.onclick = () => { this.switchMenu(); xGrammalectePort.postMessage({sCommand: "openConjugueurWindow", dParam: null, dInfo: null}); }; xConjButton.appendChild(xConjButtonTab); xConjButton.appendChild(xConjButtonWin); xMenu.appendChild(xConjButton); //xMenu.appendChild(createNode("img", {scr: browser.extension.getURL("img/logo-16.png")})); // can’t work, due to content-script policy: https://bugzilla.mozilla.org/show_bug.cgi?id=1267027 xMenu.appendChild(createNode("div", {className: "grammalecte_menu_footer"})); return xMenu; } catch (e) { showError(e); } } deleteNodes () { this.xMenu.parentNode.removeChild(this.xMenu); this.xButton.parentNode.removeChild(this.xButton); } switchMenu () { let xMenu = document.getElementById(this.sMenuId); xMenu.style.display = (xMenu.style.display == "block") ? "none" : "block"; } } |
Modified gc_lang/fr/webext/content_scripts/panel_gc.js from [0ba0b636f6] to [7e48ad2a90].
︙ | ︙ | |||
51 52 53 54 55 56 57 | this.xContentNode.appendChild(this.xParagraphList); this.xPanelContent.addEventListener("click", onGrammalecteGCPanelClick, false); this.oTooltip = new GrammalecteTooltip(this.xContentNode); this.xPanelContent.appendChild(this.xContentNode); this.oTAC = new GrammalecteTextAreaControl(); } | | | | | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | this.xContentNode.appendChild(this.xParagraphList); this.xPanelContent.addEventListener("click", onGrammalecteGCPanelClick, false); this.oTooltip = new GrammalecteTooltip(this.xContentNode); this.xPanelContent.appendChild(this.xContentNode); this.oTAC = new GrammalecteTextAreaControl(); } start (xNode=null) { this.oTooltip.hide(); this.clear(); if (xNode && xNode.tagName == "TEXTAREA") { this.oTAC.setTextArea(xNode); } } clear () { while (this.xParagraphList.firstChild) { this.xParagraphList.removeChild(this.xParagraphList.firstChild); } |
︙ | ︙ | |||
446 447 448 449 450 451 452 | sText = sText.replace("\r\n", "\n").replace("\r", "\n"); while ((iEnd = sText.indexOf("\n", iStart)) !== -1) { this._dParagraph.set(i, sText.slice(iStart, iEnd)); i++; iStart = iEnd+1; } this._dParagraph.set(i, sText.slice(iStart)); | | | 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 | sText = sText.replace("\r\n", "\n").replace("\r", "\n"); while ((iEnd = sText.indexOf("\n", iStart)) !== -1) { this._dParagraph.set(i, sText.slice(iStart, iEnd)); i++; iStart = iEnd+1; } this._dParagraph.set(i, sText.slice(iStart)); //console.log("Paragraphs number: " + (i+1)); } write () { if (this._xTextArea !== null) { let sText = ""; this._dParagraph.forEach(function (val, key) { sText += val + "\n"; }); this._xTextArea.value = sText.slice(0,-1); } } } |