Overview
Comment: | [fx] dictionaries edition: update |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fx | comdic |
Files: | files | file ages | folders |
SHA3-256: |
fe9076fde15ec3e4b873f6c2f3fdc42f |
User & Date: | olr on 2019-02-02 11:53:04 |
Original Comment: | [fx] dictionanies edition: update |
Other Links: | branch diff | manifest | tags |
Context
2019-02-02
| ||
16:20 | [fx] commands via shorcuts check-in: 019cf17655 user: olr tags: fx, comdic | |
11:53 | [fx] dictionaries edition: update check-in: fe9076fde1 user: olr tags: fx, comdic | |
11:32 | [fx] gc available for input[text] check-in: e37dc0b5db user: olr tags: fx, comdic | |
Changes
Modified gc_lang/fr/webext/panel/lex_editor.css from [3c7fbe9e7a] to [1abb09b463].
︙ | ︙ | |||
298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 | width: 500px; } /* Dictionary */ #save_button { display: none; margin-left: 5px; padding: 1px 5px; background-color: hsl(150, 50%, 50%); color: hsl(150, 0%, 100%); border-radius: 3px; cursor: pointer; } #export_button, #import_button { display: block; margin-left: 5px; float: right; padding: 2px 10px; background-color: hsl(210, 50%, 50%); color: hsl(210, 0%, 100%); border-radius: 3px; cursor: pointer; } #wait_progress { width: 100%; height: 4px; } | > > > > > > > > > > > > > > > > > > > > > > > > > > | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | width: 500px; } /* Dictionary */ #new_dictionary_button, #delete_dictionary_button { margin-left: 5px; padding: 1px 5px; background-color: hsl(150, 50%, 50%); color: hsl(150, 0%, 100%); border-radius: 3px; cursor: pointer; } #delete_dictionary_button { background-color: hsl(0, 50%, 50%); color: hsl(0, 0%, 100%); } #save_button { display: none; margin-left: 5px; padding: 1px 5px; background-color: hsl(150, 50%, 50%); color: hsl(150, 0%, 100%); border-radius: 3px; cursor: pointer; } #export_button, #import_button { display: block; margin-left: 5px; float: right; padding: 2px 10px; background-color: hsl(210, 50%, 50%); color: hsl(210, 0%, 100%); border-radius: 3px; cursor: pointer; } #new_dictionary_section { margin: 5px 0; padding: 5px 10px; background-color: hsl(210, 10%, 90%); border-radius: 3px; } #create_dictionary_button { padding: 1px 5px; background-color: hsl(120, 50%, 30%); color: hsl(120, 10%, 100%); border-radius: 3px; } #wait_progress { width: 100%; height: 4px; } |
︙ | ︙ |
Modified gc_lang/fr/webext/panel/lex_editor.html from [41cead673f] to [2d922cc2ca].
︙ | ︙ | |||
11 12 13 14 15 16 17 | <div class="inbox"> <h1>Éditeur lexical</h1> <div class="big_block"> <div class="dic_container"> <div><h3>Dictionnaire</h3></div> | | > > > > | | > > > | 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 | <div class="inbox"> <h1>Éditeur lexical</h1> <div class="big_block"> <div class="dic_container"> <div><h3>Dictionnaire</h3></div> <div class="dic_container"> <select id="dic_selector"> <option value="__personal__">__personnel__</option> </select> <div id="new_dictionary_button" title="Créer un dictionnaire partagé">+</div> <div id="delete_dictionary_button" title="Supprimer ce dictionnaire">−</div> </div> <div>[<span id="dic_save_date">—</span>]</div> <div><span id="dic_num_entries">0</span> entrées</div> <div> <input type="file" id="import_input" accept=".json" style="display: none;"> <label id="import_button" for="import_input">Importer</label> </div> <div id="export_button">Exporter</div> </div> <div id="new_dictionary_section" style="display: none;"> <div class="dic_container"> <div>Nouveau dictionnaire partagé</div> <div>Nom : fr.x.<input type="text" required> · Description : <input type="text" required></div> <div id="create_dictionary_button">Créer</div> </div> </div> <progress id="wait_progress" value="0"></progress> </div> <div id="buttons" class="container"> <div id="lexicon_button" class="main_button"> Lexique · <span id="num_entries">0</span> entrées <span id="save_button">Enregistrer</span> |
︙ | ︙ |
Modified gc_lang/fr/webext/panel/lex_editor.js from [9505b2fbc4] to [954238d6d4].
︙ | ︙ | |||
45 46 47 48 49 50 51 52 53 54 55 56 57 58 | if (document.getElementById(sElemId)) { document.getElementById(sElemId).style.display = "none"; } else { console.log("HTML node named <" + sElemId + "> not found.") } } const oTabulations = { lPage: ["lexicon_page", "add_page", "search_page", "info_page"], showPage: function (sRequestedPage) { for (let sPage of this.lPage) { | > > > > > > > > > > | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | if (document.getElementById(sElemId)) { document.getElementById(sElemId).style.display = "none"; } else { console.log("HTML node named <" + sElemId + "> not found.") } } function switchDisplay (sElemId, sDisplay="block") { if (document.getElementById(sElemId)) { if (document.getElementById(sElemId).style.display != "none") { document.getElementById(sElemId).style.display = "none"; } else { document.getElementById(sElemId).style.display = sDisplay; } } } const oTabulations = { lPage: ["lexicon_page", "add_page", "search_page", "info_page"], showPage: function (sRequestedPage) { for (let sPage of this.lPage) { |
︙ | ︙ | |||
529 530 531 532 533 534 535 | //console.log(this.oDictionaries[sName]); return this.oDictionaries[sName]; } return null; }, saveDictionary: function (sName, oJSON) { | < > > > | 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 | //console.log(this.oDictionaries[sName]); return this.oDictionaries[sName]; } return null; }, saveDictionary: function (sName, oJSON) { if (sName == "__personal__") { browser.runtime.sendMessage({ sCommand: "setDictionary", dParam: {sDictionary: "personal", oDict: oJSON}, dInfo: {} }); browser.storage.local.set({ "personal_dictionary": oJSON }); } else { this.oDictionaries[sName] = oJSON; if (oJSON === null) { delete this.oDictionaries[sName]; } browser.storage.local.set({ "shared_dictionaries": this.oDictionaries }); } } } const oBinaryDict = { |
︙ | ︙ | |||
615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 | }, listen: function () { document.getElementById("dic_selector").addEventListener("change", () => {this.load(document.getElementById("dic_selector").value)}, false); document.getElementById("save_button").addEventListener("click", () => { this.build(); }, false); document.getElementById("export_button").addEventListener("click", () => { this.export(); }, false); document.getElementById("import_input").addEventListener("change", () => { this.import(); }, false); }, build: function () { let xProgressNode = document.getElementById("wait_progress"); let lEntry = oLexiconTable.getEntries(); if (lEntry.length > 0) { let oDAWG = new DAWG(lEntry, "S", "fr", "Français", this.sName, this.sDescription, xProgressNode); let oJSON = oDAWG.createBinaryJSON(1); oDictHandler.saveDictionary(this.sName, oJSON); this.oIBDAWG = new IBDAWG(oJSON); this.setDictData(this.oIBDAWG.nEntry, this.oIBDAWG.sDate); } else { oDictHandler.saveDictionary(this.sName, null); this.setDictData(0, "[néant]"); } hideElement("save_button"); }, export: function () { let xBlob = new Blob([ JSON.stringify(this.oIBDAWG.getJSON()) ], {type: 'application/json'}); let sURL = URL.createObjectURL(xBlob); browser.downloads.download({ filename: "fr."+this.sName+".json", url: sURL, saveAs: true }); } } | > > > > > > > > > > > > > | 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 | }, listen: function () { document.getElementById("dic_selector").addEventListener("change", () => {this.load(document.getElementById("dic_selector").value)}, false); document.getElementById("save_button").addEventListener("click", () => { this.build(); }, false); document.getElementById("export_button").addEventListener("click", () => { this.export(); }, false); document.getElementById("import_input").addEventListener("change", () => { this.import(); }, false); document.getElementById("new_dictionary_button").addEventListener("click", () => { switchDisplay("new_dictionary_section"); }, false); document.getElementById("delete_dictionary_button").addEventListener("click", () => { this.delete() }, false); }, build: function () { let xProgressNode = document.getElementById("wait_progress"); let lEntry = oLexiconTable.getEntries(); if (lEntry.length > 0) { let oDAWG = new DAWG(lEntry, "S", "fr", "Français", this.sName, this.sDescription, xProgressNode); let oJSON = oDAWG.createBinaryJSON(1); oDictHandler.saveDictionary(this.sName, oJSON); this.oIBDAWG = new IBDAWG(oJSON); this.setDictData(this.oIBDAWG.nEntry, this.oIBDAWG.sDate); } else { oDictHandler.saveDictionary(this.sName, null); this.setDictData(0, "[néant]"); } hideElement("save_button"); }, delete: function () { if (confirm("Voulez-vous effacer le dictionnaire “"+this.sName+"” ?")) { oLexiconTable.clear(); oDictHandler.saveDictionary(this.sName, null); this.setDictData(0, "[néant]"); if (this.sName != "__personal__") { this.load("__personal__"); } } }, export: function () { let xBlob = new Blob([ JSON.stringify(this.oIBDAWG.getJSON()) ], {type: 'application/json'}); let sURL = URL.createObjectURL(xBlob); browser.downloads.download({ filename: "fr."+this.sName+".json", url: sURL, saveAs: true }); } } |
︙ | ︙ |