Changes In Branch webext3 Through [d25e2ed843] Excluding Merge-Ins
This is equivalent to a diff from 6ff5d2733a to d25e2ed843
|
2017-10-10
| ||
| 15:51 | [fr] sécurisation d’une condition check-in: 79a81f04cf user: olr tags: trunk, fr | |
| 14:32 | [fx] WebExt: only one cycle of animation check-in: 377c798a39 user: olr tags: fx, webext3 | |
| 14:30 | merge trunk check-in: d25e2ed843 user: olr tags: webext3 | |
| 13:40 | [fr][js] suggestion des graphies similaires check-in: 6ff5d2733a user: olr tags: trunk, fr | |
| 13:09 | [fr] pt: faire illusion check-in: 9680cc2a5f user: olr tags: trunk, fr | |
|
2017-09-22
| ||
| 09:31 | [fx] button and menu for editable content check-in: e6dcf47f18 user: olr tags: webext3 | |
Modified gc_lang/fr/webext/content_scripts/init.js from [6ea24993c1] to [3e98d11aad].
| ︙ | ︙ | |||
52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
for (let xNode of lNode) {
if (xNode.style.display !== "none" && xNode.style.visibility !== "hidden") {
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();
| > > > > > > > > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
for (let xNode of lNode) {
if (xNode.style.display !== "none" && xNode.style.visibility !== "hidden") {
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();
|
| ︙ | ︙ | |||
159 160 161 162 163 164 165 |
});
/*
Start
*/
oGrammalecte.createMenus();
| > | 167 168 169 170 171 172 173 174 |
});
/*
Start
*/
oGrammalecte.createMenus();
oGrammalecte.createMenus2();
|
Modified gc_lang/fr/webext/content_scripts/menu.js from [2740b076e9] to [296905930b].
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 = oGrammalecte.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 = oGrammalecte.createNode("div", {id: this.sMenuId, className: "grammalecte_menu"});
xMenu.appendChild(oGrammalecte.createNode("div", {className: "grammalecte_menu_header", textContent: "GRAMMALECTE"}));
// Text formatter
if (xNode.tagName == "TEXTAREA") {
let xTFButton = oGrammalecte.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 = oGrammalecte.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 = oGrammalecte.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 = oGrammalecte.createNode("div", {className: "grammalecte_menu_item_block", textContent: "Conjugueur"});
let xConjButtonTab = oGrammalecte.createNode("div", {className: "grammalecte_menu_button", textContent: "Onglet"});
xConjButtonTab.onclick = () => {
this.switchMenu();
xGrammalectePort.postMessage({sCommand: "openConjugueurTab", dParam: null, dInfo: null});
};
let xConjButtonWin = oGrammalecte.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(oGrammalecte.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(oGrammalecte.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 [f13377ba0e] to [b14363b80e].
| ︙ | ︙ | |||
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);
}
}
}
|