Index: gc_core/js/text.js ================================================================== --- gc_core/js/text.js +++ gc_core/js/text.js @@ -54,127 +54,11 @@ helpers.logerror(e); return "\n# Error. Data: " + oErr.toString(); } } -function addHtmlEntities (sParagraph) { - if (sParagraph.includes("&")) { - sParagraph = sParagraph.replace(/&/g, "&"); - } - if (sParagraph.includes("<")) { - sParagraph = sParagraph.replace(/</g, "<").replace(/>/g, ">"); - } - return sParagraph; -} - -function createHTMLBlock (sParagraph, iParagraph) { - let sClassName = (sParagraph.includes('<u id="err')) ? " softred" : ""; - return '<p id="paragr'+iParagraph.toString()+'" class="paragraph' + sClassName + '" lang="fr" spellcheck="false">' + sParagraph + '</p>\n' - + '<div class="actions"><div id="end'+iParagraph.toString()+'" class="button red">×</div>' - + '<div id="edit'+iParagraph.toString()+'" class="button">Éditer</div>' - + '<div id="check'+iParagraph.toString()+'" class="button green">Réanalyser</div> </div>\n'; -} - -function tagParagraph (sParagraph, iParagraph, aGrammErr, aSpellErr, bDebug=false) { - // Returns a text with with underlined errors and messages in tooltip - try { - if (aGrammErr.length === 0 && aSpellErr.length === 0) { - return sParagraph; - } - aGrammErr.push(...aSpellErr); - aGrammErr.sort(function (a, b) { - if (a["nStart"] < b["nStart"]) - return 1; - if (a["nStart"] > b["nStart"]) - return -1; - return 0; - }); - - let nErr = aGrammErr.length - 1; // we count errors to give them an identifier - let nStartLastErr = sParagraph.length; - for (let oErr of aGrammErr) { - let sErrId = iParagraph.toString() + "_" + nErr.toString(); - let nStart = oErr["nStart"]; - let nEnd = oErr["nEnd"]; - if (nEnd <= nStartLastErr) { - oErr["sId"] = sErrId; - if (oErr['sType'] !== 'WORD') { - // Grammar Error - sParagraph = sParagraph.slice(0, nStart) - + '<u id="err' + sErrId + '" class="error '+oErr['sType']+'" href="#" onclick="return false;">' - + sParagraph.slice(nStart, nEnd) - + '<span id="tooltip' + sErrId + '" class="tooltip" contenteditable="false">' - + getGrammarErrorHTML(oErr, bDebug) + '</span>' - + "</u><!-- err_end -->" + sParagraph.slice(nEnd); - } else { - // Spelling error - sParagraph = sParagraph.slice(0, nStart) - + '<u id="err' + sErrId + '" class="error spell" href="#" onclick="return false;">' - + sParagraph.slice(nStart, nEnd) - + '<span id="tooltip' + sErrId + '" class="tooltip" contenteditable="false">' - + getSpellingErrorHTML(oErr) + '</span>' - + "</u><!-- err_end -->" + sParagraph.slice(nEnd); - } - nStartLastErr = nStart; - } - nErr -= 1; - } - return sParagraph; - } - catch (e) { - helpers.logerror(e); - return "# Error."; - } -} - -function getGrammarErrorHTML (oErr, bDebug=false) { - // Returns an error oErr as a readable error in HTML - try { - let sErr = ''; - if (bDebug) { - sErr += '<em class="debug">' - + '<i id="data'+oErr['sId']+'" class="data" hidden>' - + oErr['nStart'] + ":" + oErr['nEnd'] + ' · #' + oErr['sRuleId'] + " </i>+</em>"; - } - sErr += oErr["sMessage"]; - sErr += ' <a id="ignore'+oErr['sId']+'" class="ignore" href="#" onclick="return false;">IGNORER</a>'; - if (oErr["URL"] !== "") { - sErr += ' <a href="' + oErr["URL"] + '" onclick="return false;">Infos…</a>'; - } - if (oErr["aSuggestions"].length > 0) { - sErr += '<br/><s>Suggestions :</s><br/>'; - let iSugg = 0; - for (let sSugg of oErr["aSuggestions"]) { - sErr += '<a id="sugg' + oErr['sId'] + "-" + iSugg + '" class="sugg" href="#" onclick="return false;">' + sSugg + '</a> '; - iSugg += 1; - } - } - return sErr; - } - catch (e) { - helpers.logerror(e); - return '# Error. Data: ' + oErr.toString(); - } -} - -function getSpellingErrorHTML (oErr) { - // Returns an error oErr as a readable error in HTML - try { - let sErr = 'Mot inconnu du dictionnaire.'; - sErr += ' <a id="ignore' + oErr['sId'] + '" class="ignore" href="#" onclick="return false;">IGNORER</a>'; - sErr += '<br/><s>Suggestions :</s><br/>'; - return sErr; - } - catch (e) { - helpers.logerror(e); - return '# Error. Data: ' + oErr.toString(); - } -} - if (typeof(exports) !== 'undefined') { exports.getParagraph = getParagraph; - exports.addHtmlEntities = addHtmlEntities; - exports.createHTMLBlock = createHTMLBlock; - exports.tagParagraph = tagParagraph; + exports.wrap = wrap; exports.getReadableError = getReadableError; }