Overview
Comment: | [fx] Write corrections in editable node also |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fx |
Files: | files | file ages | folders |
SHA3-256: |
6565051bbd70043de37faa40023ff4a6 |
User & Date: | olr on 2018-04-16 18:06:23 |
Other Links: | manifest | tags |
Context
2018-04-16
| ||
18:19 | [fx] update warning text for editable nodes check-in: afa96e5e95 user: olr tags: fx, trunk | |
18:06 | [fx] Write corrections in editable node also check-in: 6565051bbd user: olr tags: fx, trunk | |
13:36 | [graphspell] suggestion mechanism: jumps check-in: 74cd9793a9 user: olr tags: graphspell, trunk | |
Changes
Modified gc_lang/fr/webext/content_scripts/panel_gc.js from [6bf4fd5886] to [4c86810835].
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ... 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 ... 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 |
this.oNodeControl = new GrammalecteNodeControl(); } start (xNode=null) { this.oTooltip.hide(); this.clear(); if (xNode) { if (xNode.tagName == "TEXTAREA") { this.oNodeControl.setNode(xNode); } else { this.oNodeControl.clear(); this.addMessage("Cette zone de texte n’est pas un champ de formulaire “textarea” mais un node HTML éditable. Les modifications ne seront pas répercutées automatiquement. Une fois votre texte corrigé, vous pouvez utiliser le bouton ‹∑› pour copier le texte dans le presse-papiers."); } } } clear () { while (this.xParagraphList.firstChild) { this.xParagraphList.removeChild(this.xParagraphList.firstChild); ................................................................................ class GrammalecteNodeControl { constructor () { this.xNode = null; this.dParagraph = new Map(); this.bTextArea = null; this.bWriteEN = false; // write editable node } setNode (xNode) { this.clear(); this.xNode = xNode; this.bTextArea = (xNode.tagName == "TEXTAREA"); this.xNode.disabled = true; ................................................................................ iStart = iEnd+1; } this.dParagraph.set(i, sText.slice(iStart)); //console.log("Paragraphs number: " + (i+1)); } write () { if (this.xNode !== null && (this.bTextArea || this.bWriteEN)) { let sText = ""; this.dParagraph.forEach(function (val, key) { sText += val + "\n"; }); sText = sText.slice(0,-1).normalize("NFC"); if (this.bTextArea) { this.xNode.value = sText; } else { this.xNode.textContent = sText; } } } } |
< | < < > | < | > | | | | < < > | > > |
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 ... 428 429 430 431 432 433 434 435 436 437 438 439 440 441 ... 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 |
this.oNodeControl = new GrammalecteNodeControl(); } start (xNode=null) { this.oTooltip.hide(); this.clear(); if (xNode) { this.oNodeControl.setNode(xNode); if (xNode.tagName != "TEXTAREA") { this.addMessage("Note : cette zone de texte n’est pas un champ de formulaire “textarea” mais un node HTML éditable."); } } } clear () { while (this.xParagraphList.firstChild) { this.xParagraphList.removeChild(this.xParagraphList.firstChild); ................................................................................ class GrammalecteNodeControl { constructor () { this.xNode = null; this.dParagraph = new Map(); this.bTextArea = null; } setNode (xNode) { this.clear(); this.xNode = xNode; this.bTextArea = (xNode.tagName == "TEXTAREA"); this.xNode.disabled = true; ................................................................................ iStart = iEnd+1; } this.dParagraph.set(i, sText.slice(iStart)); //console.log("Paragraphs number: " + (i+1)); } write () { if (this.xNode !== null) { let sText = ""; if (this.bTextArea) { this.dParagraph.forEach(function (val, key) { sText += val + "\n"; }); this.xNode.value = sText.slice(0,-1).normalize("NFC"); } else { this.dParagraph.forEach(function (val, key) { sText += val + "<br/>"; }); this.xNode.innerHTML = sText.normalize("NFC"); } } } } |