Index: gc_lang/fr/webext/panel/lex_editor.html ================================================================== --- gc_lang/fr/webext/panel/lex_editor.html +++ gc_lang/fr/webext/panel/lex_editor.html @@ -301,11 +301,12 @@ + Index: gc_lang/fr/webext/panel/lex_editor.js ================================================================== --- gc_lang/fr/webext/panel/lex_editor.js +++ gc_lang/fr/webext/panel/lex_editor.js @@ -32,11 +32,11 @@ document.getElementById("lexicon_button").addEventListener("click", () => { oWidgets.showPage("lexicon"); }, false); document.getElementById("add_word_button").addEventListener("click", () => { oWidgets.showPage("lemma"); }, false); document.getElementById("table").addEventListener("click", (xEvent) => { oWidgets.onTableClick(xEvent); }, false); document.getElementById("save_button").addEventListener("click", () => { oLexicon.save(); }, false); -document.getElementById("export_button").addEventListener("click", () => { oDict.export(); }, false); +document.getElementById("export_button").addEventListener("click", () => { oBinaryDict.export(); }, false); document.getElementById("editor").addEventListener("click", (xEvent) => { oWidgets.onSelectionClick(xEvent); }, false); document.getElementById("lemma").addEventListener("keyup", () => { oWidgets.onWrite(); }, false); document.getElementById("lemma2").addEventListener("keyup", () => { oWidgets.onWrite2(); }, false); document.getElementById("verb_pattern").addEventListener("keyup", () => { oFlexGen.update(); }, false); @@ -522,19 +522,25 @@ }, _load: function (oResult) { if (oResult.hasOwnProperty("oLexicon")) { this.lFlexion = oResult.oLexicon.lEntry; - oWidgets.setDictData(this.lFlexion, oResult.oLexicon.sDate); + oWidgets.setDictData(this.lFlexion.length, oResult.oLexicon.sDate); oWidgets.displayTable(this.lFlexion); } if (this.lFlexion.length > 0) { oWidgets.showElement("export_button"); } else { oWidgets.hideElement("export_button"); } }, + + set: function (lFlexion) { + this.lFlexion = lFlexion; // clear the array + this.resetModif(); + oWidgets.displayTable(this.lFlexion); + }, addFlexions: function (lFlex) { let n = lFlex.length; for (let aFlex of lFlex) { this.lFlexion.push(aFlex); @@ -548,14 +554,14 @@ this.lFlexion[parseInt(iEntry)] = null; this.nDeletedEntries++; this.nEntries--; }, - resetData: function () { + resetModif: function () { + this.nEntries = this.lFlexion.length; this.nAddedEntries = 0; this.nDeletedEntries = 0; - this.nEntries = this.lFlexion.length; }, save: function () { oWidgets.hideElement("save_button"); let lEntry = []; @@ -565,12 +571,12 @@ } } let sDate = this._getDate(); browser.storage.local.set({ "oLexicon": {"lEntry": lEntry, "sDate": sDate} }); this.lFlexion = lEntry; - oDict.build(lEntry); - this.resetData(); + oBinaryDict.build(lEntry); + this.resetModif(); oWidgets.displayTable(this.lFlexion); oWidgets.updateData(); oWidgets.setDictData(lEntry.length, sDate); }, @@ -583,12 +589,12 @@ return `${oDate.getFullYear()}-${sMonth}-${sDay}, ${sHours}:${sMinutes}`; } } -const oDict = { - +const oBinaryDict = { + // oJSON: null, load: function () { if (bChrome) { browser.storage.local.get("oDictionary", this._load); @@ -603,10 +609,11 @@ this.oJSON = oResult.oDictionary; oWidgets.showElement("export_button"); } else { oWidgets.hideElement("export_button"); } + //oLexicon.set(); }, build: function (lEntry) { oWidgets.showElement("build_progress"); let xProgressNode = document.getElementById("build_progress"); @@ -614,12 +621,14 @@ this.oJSON = oDAWG.createBinary(1); this.save(); oWidgets.hideElement("build_progress"); oWidgets.showElement("export_button"); // debug - let lMorph = oDAWG.morph("finis"); - console.log(lMorph); + console.log(oDAWG.morph("finis")); + let oIBDAWG = new IBDAWG(this.oJSON); + let lEntry2 = oIBDAWG.select(); + console.log(lEntry2); }, save: function () { browser.storage.local.set({ "oDictionary": this.oJSON }); }, @@ -633,7 +642,6 @@ let sURL = URL.createObjectURL(xBlob); browser.downloads.download({ filename: "grammalecte_dictionnaire_personnel.json", url: sURL, saveAs: true }); } } - -oLexicon.load(); +oBinaryDict.load();