Overview
| Comment: | [fx] web API: generate id when node has no id |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk | fx |
| Files: | files | file ages | folders |
| SHA3-256: |
cf71e46511542118c792ccecd830e6e2 |
| User & Date: | olr on 2020-04-07 16:25:49 |
| Other Links: | manifest | tags |
Context
|
2020-04-07
| ||
| 22:21 | [fr] faux positif et ajustements check-in: 26c9bbaed1 user: olr tags: trunk, fr | |
| 16:25 | [fx] web API: generate id when node has no id check-in: cf71e46511 user: olr tags: trunk, fx | |
| 16:13 | [fr] ajustements check-in: 38cda6c0bb user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/webext/content_scripts/api.js from [4233cac483] to [2457ed4f51].
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// JavaScript
"use strict";
const oGrammalecteAPI = {
// functions callable from within pages
// to be sent to the content-cript via an event “GrammalecteCall”
sVersion: "1.0",
openPanelForNode: function (vNode) {
// Parameter: a HTML node or the identifier of a HTML node
| > > > > > > | > | | | | > | | > | | 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 |
// JavaScript
"use strict";
const oGrammalecteAPI = {
// functions callable from within pages
// to be sent to the content-cript via an event “GrammalecteCall”
sVersion: "1.0",
generateNodeId: function (xNode) {
xNode.id = "grammalecte_generated_id_" + Date.now().toString(36) + "_" + (Math.floor(Math.random() * (1000000))).toString(36);
console.log("[Grammalecte API] generated id", xNode.id);
return xNode.id;
},
openPanelForNode: function (vNode) {
// Parameter: a HTML node or the identifier of a HTML node
if (vNode instanceof HTMLElement) {
let sNodeId = vNode.id || this.generateNodeId(vNode);
let xEvent = new CustomEvent("GrammalecteCall", { detail: JSON.stringify({sCommand: "openPanelForNode", sNodeId: sNodeId}) });
document.dispatchEvent(xEvent);
}
else if (typeof(vNode) === "string" && document.getElementById(vNode)) {
let xEvent = new CustomEvent("GrammalecteCall", { detail: JSON.stringify({sCommand: "openPanelForNode", sNodeId: vNode}) });
document.dispatchEvent(xEvent);
}
else {
console.log("[Grammalecte API] Error: parameter is not a HTML node with an identifier.");
}
},
openPanelForText: function (sText, vNode=null) {
// Parameter: text to analyze, and optionaly a node to send results to.
if (typeof(sText) === "string") {
let sNodeId = "";
if (vNode instanceof HTMLElement) {
sNodeId = vNode.id || this.generateNodeId(vNode);
}
else if (typeof(vNode) === "string" && document.getElementById(vNode)) {
sNodeId = vNode;
}
else {
console.log("[Grammalecte API] No node identifier. No event, no result will be sent.")
}
let xEvent = new CustomEvent("GrammalecteCall", { detail: JSON.stringify({sCommand: "openPanelForText", sText: sText, sNodeId: sNodeId}) });
document.dispatchEvent(xEvent);
} else {
console.log("[Grammalecte API] Error: parameter is not a text.");
}
},
parseNode: function (vNode) {
/* Parameter: a HTML node (with a identifier) or the identifier of a HTML node.
The result will be sent as an event “GrammalecteResult” to the node.
*/
if (vNode instanceof HTMLElement) {
let sNodeId = vNode.id || this.generateNodeId(vNode);
let xEvent = new CustomEvent("GrammalecteCall", { detail: JSON.stringify({sCommand: "parseNode", sNodeId: sNodeId}) });
document.dispatchEvent(xEvent);
}
else if (typeof(vNode) === "string" && document.getElementById(vNode)) {
let xEvent = new CustomEvent("GrammalecteCall", { detail: JSON.stringify({sCommand: "parseNode", sNodeId: vNode}) });
document.dispatchEvent(xEvent);
}
else {
console.log("[Grammalecte API] Error: parameter is not a HTML node with an identifier.");
}
},
parseText: function (sText, vNode) {
// Parameter: text to analyze, and a node to send results to.
if (typeof(sText) === "string") {
if (vNode instanceof HTMLElement) {
let sNodeId = vNode.id || this.generateNodeId(vNode);
let xEvent = new CustomEvent("GrammalecteCall", { detail: JSON.stringify({sCommand: "parseText", sText: sText, sNodeId: sNodeId}) });
document.dispatchEvent(xEvent);
}
else if (typeof(vNode) === "string" && document.getElementById(vNode)) {
let xEvent = new CustomEvent("GrammalecteCall", { detail: JSON.stringify({sCommand: "parseText", sText: sText, sNodeId: vNode}) });
document.dispatchEvent(xEvent);
}
else {
|
| ︙ | ︙ |