Index: gc_lang/fr/webext/content_scripts/init.js ================================================================== --- gc_lang/fr/webext/content_scripts/init.js +++ gc_lang/fr/webext/content_scripts/init.js @@ -217,11 +217,11 @@ catch (e) { showError(e); } }, - createStyle: function (sLinkCss, sLinkId=null, oAppend=null) { + createStyle: function (sLinkCss, sLinkId=null, xNodeToAppendTo=null) { try { let xNode = document.createElement("link"); Object.assign(xNode, { rel: "stylesheet", type: "text/css", @@ -229,12 +229,12 @@ href: this.sExtensionUrl + sLinkCss }); if (sLinkId) { Object.assign(xNode, {id: sLinkId}); } - if (oAppend) { - oAppend.appendChild(xNode); + if (xNodeToAppendTo) { + xNodeToAppendTo.appendChild(xNode); } return xNode; } catch (e) { showError(e); Index: gc_lang/fr/webext/content_scripts/menu.js ================================================================== --- gc_lang/fr/webext/content_scripts/menu.js +++ gc_lang/fr/webext/content_scripts/menu.js @@ -23,26 +23,26 @@ if (document.location.host == "twitter.com" && this.xNode.classList.contains('rich-editor')) { xNodeInsertAfter = this.xNode.parentNode; } this.bShadow = document.body.createShadowRoot || document.body.attachShadow; - if (this.bShadow){ + if (this.bShadow) { let nMarginTop = -1 * (parseInt(xStyle.marginBottom.replace('px', ''), 10)); - this.oShadowBtn = oGrammalecte.createNode("div", {style: "display:none;position:absolute;width:0;height:0;"}); - this.oShadowBtnNode = this.oShadowBtn.attachShadow({mode: "open"}); - oGrammalecte.createStyle("content_scripts/menu.css", null, this.oShadowBtnNode); - this.oShadowBtnNode.appendChild(this.xButton); - this._insertAfter(this.oShadowBtn, xNodeInsertAfter, nMarginTop); - - this.oShadowMenu = oGrammalecte.createNode("div", {id: this.sMenuId+"_shadow", style: "display:none;position:absolute;width:0;height:0;"}); - this.oShadowMenuNode = this.oShadowMenu.attachShadow({mode: "open"}); - oGrammalecte.createStyle("content_scripts/menu.css", null, this.oShadowMenuNode); - this.oShadowMenuNode.appendChild(this.xMenu); - this._insertAfter(this.oShadowMenu, xNodeInsertAfter, nMarginTop + 8); + this.xShadowBtn = oGrammalecte.createNode("div", {style: "display:none;position:absolute;width:0;height:0;"}); + this.xShadowBtnNode = this.xShadowBtn.attachShadow({mode: "open"}); + oGrammalecte.createStyle("content_scripts/menu.css", null, this.xShadowBtnNode); + this.xShadowBtnNode.appendChild(this.xButton); + this._insertAfter(this.xShadowBtn, xNodeInsertAfter, nMarginTop); + + this.xShadowMenu = oGrammalecte.createNode("div", {id: this.sMenuId+"_shadow", style: "display:none;position:absolute;width:0;height:0;"}); + this.xShadowMenuNode = this.xShadowMenu.attachShadow({mode: "open"}); + oGrammalecte.createStyle("content_scripts/menu.css", null, this.xShadowMenuNode); + this.xShadowMenuNode.appendChild(this.xMenu); + this._insertAfter(this.xShadowMenu, xNodeInsertAfter, nMarginTop + 8); } else { let nMarginTop = -1 * (8 + parseInt(xStyle.marginBottom.replace('px', ''), 10)); - if (!document.getElementById("grammalecte_cssmenu")){ + if (!document.getElementById("grammalecte_cssmenu")) { oGrammalecte.createStyle("content_scripts/menu.css", "grammalecte_cssmenu", document.head); } this._insertAfter(this.xButton, xNodeInsertAfter, nMarginTop); this._insertAfter(this.xMenu, xNodeInsertAfter, nMarginTop + 8); } @@ -54,14 +54,15 @@ xNewNode.style.marginTop = nMarginTop + "px"; } _createListeners () { this.xNode.addEventListener('focus', (e) => { - if (this.bShadow){ - this.oShadowBtn.style.display = "block"; + if (this.bShadow) { + this.xShadowBtn.style.display = "block"; + } else { + this.xButton.style.display = "block"; } - this.xButton.style.display = "block"; }); /*this.xNode.addEventListener('blur', (e) => { window.setTimeout(() => {this.xButton.style.display = "none";}, 300); });*/ } @@ -74,11 +75,11 @@ try { let xMenu = oGrammalecte.createNode("div", {id: this.sMenuId, className: "grammalecte_menu"}); let xCloseButton = oGrammalecte.createNode("div", {className: "grammalecte_menu_close_button", textContent: "×"} ); xCloseButton.onclick = () => { if (this.bShadow){ - this.oShadowBtn.style.display = "none"; + this.xShadowBtn.style.display = "none"; } this.xButton.style.display = "none"; this.switchMenu(); } xMenu.appendChild(xCloseButton); @@ -142,21 +143,22 @@ showError(e); } } deleteNodes () { - if (this.bShadow){ - this.oShadowMenu.parentNode.removeChild(this.oShadowMenu); - this.oShadowBtn.parentNode.removeChild(this.oShadowBtn); + if (this.bShadow) { + this.xShadowMenu.parentNode.removeChild(this.xShadowMenu); + this.xShadowBtn.parentNode.removeChild(this.xShadowBtn); } else { this.xMenu.parentNode.removeChild(this.xMenu); this.xButton.parentNode.removeChild(this.xButton); } } switchMenu () { - if (this.bShadow){ - this.oShadowMenu.style.display = (this.oShadowMenu.style.display == "block") ? "none" : "block"; + if (this.bShadow) { + this.xShadowMenu.style.display = (this.xShadowMenu.style.display == "block") ? "none" : "block"; + } else { + this.xMenu.style.display = (this.xMenu.style.display == "block") ? "none" : "block"; } - this.xMenu.style.display = (this.xMenu.style.display == "block") ? "none" : "block"; } } Index: gc_lang/fr/webext/content_scripts/message_box.js ================================================================== --- gc_lang/fr/webext/content_scripts/message_box.js +++ gc_lang/fr/webext/content_scripts/message_box.js @@ -12,16 +12,16 @@ constructor (sId, sTitle) { this.sId = sId; this.bShadow = document.body.createShadowRoot || document.body.attachShadow; - if (this.bShadow){ - this.oShadowPanel = oGrammalecte.createNode("div", {id: this.sId+"_shadow", style: "width:0;height:0;"}); - this.oShadow = this.oShadowPanel.attachShadow({mode: "open"}); - this.oParent = this.oShadow; + if (this.bShadow) { + this.xShadowPanel = oGrammalecte.createNode("div", {id: this.sId+"_shadow", style: "width:0;height:0;"}); + this.xShadow = this.xShadowPanel.attachShadow({mode: "open"}); + this.xParent = this.xShadow; } else { - this.oParent = document; + this.xParent = document; } this.xMessageBoxBar = oGrammalecte.createNode("div", {className: "grammalecte_message_box_bar"}); this.xMessageBoxContent = oGrammalecte.createNode("div", {className: "grammalecte_message_box_content"}); this.xMessageBox = this._createPanel(sTitle); @@ -63,14 +63,14 @@ return xButton; } insertIntoPage () { if (this.bShadow){ - oGrammalecte.createStyle("content_scripts/panel.css", null, this.oShadow); - oGrammalecte.createStyle("content_scripts/message_box.css", null, this.oShadow); - this.oShadow.appendChild(this.xMessageBox); - document.body.appendChild(this.oShadowPanel); + oGrammalecte.createStyle("content_scripts/panel.css", null, this.xShadow); + oGrammalecte.createStyle("content_scripts/message_box.css", null, this.xShadow); + this.xShadow.appendChild(this.xMessageBox); + document.body.appendChild(this.xShadowPanel); } else { if (!document.getElementById("grammalecte_cssmsg")){ oGrammalecte.createStyle("content_scripts/panel.css", null, document.head); oGrammalecte.createStyle("content_scripts/message_box.css", "grammalecte_cssmsg", document.head); } Index: gc_lang/fr/webext/content_scripts/panel.js ================================================================== --- gc_lang/fr/webext/content_scripts/panel.js +++ gc_lang/fr/webext/content_scripts/panel.js @@ -15,16 +15,16 @@ this.nWidth = nWidth; this.nHeight = nHeight; this.bFlexible = bFlexible; this.bShadow = document.body.createShadowRoot || document.body.attachShadow; - if (this.bShadow){ - this.oShadowPanel = oGrammalecte.createNode("div", {id: this.sId+"_shadow", style: "width:0;height:0;"}); - this.oShadow = this.oShadowPanel.attachShadow({mode: "open"}); - this.oParent = this.oShadow; + if (this.bShadow) { + this.xShadowPanel = oGrammalecte.createNode("div", {id: this.sId+"_shadow", style: "width:0;height:0;"}); + this.xShadow = this.xShadowPanel.attachShadow({mode: "open"}); + this.xParent = this.xShadow; } else { - this.oParent = document; + this.xParent = document; } this.xPanelBar = oGrammalecte.createNode("div", {className: "grammalecte_panel_bar"}); this.xPanelContent = oGrammalecte.createNode("div", {className: "grammalecte_panel_content"}); this.xWaitIcon = this._createWaitIcon(); @@ -95,19 +95,19 @@ xButton.onclick = function () { this.hide(); }.bind(this); // better than writing “let that = this;” before the function? return xButton; } insertIntoPage () { - if (this.bShadow){ - oGrammalecte.createStyle("content_scripts/panel.css", null, this.oShadow); - oGrammalecte.createStyle("content_scripts/panel_gc.css", null, this.oShadow); - oGrammalecte.createStyle("content_scripts/panel_lxg.css", null, this.oShadow); - oGrammalecte.createStyle("content_scripts/panel_tf.css", null, this.oShadow); - this.oShadow.appendChild(this.xPanel); - document.body.appendChild(this.oShadowPanel); + if (this.bShadow) { + oGrammalecte.createStyle("content_scripts/panel.css", null, this.xShadow); + oGrammalecte.createStyle("content_scripts/panel_gc.css", null, this.xShadow); + oGrammalecte.createStyle("content_scripts/panel_lxg.css", null, this.xShadow); + oGrammalecte.createStyle("content_scripts/panel_tf.css", null, this.xShadow); + this.xShadow.appendChild(this.xPanel); + document.body.appendChild(this.xShadowPanel); } else { - if (!document.getElementById("grammalecte_csspanel")){ + if (!document.getElementById("grammalecte_csspanel")) { oGrammalecte.createStyle("content_scripts/panel.css", "grammalecte_csspanel", document.head); oGrammalecte.createStyle("content_scripts/panel_gc.css", null, document.head); oGrammalecte.createStyle("content_scripts/panel_lxg.css", null, document.head); oGrammalecte.createStyle("content_scripts/panel_tf.css", null, document.head); } Index: gc_lang/fr/webext/content_scripts/panel_gc.js ================================================================== --- gc_lang/fr/webext/content_scripts/panel_gc.js +++ gc_lang/fr/webext/content_scripts/panel_gc.js @@ -52,11 +52,11 @@ this.aIgnoredErrors = new Set(); this.xContentNode = oGrammalecte.createNode("div", {id: "grammalecte_gc_panel_content"}); this.xParagraphList = oGrammalecte.createNode("div", {id: "grammalecte_paragraph_list"}); this.xContentNode.appendChild(this.xParagraphList); this.xPanelContent.addEventListener("click", onGrammalecteGCPanelClick, false); - this.oTooltip = new GrammalecteTooltip(this.oParent, this.xContentNode); + this.oTooltip = new GrammalecteTooltip(this.xParent, this.xContentNode); this.xPanelContent.appendChild(this.xContentNode); this.oNodeControl = new GrammalecteNodeControl(); } start (xNode=null) { @@ -110,11 +110,11 @@ } } recheckParagraph (iParaNum) { let sParagraphId = "grammalecte_paragraph" + iParaNum; - let xParagraph = this.oParent.getElementById(sParagraphId); + let xParagraph = this.xParent.getElementById(sParagraphId); this.blockParagraph(xParagraph); let sText = this.purgeText(xParagraph.textContent); xGrammalectePort.postMessage({ sCommand: "parseAndSpellcheck1", dParam: {sText: sText, sCountry: "FR", bDebug: false, bContext: false}, @@ -124,11 +124,11 @@ this.oNodeControl.write(); } refreshParagraph (sParagraphId, oResult) { try { - let xParagraph = this.oParent.getElementById(sParagraphId); + let xParagraph = this.xParent.getElementById(sParagraphId); xParagraph.className = (oResult.aGrammErr.length || oResult.aSpellErr.length) ? "grammalecte_paragraph softred" : "grammalecte_paragraph"; xParagraph.textContent = ""; this._tagParagraph(xParagraph, oResult.sParagraph, sParagraphId.slice(21), oResult.aGrammErr, oResult.aSpellErr); this.freeParagraph(xParagraph); } @@ -197,28 +197,28 @@ return xNodeErr; } blockParagraph (xParagraph) { xParagraph.contentEditable = "false"; - this.oParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).textContent = "Analyse…"; - this.oParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).style.backgroundColor = "hsl(0, 50%, 50%)"; - this.oParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).style.boxShadow = "0 0 0 3px hsla(0, 100%, 50%, .2)"; + this.xParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).textContent = "Analyse…"; + this.xParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).style.backgroundColor = "hsl(0, 50%, 50%)"; + this.xParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).style.boxShadow = "0 0 0 3px hsla(0, 100%, 50%, .2)"; } freeParagraph (xParagraph) { xParagraph.contentEditable = "true"; - this.oParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).textContent = "Réanalyser"; - this.oParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).style.backgroundColor = "hsl(120, 30%, 50%)"; - this.oParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).style.boxShadow = "none"; + this.xParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).textContent = "Réanalyser"; + this.xParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).style.backgroundColor = "hsl(120, 30%, 50%)"; + this.xParent.getElementById("grammalecte_check"+xParagraph.dataset.para_num).style.boxShadow = "none"; } applySuggestion (sNodeSuggId) { // sugg try { - let sErrorId = this.oParent.getElementById(sNodeSuggId).dataset.error_id; + let sErrorId = this.xParent.getElementById(sNodeSuggId).dataset.error_id; //let sParaNum = sErrorId.slice(0, sErrorId.indexOf("-")); - let xNodeErr = this.oParent.getElementById("grammalecte_err" + sErrorId); - xNodeErr.textContent = this.oParent.getElementById(sNodeSuggId).textContent; + let xNodeErr = this.xParent.getElementById("grammalecte_err" + sErrorId); + xNodeErr.textContent = this.xParent.getElementById(sNodeSuggId).textContent; xNodeErr.className = "grammalecte_error_corrected"; xNodeErr.removeAttribute("style"); this.oTooltip.hide(); this.recheckParagraph(parseInt(sErrorId.slice(0, sErrorId.indexOf("-")))); } @@ -227,12 +227,12 @@ } } ignoreError (sIgnoreButtonId) { // ignore try { - let sErrorId = this.oParent.getElementById(sIgnoreButtonId).dataset.error_id; - let xNodeErr = this.oParent.getElementById("grammalecte_err" + sErrorId); + let sErrorId = this.xParent.getElementById(sIgnoreButtonId).dataset.error_id; + let xNodeErr = this.xParent.getElementById("grammalecte_err" + sErrorId); this.aIgnoredErrors.add(xNodeErr.dataset.ignored_key); xNodeErr.className = "grammalecte_error_ignored"; this.oTooltip.hide(); } catch (e) { @@ -267,14 +267,14 @@ } copyTextToClipboard () { this.startWaitIcon(); try { - let xClipboardButton = this.oParent.getElementById("grammalecte_clipboard_button"); + let xClipboardButton = this.xParent.getElementById("grammalecte_clipboard_button"); xClipboardButton.textContent = "->>"; let sText = ""; - for (let xNode of this.oParent.getElementsByClassName("grammalecte_paragraph")) { + for (let xNode of this.xParent.getElementsByClassName("grammalecte_paragraph")) { sText += xNode.textContent + "\n"; } this._copyToClipboard(sText); xClipboardButton.textContent = "OK"; window.setTimeout(function() { xClipboardButton.textContent = "∑"; } , 2000); @@ -287,12 +287,12 @@ } class GrammalecteTooltip { - constructor (oParent, xContentNode) { - this.oParent = oParent; + constructor (xParent, xContentNode) { + this.xParent = xParent; this.sErrorId = null; this.bDebug = false; this.xTooltip = oGrammalecte.createNode("div", {id: "grammalecte_tooltip"}); this.xTooltipArrow = oGrammalecte.createNode("img", { id: "grammalecte_tooltip_arrow", @@ -319,11 +319,11 @@ xContentNode.appendChild(this.xTooltipArrow); } show (sNodeErrorId) { // err try { - let xNodeErr = this.oParent.getElementById(sNodeErrorId); + let xNodeErr = this.xParent.getElementById(sNodeErrorId); this.sErrorId = xNodeErr.dataset.error_id; // we store error_id here to know if spell_suggestions are given to the right word. let nTooltipLeftLimit = oGrammalecte.oGCPanel.getWidth() - 330; // paragraph width - tooltip width let nArrowLimit = oGrammalecte.oGCPanel.getWidth() - 20; this.xTooltipArrow.style.top = (xNodeErr.offsetTop + 16) + "px"; let nUsefulErrorWidth = ((xNodeErr.offsetLeft + xNodeErr.offsetWidth) > nArrowLimit) ? (nArrowLimit - xNodeErr.offsetLeft) : xNodeErr.offsetWidth; @@ -330,31 +330,31 @@ this.xTooltipArrow.style.left = (xNodeErr.offsetLeft + Math.floor((nUsefulErrorWidth / 2)) - 4) + "px"; // 4 is half the width of the arrow. this.xTooltip.style.top = (xNodeErr.offsetTop + 20) + "px"; this.xTooltip.style.left = (xNodeErr.offsetLeft > nTooltipLeftLimit) ? nTooltipLeftLimit + "px" : xNodeErr.offsetLeft + "px"; if (xNodeErr.dataset.error_type === "grammar") { // grammar error - this.oParent.getElementById("grammalecte_tooltip_db_search").style.display = "none"; + this.xParent.getElementById("grammalecte_tooltip_db_search").style.display = "none"; if (xNodeErr.dataset.gc_message.includes(" ##")) { this.bDebug = true; // display rule id let n = xNodeErr.dataset.gc_message.indexOf(" ##"); - this.oParent.getElementById("grammalecte_tooltip_message").textContent = xNodeErr.dataset.gc_message.slice(0, n); - this.oParent.getElementById("grammalecte_tooltip_rule_id").textContent = "Règle : " + xNodeErr.dataset.gc_message.slice(n+2); - this.oParent.getElementById("grammalecte_tooltip_rule_id").style.display = "block"; + this.xParent.getElementById("grammalecte_tooltip_message").textContent = xNodeErr.dataset.gc_message.slice(0, n); + this.xParent.getElementById("grammalecte_tooltip_rule_id").textContent = "Règle : " + xNodeErr.dataset.gc_message.slice(n+2); + this.xParent.getElementById("grammalecte_tooltip_rule_id").style.display = "block"; } else { this.bDebug = false; - this.oParent.getElementById("grammalecte_tooltip_message").textContent = xNodeErr.dataset.gc_message; - this.oParent.getElementById("grammalecte_tooltip_rule_id").style.display = "none"; + this.xParent.getElementById("grammalecte_tooltip_message").textContent = xNodeErr.dataset.gc_message; + this.xParent.getElementById("grammalecte_tooltip_rule_id").style.display = "none"; } if (xNodeErr.dataset.gc_url != "") { - this.oParent.getElementById("grammalecte_tooltip_url").dataset.url = xNodeErr.dataset.gc_url; - this.oParent.getElementById("grammalecte_tooltip_url").style.display = "inline"; + this.xParent.getElementById("grammalecte_tooltip_url").dataset.url = xNodeErr.dataset.gc_url; + this.xParent.getElementById("grammalecte_tooltip_url").style.display = "inline"; } else { - this.oParent.getElementById("grammalecte_tooltip_url").dataset.url = ""; - this.oParent.getElementById("grammalecte_tooltip_url").style.display = "none"; + this.xParent.getElementById("grammalecte_tooltip_url").dataset.url = ""; + this.xParent.getElementById("grammalecte_tooltip_url").style.display = "none"; } - this.oParent.getElementById("grammalecte_tooltip_ignore").dataset.error_id = xNodeErr.dataset.error_id; + this.xParent.getElementById("grammalecte_tooltip_ignore").dataset.error_id = xNodeErr.dataset.error_id; let iSugg = 0; this.clearSuggestionBlock(); if (xNodeErr.dataset.suggestions.length > 0) { for (let sSugg of xNodeErr.dataset.suggestions.split("|")) { this.xTooltipSuggBlock.appendChild(this._createSuggestion(xNodeErr.dataset.error_id, 0, iSugg, sSugg)); @@ -365,20 +365,20 @@ this.xTooltipSuggBlock.textContent = "Aucune."; } } if (xNodeErr.dataset.error_type === "spelling") { // spelling mistake - this.oParent.getElementById("grammalecte_tooltip_message").textContent = "Mot inconnu du dictionnaire."; - this.oParent.getElementById("grammalecte_tooltip_ignore").dataset.error_id = xNodeErr.dataset.error_id; - this.oParent.getElementById("grammalecte_tooltip_rule_id").style.display = "none"; - this.oParent.getElementById("grammalecte_tooltip_url").dataset.url = ""; - this.oParent.getElementById("grammalecte_tooltip_url").style.display = "none"; + this.xParent.getElementById("grammalecte_tooltip_message").textContent = "Mot inconnu du dictionnaire."; + this.xParent.getElementById("grammalecte_tooltip_ignore").dataset.error_id = xNodeErr.dataset.error_id; + this.xParent.getElementById("grammalecte_tooltip_rule_id").style.display = "none"; + this.xParent.getElementById("grammalecte_tooltip_url").dataset.url = ""; + this.xParent.getElementById("grammalecte_tooltip_url").style.display = "none"; if (this.bDebug) { - this.oParent.getElementById("grammalecte_tooltip_db_search").style.display = "inline"; - this.oParent.getElementById("grammalecte_tooltip_db_search").dataset.url = "https://www.dicollecte.org/dictionary.php?prj=fr&lemma="+xNodeErr.textContent; + this.xParent.getElementById("grammalecte_tooltip_db_search").style.display = "inline"; + this.xParent.getElementById("grammalecte_tooltip_db_search").dataset.url = "https://www.dicollecte.org/dictionary.php?prj=fr&lemma="+xNodeErr.textContent; } else { - this.oParent.getElementById("grammalecte_tooltip_db_search").style.display = "none"; + this.xParent.getElementById("grammalecte_tooltip_db_search").style.display = "none"; } this.clearSuggestionBlock(); this.xTooltipSuggBlock.textContent = "Recherche de graphies possibles…"; xGrammalectePort.postMessage({ sCommand: "getSpellSuggestions", @@ -420,11 +420,11 @@ setSpellSuggestionsFor (sWord, aSugg, iSuggBlock, sErrorId) { // spell checking suggestions try { if (sErrorId === this.sErrorId) { - let xSuggBlock = this.oParent.getElementById("grammalecte_tooltip_sugg_block"); + let xSuggBlock = this.xParent.getElementById("grammalecte_tooltip_sugg_block"); if (iSuggBlock == 0) { xSuggBlock.textContent = ""; } if (!aSugg || aSugg.length == 0) { if (iSuggBlock == 0) { @@ -442,11 +442,11 @@ } } } } catch (e) { - let xSuggBlock = this.oParent.getElementById("grammalecte_tooltip_sugg_block"); + let xSuggBlock = this.xParent.getElementById("grammalecte_tooltip_sugg_block"); xSuggBlock.appendChild(document.createTextNode("# Oups. Le mécanisme de suggestion orthographique a rencontré un bug… (Ce module est encore en phase β.)")); showError(e); } } } Index: gc_lang/fr/webext/content_scripts/panel_lxg.js ================================================================== --- gc_lang/fr/webext/content_scripts/panel_lxg.js +++ gc_lang/fr/webext/content_scripts/panel_lxg.js @@ -87,11 +87,11 @@ showError(e); } } setHidden (sClass, bHidden) { - let elmOpt = this.oParent.getElementById('grammalecte_panel_content'); - for (let xNode of elmOpt.getElementsByClassName(sClass)) { + let xPanelContent = this.xParent.getElementById('grammalecte_panel_content'); + for (let xNode of xPanelContent.getElementsByClassName(sClass)) { xNode.hidden = bHidden; } } } Index: gc_lang/fr/webext/content_scripts/panel_tf.js ================================================================== --- gc_lang/fr/webext/content_scripts/panel_tf.js +++ gc_lang/fr/webext/content_scripts/panel_tf.js @@ -184,20 +184,20 @@ } } } switchGroup (sOptName) { - if (this.oParent.getElementById(sOptName).dataset.selected == "true") { - this.oParent.getElementById(sOptName.slice(2)).style.opacity = 1; + if (this.xParent.getElementById(sOptName).dataset.selected == "true") { + this.xParent.getElementById(sOptName.slice(2)).style.opacity = 1; } else { - this.oParent.getElementById(sOptName.slice(2)).style.opacity = 0.3; + this.xParent.getElementById(sOptName.slice(2)).style.opacity = 0.3; } this.resetProgressBar(); } switchOption (sOptName) { - let xOption = this.oParent.getElementById(sOptName); + let xOption = this.xParent.getElementById(sOptName); if (xOption.dataset.linked_ids === "") { xOption.dataset.selected = (xOption.dataset.selected == "true") ? "false" : "true"; xOption.className = (xOption.dataset.selected == "true") ? xOption.className.replace("_off", "_on") : xOption.className.replace("_on", "_off"); } else { this.setOption(sOptName, true); @@ -206,19 +206,19 @@ } } } setOption (sOptName, bValue) { - let xOption = this.oParent.getElementById(sOptName); + let xOption = this.xParent.getElementById(sOptName); xOption.dataset.selected = bValue; xOption.className = (xOption.dataset.selected == "true") ? xOption.className.replace("_off", "_on") : xOption.className.replace("_on", "_off"); } reset () { this.resetProgressBar(); //on Shadow DOM getElementsByClassName don't work directly ;) - let elmOpt = this.oParent.getElementById('grammalecte_tf_options'); + let elmOpt = this.xParent.getElementById('grammalecte_tf_options'); for (let xOption of elmOpt.getElementsByClassName("grammalecte_tf_option")) { xOption.dataset.selected = xOption.dataset.default; xOption.className = (xOption.dataset.selected == "true") ? xOption.className.replace("_off", "_on") : xOption.className.replace("_on", "_off"); if (xOption.id.startsWith("o_group_")) { this.switchGroup(xOption.id); @@ -225,45 +225,45 @@ } } } resetProgressBar () { - this.oParent.getElementById('grammalecte_tf_progressbar').value = 0; - this.oParent.getElementById('grammalecte_tf_time_res').textContent = ""; + this.xParent.getElementById('grammalecte_tf_progressbar').value = 0; + this.xParent.getElementById('grammalecte_tf_time_res').textContent = ""; } setOptions (oOptions) { if (oOptions.hasOwnProperty("tf_options")) { oOptions = oOptions.tf_options; } - let elmOpt = this.oParent.getElementById('grammalecte_tf_options'); + let elmOpt = this.xParent.getElementById('grammalecte_tf_options'); for (let xOption of elmOpt.getElementsByClassName("grammalecte_tf_option")) { //console.log(xOption.id + " > " + oOptions.hasOwnProperty(xOption.id) + ": " + oOptions[xOption.id] + " [" + xOption.dataset.default + "]"); xOption.dataset.selected = (oOptions.hasOwnProperty(xOption.id)) ? oOptions[xOption.id] : xOption.dataset.default; xOption.className = (xOption.dataset.selected == "true") ? xOption.className.replace("_off", "_on") : xOption.className.replace("_on", "_off"); - if (this.oParent.getElementById("res_"+xOption.id) !== null) { - this.oParent.getElementById("res_"+xOption.id).textContent = ""; + if (this.xParent.getElementById("res_"+xOption.id) !== null) { + this.xParent.getElementById("res_"+xOption.id).textContent = ""; } if (xOption.id.startsWith("o_group_")) { this.switchGroup(xOption.id); } } } saveOptions () { let oOptions = {}; - let elmOpt = this.oParent.getElementById('grammalecte_tf_options'); + let elmOpt = this.xParent.getElementById('grammalecte_tf_options'); for (let xOption of elmOpt.getElementsByClassName("grammalecte_tf_option")) { oOptions[xOption.id] = (xOption.dataset.selected == "true"); //console.log(xOption.id + ": " + xOption.checked); } browser.storage.local.set({"tf_options": oOptions}); } isSelected (sOptName) { - if (this.oParent.getElementById(sOptName)) { - return (this.oParent.getElementById(sOptName).dataset.selected === "true"); + if (this.xParent.getElementById(sOptName)) { + return (this.xParent.getElementById(sOptName).dataset.selected === "true"); } return false; } apply () { @@ -270,161 +270,161 @@ try { const t0 = Date.now(); //window.setCursor("wait"); // change pointer this.resetProgressBar(); let sText = this.xTextArea.value.normalize("NFC"); - this.oParent.getElementById('grammalecte_tf_progressbar').max = 7; + this.xParent.getElementById('grammalecte_tf_progressbar').max = 7; let n1 = 0, n2 = 0, n3 = 0, n4 = 0, n5 = 0, n6 = 0, n7 = 0; // Restructuration if (this.isSelected("o_group_struct")) { if (this.isSelected("o_remove_hyphens_at_end_of_paragraphs")) { [sText, n1] = this.removeHyphenAtEndOfParagraphs(sText); - this.oParent.getElementById('res_o_remove_hyphens_at_end_of_paragraphs').textContent = n1; + this.xParent.getElementById('res_o_remove_hyphens_at_end_of_paragraphs').textContent = n1; } if (this.isSelected("o_merge_contiguous_paragraphs")) { [sText, n1] = this.mergeContiguousParagraphs(sText); - this.oParent.getElementById('res_o_merge_contiguous_paragraphs').textContent = n1; + this.xParent.getElementById('res_o_merge_contiguous_paragraphs').textContent = n1; } this.setOption("o_group_struct", false); this.switchGroup("o_group_struct"); } - this.oParent.getElementById('grammalecte_tf_progressbar').value = 1; + this.xParent.getElementById('grammalecte_tf_progressbar').value = 1; // espaces surnuméraires if (this.isSelected("o_group_ssp")) { if (this.isSelected("o_end_of_paragraph")) { [sText, n1] = this.formatText(sText, "end_of_paragraph"); - this.oParent.getElementById('res_o_end_of_paragraph').textContent = n1; + this.xParent.getElementById('res_o_end_of_paragraph').textContent = n1; } if (this.isSelected("o_between_words")) { [sText, n1] = this.formatText(sText, "between_words"); - this.oParent.getElementById('res_o_between_words').textContent = n1; + this.xParent.getElementById('res_o_between_words').textContent = n1; } if (this.isSelected("o_start_of_paragraph")) { [sText, n1] = this.formatText(sText, "start_of_paragraph"); - this.oParent.getElementById('res_o_start_of_paragraph').textContent = n1; + this.xParent.getElementById('res_o_start_of_paragraph').textContent = n1; } if (this.isSelected("o_before_punctuation")) { [sText, n1] = this.formatText(sText, "before_punctuation"); - this.oParent.getElementById('res_o_before_punctuation').textContent = n1; + this.xParent.getElementById('res_o_before_punctuation').textContent = n1; } if (this.isSelected("o_within_parenthesis")) { [sText, n1] = this.formatText(sText, "within_parenthesis"); - this.oParent.getElementById('res_o_within_parenthesis').textContent = n1; + this.xParent.getElementById('res_o_within_parenthesis').textContent = n1; } if (this.isSelected("o_within_square_brackets")) { [sText, n1] = this.formatText(sText, "within_square_brackets"); - this.oParent.getElementById('res_o_within_square_brackets').textContent = n1; + this.xParent.getElementById('res_o_within_square_brackets').textContent = n1; } if (this.isSelected("o_within_quotation_marks")) { [sText, n1] = this.formatText(sText, "within_quotation_marks"); - this.oParent.getElementById('res_o_within_quotation_marks').textContent = n1; + this.xParent.getElementById('res_o_within_quotation_marks').textContent = n1; } this.setOption("o_group_ssp", false); this.switchGroup("o_group_ssp"); } - this.oParent.getElementById('grammalecte_tf_progressbar').value = 2; + this.xParent.getElementById('grammalecte_tf_progressbar').value = 2; // espaces insécables if (this.isSelected("o_group_nbsp")) { if (this.isSelected("o_nbsp_before_punctuation")) { [sText, n1] = this.formatText(sText, "nbsp_before_punctuation"); [sText, n2] = this.formatText(sText, "nbsp_repair"); - this.oParent.getElementById('res_o_nbsp_before_punctuation').textContent = n1 - n2; + this.xParent.getElementById('res_o_nbsp_before_punctuation').textContent = n1 - n2; } if (this.isSelected("o_nbsp_within_quotation_marks")) { [sText, n1] = this.formatText(sText, "nbsp_within_quotation_marks"); - this.oParent.getElementById('res_o_nbsp_within_quotation_marks').textContent = n1; + this.xParent.getElementById('res_o_nbsp_within_quotation_marks').textContent = n1; } if (this.isSelected("o_nbsp_before_symbol")) { [sText, n1] = this.formatText(sText, "nbsp_before_symbol"); - this.oParent.getElementById('res_o_nbsp_before_symbol').textContent = n1; + this.xParent.getElementById('res_o_nbsp_before_symbol').textContent = n1; } if (this.isSelected("o_nbsp_within_numbers")) { [sText, n1] = this.formatText(sText, "nbsp_within_numbers"); - this.oParent.getElementById('res_o_nbsp_within_numbers').textContent = n1; + this.xParent.getElementById('res_o_nbsp_within_numbers').textContent = n1; } if (this.isSelected("o_nbsp_before_units")) { [sText, n1] = this.formatText(sText, "nbsp_before_units"); - this.oParent.getElementById('res_o_nbsp_before_units').textContent = n1; + this.xParent.getElementById('res_o_nbsp_before_units').textContent = n1; } if (this.isSelected("o_nbsp_titles")) { [sText, n1] = this.formatText(sText, "nbsp_titles"); - this.oParent.getElementById('res_o_nbsp_titles').textContent = n1; + this.xParent.getElementById('res_o_nbsp_titles').textContent = n1; } this.setOption("o_group_nbsp", false); this.switchGroup("o_group_nbsp"); } - this.oParent.getElementById('grammalecte_tf_progressbar').value = 3; + this.xParent.getElementById('grammalecte_tf_progressbar').value = 3; // espaces manquants if (this.isSelected("o_group_typo")) { if (this.isSelected("o_ts_units")) { [sText, n1] = this.formatText(sText, "ts_units"); - this.oParent.getElementById('res_o_ts_units').textContent = n1; + this.xParent.getElementById('res_o_ts_units').textContent = n1; } } if (this.isSelected("o_group_space")) { if (this.isSelected("o_add_space_after_punctuation")) { [sText, n1] = this.formatText(sText, "add_space_after_punctuation"); [sText, n2] = this.formatText(sText, "add_space_repair"); - this.oParent.getElementById('res_o_add_space_after_punctuation').textContent = n1 - n2; + this.xParent.getElementById('res_o_add_space_after_punctuation').textContent = n1 - n2; } if (this.isSelected("o_add_space_around_hyphens")) { [sText, n1] = this.formatText(sText, "add_space_around_hyphens"); - this.oParent.getElementById('res_o_add_space_around_hyphens').textContent = n1; + this.xParent.getElementById('res_o_add_space_around_hyphens').textContent = n1; } this.setOption("o_group_space", false); this.switchGroup("o_group_space"); } - this.oParent.getElementById('grammalecte_tf_progressbar').value = 4; + this.xParent.getElementById('grammalecte_tf_progressbar').value = 4; // suppression if (this.isSelected("o_group_delete")) { if (this.isSelected("o_erase_non_breaking_hyphens")) { [sText, n1] = this.formatText(sText, "erase_non_breaking_hyphens"); - this.oParent.getElementById('res_o_erase_non_breaking_hyphens').textContent = n1; + this.xParent.getElementById('res_o_erase_non_breaking_hyphens').textContent = n1; } this.setOption("o_group_delete", false); this.switchGroup("o_group_delete"); } - this.oParent.getElementById('grammalecte_tf_progressbar').value = 5; + this.xParent.getElementById('grammalecte_tf_progressbar').value = 5; // signes typographiques if (this.isSelected("o_group_typo")) { if (this.isSelected("o_ts_apostrophe")) { [sText, n1] = this.formatText(sText, "ts_apostrophe"); - this.oParent.getElementById('res_o_ts_apostrophe').textContent = n1; + this.xParent.getElementById('res_o_ts_apostrophe').textContent = n1; } if (this.isSelected("o_ts_ellipsis")) { [sText, n1] = this.formatText(sText, "ts_ellipsis"); - this.oParent.getElementById('res_o_ts_ellipsis').textContent = n1; + this.xParent.getElementById('res_o_ts_ellipsis').textContent = n1; } if (this.isSelected("o_ts_dash_start")) { if (this.isSelected("o_ts_m_dash_start")) { [sText, n1] = this.formatText(sText, "ts_m_dash_start"); } else { [sText, n1] = this.formatText(sText, "ts_n_dash_start"); } - this.oParent.getElementById('res_o_ts_dash_start').textContent = n1; + this.xParent.getElementById('res_o_ts_dash_start').textContent = n1; } if (this.isSelected("o_ts_dash_middle")) { if (this.isSelected("o_ts_m_dash_middle")) { [sText, n1] = this.formatText(sText, "ts_m_dash_middle"); } else { [sText, n1] = this.formatText(sText, "ts_n_dash_middle"); } - this.oParent.getElementById('res_o_ts_dash_middle').textContent = n1; + this.xParent.getElementById('res_o_ts_dash_middle').textContent = n1; } if (this.isSelected("o_ts_quotation_marks")) { [sText, n1] = this.formatText(sText, "ts_quotation_marks"); - this.oParent.getElementById('res_o_ts_quotation_marks').textContent = n1; + this.xParent.getElementById('res_o_ts_quotation_marks').textContent = n1; } if (this.isSelected("o_ts_spell")) { [sText, n1] = this.formatText(sText, "ts_spell"); - this.oParent.getElementById('res_o_ts_spell').textContent = n1; + this.xParent.getElementById('res_o_ts_spell').textContent = n1; } if (this.isSelected("o_ts_ligature")) { // ligatures typographiques : fi, fl, ff, ffi, ffl, ft, st if (this.isSelected("o_ts_ligature_do")) { if (this.isSelected("o_ts_ligature_ffi")) { @@ -470,55 +470,55 @@ } if (this.isSelected("o_ts_ligature_st")) { [sText, n7] = this.formatText(sText, "ts_ligature_st_undo"); } } - this.oParent.getElementById('res_o_ts_ligature').textContent = n1 + n2 + n3 + n4 + n5 + n6 + n7; + this.xParent.getElementById('res_o_ts_ligature').textContent = n1 + n2 + n3 + n4 + n5 + n6 + n7; } this.setOption("o_group_typo", false); this.switchGroup("o_group_typo"); } - this.oParent.getElementById('grammalecte_tf_progressbar').value = 6; + this.xParent.getElementById('grammalecte_tf_progressbar').value = 6; // divers if (this.isSelected("o_group_misc")) { if (this.isSelected("o_ordinals_no_exponant")) { if (this.isSelected("o_ordinals_exponant")) { [sText, n1] = this.formatText(sText, "ordinals_exponant"); } else { [sText, n1] = this.formatText(sText, "ordinals_no_exponant"); } - this.oParent.getElementById('res_o_ordinals_no_exponant').textContent = n1; + this.xParent.getElementById('res_o_ordinals_no_exponant').textContent = n1; } if (this.isSelected("o_etc")) { [sText, n1] = this.formatText(sText, "etc"); - this.oParent.getElementById('res_o_etc').textContent = n1; + this.xParent.getElementById('res_o_etc').textContent = n1; } if (this.isSelected("o_missing_hyphens")) { [sText, n1] = this.formatText(sText, "missing_hyphens"); - this.oParent.getElementById('res_o_missing_hyphens').textContent = n1; + this.xParent.getElementById('res_o_missing_hyphens').textContent = n1; } if (this.isSelected("o_ma_word")) { [sText, n1] = this.formatText(sText, "ma_word"); if (this.isSelected("o_ma_1letter_lowercase")) { [sText, n1] = this.formatText(sText, "ma_1letter_lowercase"); if (this.isSelected("o_ma_1letter_uppercase")) { [sText, n1] = this.formatText(sText, "ma_1letter_uppercase"); } } - this.oParent.getElementById('res_o_ma_word').textContent = n1; + this.xParent.getElementById('res_o_ma_word').textContent = n1; } this.setOption("o_group_misc", false); this.switchGroup("o_group_misc"); } - this.oParent.getElementById('grammalecte_tf_progressbar').value = this.oParent.getElementById('grammalecte_tf_progressbar').max; + this.xParent.getElementById('grammalecte_tf_progressbar').value = this.xParent.getElementById('grammalecte_tf_progressbar').max; // end of processing //window.setCursor("auto"); // restore pointer const t1 = Date.now(); - this.oParent.getElementById('grammalecte_tf_time_res').textContent = this.getTimeRes((t1-t0)/1000); + this.xParent.getElementById('grammalecte_tf_time_res').textContent = this.getTimeRes((t1-t0)/1000); this.xTextArea.value = sText; } catch (e) { showError(e); }