Grammalecte  Hex Artifact Content

Artifact 9c5d9f860ed56ed4f1395c41b3f8d0ae0f9ec5ac60e53eb277542d1c9045f7b0:


0000: 2f 2f 20 4a 61 76 61 53 63 72 69 70 74 0a 0a 22  // JavaScript.."
0010: 75 73 65 20 73 74 72 69 63 74 22 3b 0a 0a 2f 2f  use strict";..//
0020: 20 43 68 72 6f 6d 65 20 64 6f 6e e2 80 99 74 20   Chrome don...t 
0030: 66 6f 6c 6c 6f 77 20 74 68 65 20 57 33 43 20 73  follow the W3C s
0040: 70 65 63 69 66 69 63 61 74 69 6f 6e 3a 0a 2f 2f  pecification:.//
0050: 20 68 74 74 70 73 3a 2f 2f 62 72 6f 77 73 65 72   https://browser
0060: 65 78 74 2e 67 69 74 68 75 62 2e 69 6f 2f 62 72  ext.github.io/br
0070: 6f 77 73 65 72 65 78 74 2f 0a 6c 65 74 20 62 43  owserext/.let bC
0080: 68 72 6f 6d 65 20 3d 20 66 61 6c 73 65 3b 0a 69  hrome = false;.i
0090: 66 20 28 74 79 70 65 6f 66 28 62 72 6f 77 73 65  f (typeof(browse
00a0: 72 29 20 21 3d 3d 20 22 6f 62 6a 65 63 74 22 29  r) !== "object")
00b0: 20 7b 0a 20 20 20 20 76 61 72 20 62 72 6f 77 73   {.    var brows
00c0: 65 72 20 3d 20 63 68 72 6f 6d 65 3b 0a 20 20 20  er = chrome;.   
00d0: 20 62 43 68 72 6f 6d 65 20 3d 20 74 72 75 65 3b   bChrome = true;
00e0: 0a 7d 0a 0a 0a 2f 2a 0a 20 20 20 20 43 6f 6d 6d  .}.../*.    Comm
00f0: 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 2a 2f 0a  on functions.*/.
0100: 0a 66 75 6e 63 74 69 6f 6e 20 73 68 6f 77 45 72  .function showEr
0110: 72 6f 72 20 28 65 29 20 7b 0a 20 20 20 20 63 6f  ror (e) {.    co
0120: 6e 73 6f 6c 65 2e 65 72 72 6f 72 28 65 2e 66 69  nsole.error(e.fi
0130: 6c 65 4e 61 6d 65 20 2b 20 22 5c 6e 22 20 2b 20  leName + "\n" + 
0140: 65 2e 6e 61 6d 65 20 2b 20 22 5c 6e 6c 69 6e 65  e.name + "\nline
0150: 3a 20 22 20 2b 20 65 2e 6c 69 6e 65 4e 75 6d 62  : " + e.lineNumb
0160: 65 72 20 2b 20 22 5c 6e 22 20 2b 20 65 2e 6d 65  er + "\n" + e.me
0170: 73 73 61 67 65 29 3b 0a 7d 0a 0a 66 75 6e 63 74  ssage);.}..funct
0180: 69 6f 6e 20 63 72 65 61 74 65 4e 6f 64 65 20 20  ion createNode  
0190: 28 73 54 79 70 65 2c 20 6f 41 74 74 72 2c 20 6f  (sType, oAttr, o
01a0: 44 61 74 61 73 65 74 3d 6e 75 6c 6c 29 20 7b 0a  Dataset=null) {.
01b0: 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20      try {.      
01c0: 20 20 6c 65 74 20 78 4e 6f 64 65 20 3d 20 64 6f    let xNode = do
01d0: 63 75 6d 65 6e 74 2e 63 72 65 61 74 65 45 6c 65  cument.createEle
01e0: 6d 65 6e 74 28 73 54 79 70 65 29 3b 0a 20 20 20  ment(sType);.   
01f0: 20 20 20 20 20 4f 62 6a 65 63 74 2e 61 73 73 69       Object.assi
0200: 67 6e 28 78 4e 6f 64 65 2c 20 6f 41 74 74 72 29  gn(xNode, oAttr)
0210: 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6f 44  ;.        if (oD
0220: 61 74 61 73 65 74 29 20 7b 0a 20 20 20 20 20 20  ataset) {.      
0230: 20 20 20 20 20 20 4f 62 6a 65 63 74 2e 61 73 73        Object.ass
0240: 69 67 6e 28 78 4e 6f 64 65 2e 64 61 74 61 73 65  ign(xNode.datase
0250: 74 2c 20 6f 44 61 74 61 73 65 74 29 3b 0a 20 20  t, oDataset);.  
0260: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
0270: 72 65 74 75 72 6e 20 78 4e 6f 64 65 3b 0a 20 20  return xNode;.  
0280: 20 20 7d 0a 20 20 20 20 63 61 74 63 68 20 28 65    }.    catch (e
0290: 29 20 7b 0a 20 20 20 20 20 20 20 20 73 68 6f 77  ) {.        show
02a0: 45 72 72 6f 72 28 65 29 3b 0a 20 20 20 20 7d 0a  Error(e);.    }.
02b0: 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 73 68 6f 77  }..function show
02c0: 45 6c 65 6d 65 6e 74 20 28 73 45 6c 65 6d 49 64  Element (sElemId
02d0: 29 20 7b 0a 20 20 20 20 69 66 20 28 64 6f 63 75  ) {.    if (docu
02e0: 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42  ment.getElementB
02f0: 79 49 64 28 73 45 6c 65 6d 49 64 29 29 20 7b 0a  yId(sElemId)) {.
0300: 20 20 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74          document
0310: 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28  .getElementById(
0320: 73 45 6c 65 6d 49 64 29 2e 73 74 79 6c 65 2e 64  sElemId).style.d
0330: 69 73 70 6c 61 79 20 3d 20 22 62 6c 6f 63 6b 22  isplay = "block"
0340: 3b 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20  ;.    } else {. 
0350: 20 20 20 20 20 20 20 63 6f 6e 73 6f 6c 65 2e 6c         console.l
0360: 6f 67 28 22 48 54 4d 4c 20 6e 6f 64 65 20 6e 61  og("HTML node na
0370: 6d 65 64 20 3c 22 20 2b 20 73 45 6c 65 6d 49 64  med <" + sElemId
0380: 20 2b 20 22 3e 20 6e 6f 74 20 66 6f 75 6e 64 2e   + "> not found.
0390: 22 29 0a 20 20 20 20 7d 0a 7d 0a 0a 66 75 6e 63  ").    }.}..func
03a0: 74 69 6f 6e 20 68 69 64 65 45 6c 65 6d 65 6e 74  tion hideElement
03b0: 20 28 73 45 6c 65 6d 49 64 29 20 7b 0a 20 20 20   (sElemId) {.   
03c0: 20 69 66 20 28 64 6f 63 75 6d 65 6e 74 2e 67 65   if (document.ge
03d0: 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 73 45 6c  tElementById(sEl
03e0: 65 6d 49 64 29 29 20 7b 0a 20 20 20 20 20 20 20  emId)) {.       
03f0: 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65   document.getEle
0400: 6d 65 6e 74 42 79 49 64 28 73 45 6c 65 6d 49 64  mentById(sElemId
0410: 29 2e 73 74 79 6c 65 2e 64 69 73 70 6c 61 79 20  ).style.display 
0420: 3d 20 22 6e 6f 6e 65 22 3b 0a 20 20 20 20 7d 20  = "none";.    } 
0430: 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 63  else {.        c
0440: 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 22 48 54 4d 4c  onsole.log("HTML
0450: 20 6e 6f 64 65 20 6e 61 6d 65 64 20 3c 22 20 2b   node named <" +
0460: 20 73 45 6c 65 6d 49 64 20 2b 20 22 3e 20 6e 6f   sElemId + "> no
0470: 74 20 66 6f 75 6e 64 2e 22 29 0a 20 20 20 20 7d  t found.").    }
0480: 0a 7d 0a 0a 0a 63 6f 6e 73 74 20 6f 54 61 62 75  .}...const oTabu
0490: 6c 61 74 69 6f 6e 73 20 3d 20 7b 0a 0a 20 20 20  lations = {..   
04a0: 20 6c 50 61 67 65 3a 20 5b 22 6c 65 78 69 63 6f   lPage: ["lexico
04b0: 6e 5f 70 61 67 65 22 2c 20 22 61 64 64 5f 70 61  n_page", "add_pa
04c0: 67 65 22 2c 20 22 73 65 61 72 63 68 5f 70 61 67  ge", "search_pag
04d0: 65 22 2c 20 22 69 6e 66 6f 5f 70 61 67 65 22 5d  e", "info_page"]
04e0: 2c 0a 0a 20 20 20 20 73 68 6f 77 50 61 67 65 3a  ,..    showPage:
04f0: 20 66 75 6e 63 74 69 6f 6e 20 28 73 52 65 71 75   function (sRequ
0500: 65 73 74 65 64 50 61 67 65 29 20 7b 0a 20 20 20  estedPage) {.   
0510: 20 20 20 20 20 66 6f 72 20 28 6c 65 74 20 73 50       for (let sP
0520: 61 67 65 20 6f 66 20 74 68 69 73 2e 6c 50 61 67  age of this.lPag
0530: 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  e) {.           
0540: 20 69 66 20 28 73 50 61 67 65 20 21 3d 3d 20 73   if (sPage !== s
0550: 52 65 71 75 65 73 74 65 64 50 61 67 65 29 20 7b  RequestedPage) {
0560: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0570: 20 68 69 64 65 45 6c 65 6d 65 6e 74 28 73 50 61   hideElement(sPa
0580: 67 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20  ge);.           
0590: 20 20 20 20 20 74 68 69 73 2e 64 6f 77 6e 6c 69       this.downli
05a0: 67 68 74 42 75 74 74 6f 6e 28 73 50 61 67 65 2e  ghtButton(sPage.
05b0: 73 6c 69 63 65 28 30 2c 2d 35 29 20 2b 20 22 5f  slice(0,-5) + "_
05c0: 62 75 74 74 6f 6e 22 29 3b 0a 20 20 20 20 20 20  button");.      
05d0: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
05e0: 7d 0a 20 20 20 20 20 20 20 20 73 68 6f 77 45 6c  }.        showEl
05f0: 65 6d 65 6e 74 28 73 52 65 71 75 65 73 74 65 64  ement(sRequested
0600: 50 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 74  Page);.        t
0610: 68 69 73 2e 68 69 67 68 6c 69 67 68 74 42 75 74  his.highlightBut
0620: 74 6f 6e 28 73 52 65 71 75 65 73 74 65 64 50 61  ton(sRequestedPa
0630: 67 65 2e 73 6c 69 63 65 28 30 2c 2d 35 29 20 2b  ge.slice(0,-5) +
0640: 20 22 5f 62 75 74 74 6f 6e 22 29 3b 0a 20 20 20   "_button");.   
0650: 20 20 20 20 20 69 66 20 28 73 52 65 71 75 65 73       if (sReques
0660: 74 65 64 50 61 67 65 20 3d 3d 20 22 61 64 64 5f  tedPage == "add_
0670: 70 61 67 65 22 29 20 7b 0a 20 20 20 20 20 20 20  page") {.       
0680: 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 67 65       document.ge
0690: 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 6c 65  tElementById("le
06a0: 6d 6d 61 22 29 2e 66 6f 63 75 73 28 29 3b 0a 20  mma").focus();. 
06b0: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a         }.    },.
06c0: 0a 20 20 20 20 68 69 67 68 6c 69 67 68 74 42 75  .    highlightBu
06d0: 74 74 6f 6e 3a 20 66 75 6e 63 74 69 6f 6e 20 28  tton: function (
06e0: 73 42 75 74 74 6f 6e 29 20 7b 0a 20 20 20 20 20  sButton) {.     
06f0: 20 20 20 69 66 20 28 64 6f 63 75 6d 65 6e 74 2e     if (document.
0700: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 73  getElementById(s
0710: 42 75 74 74 6f 6e 29 29 20 7b 0a 20 20 20 20 20  Button)) {.     
0720: 20 20 20 20 20 20 20 6c 65 74 20 78 42 75 74 74         let xButt
0730: 6f 6e 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65  on = document.ge
0740: 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 73 42 75  tElementById(sBu
0750: 74 74 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20  tton);.         
0760: 20 20 20 78 42 75 74 74 6f 6e 2e 73 74 79 6c 65     xButton.style
0770: 2e 62 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72  .backgroundColor
0780: 20 3d 20 22 68 73 6c 28 32 31 30 2c 20 38 30 25   = "hsl(210, 80%
0790: 2c 20 39 30 25 29 22 3b 0a 20 20 20 20 20 20 20  , 90%)";.       
07a0: 20 20 20 20 20 78 42 75 74 74 6f 6e 2e 73 74 79       xButton.sty
07b0: 6c 65 2e 63 6f 6c 6f 72 20 3d 20 22 68 73 6c 28  le.color = "hsl(
07c0: 32 31 30 2c 20 38 30 25 2c 20 33 30 25 29 22 3b  210, 80%, 30%)";
07d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 42 75  .            xBu
07e0: 74 74 6f 6e 2e 73 74 79 6c 65 2e 66 6f 6e 74 57  tton.style.fontW
07f0: 65 69 67 68 74 20 3d 20 22 62 6f 6c 64 22 3b 0a  eight = "bold";.
0800: 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c          }.    },
0810: 0a 0a 20 20 20 20 64 6f 77 6e 6c 69 67 68 74 42  ..    downlightB
0820: 75 74 74 6f 6e 3a 20 66 75 6e 63 74 69 6f 6e 20  utton: function 
0830: 28 73 42 75 74 74 6f 6e 29 20 7b 0a 20 20 20 20  (sButton) {.    
0840: 20 20 20 20 69 66 20 28 64 6f 63 75 6d 65 6e 74      if (document
0850: 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28  .getElementById(
0860: 73 42 75 74 74 6f 6e 29 29 20 7b 0a 20 20 20 20  sButton)) {.    
0870: 20 20 20 20 20 20 20 20 6c 65 74 20 78 42 75 74          let xBut
0880: 74 6f 6e 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67  ton = document.g
0890: 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 73 42  etElementById(sB
08a0: 75 74 74 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20  utton);.        
08b0: 20 20 20 20 78 42 75 74 74 6f 6e 2e 73 74 79 6c      xButton.styl
08c0: 65 2e 62 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f  e.backgroundColo
08d0: 72 20 3d 20 22 68 73 6c 28 32 31 30 2c 20 31 30  r = "hsl(210, 10
08e0: 25 2c 20 39 35 25 29 22 3b 0a 20 20 20 20 20 20  %, 95%)";.      
08f0: 20 20 20 20 20 20 78 42 75 74 74 6f 6e 2e 73 74        xButton.st
0900: 79 6c 65 2e 63 6f 6c 6f 72 20 3d 20 22 68 73 6c  yle.color = "hsl
0910: 28 32 31 30 2c 20 31 30 25 2c 20 35 30 25 29 22  (210, 10%, 50%)"
0920: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 42  ;.            xB
0930: 75 74 74 6f 6e 2e 73 74 79 6c 65 2e 66 6f 6e 74  utton.style.font
0940: 57 65 69 67 68 74 20 3d 20 22 6e 6f 72 6d 61 6c  Weight = "normal
0950: 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20  ";.        }.   
0960: 20 7d 2c 0a 0a 20 20 20 20 6c 69 73 74 65 6e 3a   },..    listen:
0970: 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 20   function () {. 
0980: 20 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e         document.
0990: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22  getElementById("
09a0: 6c 65 78 69 63 6f 6e 5f 62 75 74 74 6f 6e 22 29  lexicon_button")
09b0: 2e 61 64 64 45 76 65 6e 74 4c 69 73 74 65 6e 65  .addEventListene
09c0: 72 28 22 63 6c 69 63 6b 22 2c 20 28 29 20 3d 3e  r("click", () =>
09d0: 20 7b 20 74 68 69 73 2e 73 68 6f 77 50 61 67 65   { this.showPage
09e0: 28 22 6c 65 78 69 63 6f 6e 5f 70 61 67 65 22 29  ("lexicon_page")
09f0: 3b 20 7d 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20  ; }, false);.   
0a00: 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 67 65       document.ge
0a10: 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 61 64  tElementById("ad
0a20: 64 5f 62 75 74 74 6f 6e 22 29 2e 61 64 64 45 76  d_button").addEv
0a30: 65 6e 74 4c 69 73 74 65 6e 65 72 28 22 63 6c 69  entListener("cli
0a40: 63 6b 22 2c 20 28 29 20 3d 3e 20 7b 20 74 68 69  ck", () => { thi
0a50: 73 2e 73 68 6f 77 50 61 67 65 28 22 61 64 64 5f  s.showPage("add_
0a60: 70 61 67 65 22 29 3b 20 7d 2c 20 66 61 6c 73 65  page"); }, false
0a70: 29 3b 0a 20 20 20 20 20 20 20 20 64 6f 63 75 6d  );.        docum
0a80: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
0a90: 49 64 28 22 73 65 61 72 63 68 5f 62 75 74 74 6f  Id("search_butto
0aa0: 6e 22 29 2e 61 64 64 45 76 65 6e 74 4c 69 73 74  n").addEventList
0ab0: 65 6e 65 72 28 22 63 6c 69 63 6b 22 2c 20 28 29  ener("click", ()
0ac0: 20 3d 3e 20 7b 20 74 68 69 73 2e 73 68 6f 77 50   => { this.showP
0ad0: 61 67 65 28 22 73 65 61 72 63 68 5f 70 61 67 65  age("search_page
0ae0: 22 29 3b 20 7d 2c 20 66 61 6c 73 65 29 3b 0a 20  "); }, false);. 
0af0: 20 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e         document.
0b00: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22  getElementById("
0b10: 69 6e 66 6f 5f 62 75 74 74 6f 6e 22 29 2e 61 64  info_button").ad
0b20: 64 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 28 22  dEventListener("
0b30: 63 6c 69 63 6b 22 2c 20 28 29 20 3d 3e 20 7b 20  click", () => { 
0b40: 74 68 69 73 2e 73 68 6f 77 50 61 67 65 28 22 69  this.showPage("i
0b50: 6e 66 6f 5f 70 61 67 65 22 29 3b 20 7d 2c 20 66  nfo_page"); }, f
0b60: 61 6c 73 65 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a  alse);.    }.}..
0b70: 0a 63 6c 61 73 73 20 54 61 62 6c 65 20 7b 0a 0a  .class Table {..
0b80: 20 20 20 20 63 6f 6e 73 74 72 75 63 74 6f 72 20      constructor 
0b90: 28 73 4e 6f 64 65 49 64 2c 20 6c 43 6f 6c 75 6d  (sNodeId, lColum
0ba0: 6e 2c 20 73 50 72 6f 67 72 65 73 73 42 61 72 49  n, sProgressBarI
0bb0: 64 2c 20 73 52 65 73 75 6c 74 49 64 3d 22 22 2c  d, sResultId="",
0bc0: 20 62 44 65 6c 65 74 65 42 75 74 74 6f 6e 73 3d   bDeleteButtons=
0bd0: 74 72 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20  true) {.        
0be0: 74 68 69 73 2e 73 4e 6f 64 65 49 64 20 3d 20 73  this.sNodeId = s
0bf0: 4e 6f 64 65 49 64 3b 0a 20 20 20 20 20 20 20 20  NodeId;.        
0c00: 74 68 69 73 2e 78 54 61 62 6c 65 20 3d 20 64 6f  this.xTable = do
0c10: 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e  cument.getElemen
0c20: 74 42 79 49 64 28 73 4e 6f 64 65 49 64 29 3b 0a  tById(sNodeId);.
0c30: 20 20 20 20 20 20 20 20 74 68 69 73 2e 6e 43 6f          this.nCo
0c40: 6c 75 6d 6e 20 3d 20 6c 43 6f 6c 75 6d 6e 2e 6c  lumn = lColumn.l
0c50: 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 74  ength;.        t
0c60: 68 69 73 2e 6c 43 6f 6c 75 6d 6e 20 3d 20 6c 43  his.lColumn = lC
0c70: 6f 6c 75 6d 6e 3b 0a 20 20 20 20 20 20 20 20 74  olumn;.        t
0c80: 68 69 73 2e 78 50 72 6f 67 72 65 73 73 42 61 72  his.xProgressBar
0c90: 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45   = document.getE
0ca0: 6c 65 6d 65 6e 74 42 79 49 64 28 73 50 72 6f 67  lementById(sProg
0cb0: 72 65 73 73 42 61 72 49 64 29 3b 0a 20 20 20 20  ressBarId);.    
0cc0: 20 20 20 20 74 68 69 73 2e 78 4e 75 6d 45 6e 74      this.xNumEnt
0cd0: 72 79 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65  ry = document.ge
0ce0: 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 73 52 65  tElementById(sRe
0cf0: 73 75 6c 74 49 64 29 3b 0a 20 20 20 20 20 20 20  sultId);.       
0d00: 20 74 68 69 73 2e 69 45 6e 74 72 79 49 6e 64 65   this.iEntryInde
0d10: 78 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 74  x = 0;.        t
0d20: 68 69 73 2e 6c 45 6e 74 72 79 20 3d 20 5b 5d 3b  his.lEntry = [];
0d30: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 6e 45  .        this.nE
0d40: 6e 74 72 79 20 3d 20 30 3b 0a 20 20 20 20 20 20  ntry = 0;.      
0d50: 20 20 74 68 69 73 2e 62 44 65 6c 65 74 65 42 75    this.bDeleteBu
0d60: 74 74 6f 6e 73 20 3d 20 62 44 65 6c 65 74 65 42  ttons = bDeleteB
0d70: 75 74 74 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20  uttons;.        
0d80: 74 68 69 73 2e 5f 63 72 65 61 74 65 48 65 61 64  this._createHead
0d90: 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 74 68  er();.        th
0da0: 69 73 2e 6c 69 73 74 65 6e 28 29 3b 0a 20 20 20  is.listen();.   
0db0: 20 7d 0a 0a 20 20 20 20 5f 63 72 65 61 74 65 48   }..    _createH
0dc0: 65 61 64 65 72 20 28 29 20 7b 0a 20 20 20 20 20  eader () {.     
0dd0: 20 20 20 6c 65 74 20 78 52 6f 77 4e 6f 64 65 20     let xRowNode 
0de0: 3d 20 63 72 65 61 74 65 4e 6f 64 65 28 22 74 72  = createNode("tr
0df0: 22 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28  ");.        if (
0e00: 74 68 69 73 2e 62 44 65 6c 65 74 65 42 75 74 74  this.bDeleteButt
0e10: 6f 6e 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20  ons) {.         
0e20: 20 20 20 78 52 6f 77 4e 6f 64 65 2e 61 70 70 65     xRowNode.appe
0e30: 6e 64 43 68 69 6c 64 28 63 72 65 61 74 65 4e 6f  ndChild(createNo
0e40: 64 65 28 22 74 68 22 2c 20 7b 20 74 65 78 74 43  de("th", { textC
0e50: 6f 6e 74 65 6e 74 3a 20 22 c2 b7 22 2c 20 77 69  ontent: "..", wi
0e60: 64 74 68 3a 20 22 31 32 70 78 22 20 7d 29 29 3b  dth: "12px" }));
0e70: 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20  .        }.     
0e80: 20 20 20 66 6f 72 20 28 6c 65 74 20 73 43 6f 6c     for (let sCol
0e90: 75 6d 6e 20 6f 66 20 74 68 69 73 2e 6c 43 6f 6c  umn of this.lCol
0ea0: 75 6d 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20  umn) {.         
0eb0: 20 20 20 78 52 6f 77 4e 6f 64 65 2e 61 70 70 65     xRowNode.appe
0ec0: 6e 64 43 68 69 6c 64 28 63 72 65 61 74 65 4e 6f  ndChild(createNo
0ed0: 64 65 28 22 74 68 22 2c 20 7b 20 74 65 78 74 43  de("th", { textC
0ee0: 6f 6e 74 65 6e 74 3a 20 73 43 6f 6c 75 6d 6e 20  ontent: sColumn 
0ef0: 7d 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20  }));.        }. 
0f00: 20 20 20 20 20 20 20 74 68 69 73 2e 78 54 61 62         this.xTab
0f10: 6c 65 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 78  le.appendChild(x
0f20: 52 6f 77 4e 6f 64 65 29 3b 0a 20 20 20 20 7d 0a  RowNode);.    }.
0f30: 0a 20 20 20 20 63 6c 65 61 72 20 28 29 20 7b 0a  .    clear () {.
0f40: 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 74          while (t
0f50: 68 69 73 2e 78 54 61 62 6c 65 2e 66 69 72 73 74  his.xTable.first
0f60: 43 68 69 6c 64 29 20 7b 0a 20 20 20 20 20 20 20  Child) {.       
0f70: 20 20 20 20 20 74 68 69 73 2e 78 54 61 62 6c 65       this.xTable
0f80: 2e 72 65 6d 6f 76 65 43 68 69 6c 64 28 74 68 69  .removeChild(thi
0f90: 73 2e 78 54 61 62 6c 65 2e 66 69 72 73 74 43 68  s.xTable.firstCh
0fa0: 69 6c 64 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a  ild);.        }.
0fb0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 69 45 6e          this.iEn
0fc0: 74 72 79 49 6e 64 65 78 20 3d 20 30 3b 0a 20 20  tryIndex = 0;.  
0fd0: 20 20 20 20 20 20 74 68 69 73 2e 5f 63 72 65 61        this._crea
0fe0: 74 65 48 65 61 64 65 72 28 29 3b 0a 20 20 20 20  teHeader();.    
0ff0: 7d 0a 0a 20 20 20 20 66 69 6c 6c 20 28 6c 46 6c  }..    fill (lFl
1000: 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 74 68  ex) {.        th
1010: 69 73 2e 63 6c 65 61 72 28 29 3b 0a 20 20 20 20  is.clear();.    
1020: 20 20 20 20 69 66 20 28 6c 46 6c 65 78 2e 6c 65      if (lFlex.le
1030: 6e 67 74 68 20 3e 20 30 29 20 7b 0a 20 20 20 20  ngth > 0) {.    
1040: 20 20 20 20 20 20 20 20 74 68 69 73 2e 78 50 72          this.xPr
1050: 6f 67 72 65 73 73 42 61 72 2e 6d 61 78 20 3d 20  ogressBar.max = 
1060: 6c 46 6c 65 78 2e 6c 65 6e 67 74 68 3b 0a 20 20  lFlex.length;.  
1070: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 78            this.x
1080: 50 72 6f 67 72 65 73 73 42 61 72 2e 76 61 6c 75  ProgressBar.valu
1090: 65 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20  e = 1;.         
10a0: 20 20 20 66 6f 72 20 28 6c 65 74 20 6c 44 61 74     for (let lDat
10b0: 61 20 6f 66 20 6c 46 6c 65 78 29 20 7b 0a 20 20  a of lFlex) {.  
10c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68                th
10d0: 69 73 2e 5f 61 64 64 52 6f 77 28 6c 44 61 74 61  is._addRow(lData
10e0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
10f0: 20 20 20 74 68 69 73 2e 78 50 72 6f 67 72 65 73     this.xProgres
1100: 73 42 61 72 2e 76 61 6c 75 65 20 2b 3d 20 31 3b  sBar.value += 1;
1110: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20  .            }. 
1120: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e             this.
1130: 78 50 72 6f 67 72 65 73 73 42 61 72 2e 76 61 6c  xProgressBar.val
1140: 75 65 20 3d 20 74 68 69 73 2e 78 50 72 6f 67 72  ue = this.xProgr
1150: 65 73 73 42 61 72 2e 6d 61 78 3b 0a 20 20 20 20  essBar.max;.    
1160: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 74 68      }.        th
1170: 69 73 2e 6c 45 6e 74 72 79 20 3d 20 6c 46 6c 65  is.lEntry = lFle
1180: 78 3b 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e  x;.        this.
1190: 6e 45 6e 74 72 79 20 3d 20 6c 46 6c 65 78 2e 6c  nEntry = lFlex.l
11a0: 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 74  ength;.        t
11b0: 68 69 73 2e 73 68 6f 77 45 6e 74 72 79 4e 75 6d  his.showEntryNum
11c0: 62 65 72 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20  ber();.    }..  
11d0: 20 20 61 64 64 45 6e 74 72 69 65 73 20 28 6c 46    addEntries (lF
11e0: 6c 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 74  lex) {.        t
11f0: 68 69 73 2e 6c 45 6e 74 72 79 2e 70 75 73 68 28  his.lEntry.push(
1200: 2e 2e 2e 6c 46 6c 65 78 29 3b 0a 20 20 20 20 20  ...lFlex);.     
1210: 20 20 20 66 6f 72 20 28 6c 65 74 20 6c 44 61 74     for (let lDat
1220: 61 20 6f 66 20 6c 46 6c 65 78 29 20 7b 0a 20 20  a of lFlex) {.  
1230: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f            this._
1240: 61 64 64 52 6f 77 28 6c 44 61 74 61 29 3b 0a 20  addRow(lData);. 
1250: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20         }.       
1260: 20 74 68 69 73 2e 6e 45 6e 74 72 79 20 2b 3d 20   this.nEntry += 
1270: 6c 46 6c 65 78 2e 6c 65 6e 67 74 68 3b 0a 20 20  lFlex.length;.  
1280: 20 20 20 20 20 20 74 68 69 73 2e 73 68 6f 77 45        this.showE
1290: 6e 74 72 79 4e 75 6d 62 65 72 28 29 3b 0a 20 20  ntryNumber();.  
12a0: 20 20 7d 0a 0a 20 20 20 20 73 68 6f 77 45 6e 74    }..    showEnt
12b0: 72 79 4e 75 6d 62 65 72 20 28 29 20 7b 0a 20 20  ryNumber () {.  
12c0: 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 78        if (this.x
12d0: 4e 75 6d 45 6e 74 72 79 29 20 7b 0a 20 20 20 20  NumEntry) {.    
12e0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 78 4e 75          this.xNu
12f0: 6d 45 6e 74 72 79 2e 74 65 78 74 43 6f 6e 74 65  mEntry.textConte
1300: 6e 74 20 3d 20 74 68 69 73 2e 6e 45 6e 74 72 79  nt = this.nEntry
1310: 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20  ;.        }.    
1320: 7d 0a 0a 20 20 20 20 5f 61 64 64 52 6f 77 20 28  }..    _addRow (
1330: 6c 44 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20  lData) {.       
1340: 20 6c 65 74 20 78 52 6f 77 4e 6f 64 65 20 3d 20   let xRowNode = 
1350: 63 72 65 61 74 65 4e 6f 64 65 28 22 74 72 22 2c  createNode("tr",
1360: 20 7b 20 69 64 3a 20 74 68 69 73 2e 73 4e 6f 64   { id: this.sNod
1370: 65 49 64 20 2b 20 22 5f 72 6f 77 5f 22 20 2b 20  eId + "_row_" + 
1380: 74 68 69 73 2e 69 45 6e 74 72 79 49 6e 64 65 78  this.iEntryIndex
1390: 20 7d 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20   });.        if 
13a0: 28 74 68 69 73 2e 62 44 65 6c 65 74 65 42 75 74  (this.bDeleteBut
13b0: 74 6f 6e 73 29 20 7b 0a 20 20 20 20 20 20 20 20  tons) {.        
13c0: 20 20 20 20 78 52 6f 77 4e 6f 64 65 2e 61 70 70      xRowNode.app
13d0: 65 6e 64 43 68 69 6c 64 28 63 72 65 61 74 65 4e  endChild(createN
13e0: 6f 64 65 28 22 74 64 22 2c 20 7b 20 74 65 78 74  ode("td", { text
13f0: 43 6f 6e 74 65 6e 74 3a 20 22 c3 97 22 2c 20 63  Content: "..", c
1400: 6c 61 73 73 4e 61 6d 65 3a 20 22 64 65 6c 65 74  lassName: "delet
1410: 65 5f 65 6e 74 72 79 22 2c 20 74 69 74 6c 65 3a  e_entry", title:
1420: 20 22 45 66 66 61 63 65 72 20 63 65 74 74 65 20   "Effacer cette 
1430: 65 6e 74 72 c3 a9 65 22 20 7d 2c 20 7b 20 69 64  entr..e" }, { id
1440: 5f 65 6e 74 72 79 3a 20 74 68 69 73 2e 69 45 6e  _entry: this.iEn
1450: 74 72 79 49 6e 64 65 78 20 7d 29 29 3b 0a 20 20  tryIndex }));.  
1460: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
1470: 66 6f 72 20 28 6c 65 74 20 64 61 74 61 20 6f 66  for (let data of
1480: 20 6c 44 61 74 61 29 20 7b 0a 20 20 20 20 20 20   lData) {.      
1490: 20 20 20 20 20 20 78 52 6f 77 4e 6f 64 65 2e 61        xRowNode.a
14a0: 70 70 65 6e 64 43 68 69 6c 64 28 63 72 65 61 74  ppendChild(creat
14b0: 65 4e 6f 64 65 28 22 74 64 22 2c 20 7b 20 74 65  eNode("td", { te
14c0: 78 74 43 6f 6e 74 65 6e 74 3a 20 64 61 74 61 20  xtContent: data 
14d0: 7d 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20  }));.        }. 
14e0: 20 20 20 20 20 20 20 74 68 69 73 2e 78 54 61 62         this.xTab
14f0: 6c 65 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 78  le.appendChild(x
1500: 52 6f 77 4e 6f 64 65 29 3b 0a 20 20 20 20 20 20  RowNode);.      
1510: 20 20 74 68 69 73 2e 69 45 6e 74 72 79 49 6e 64    this.iEntryInd
1520: 65 78 20 2b 3d 20 31 3b 0a 20 20 20 20 7d 0a 0a  ex += 1;.    }..
1530: 20 20 20 20 6c 69 73 74 65 6e 20 28 29 20 7b 0a      listen () {.
1540: 20 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73          if (this
1550: 2e 62 44 65 6c 65 74 65 42 75 74 74 6f 6e 73 29  .bDeleteButtons)
1560: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74   {.            t
1570: 68 69 73 2e 78 54 61 62 6c 65 2e 61 64 64 45 76  his.xTable.addEv
1580: 65 6e 74 4c 69 73 74 65 6e 65 72 28 22 63 6c 69  entListener("cli
1590: 63 6b 22 2c 20 28 78 45 76 65 6e 74 29 20 3d 3e  ck", (xEvent) =>
15a0: 20 7b 20 74 68 69 73 2e 6f 6e 54 61 62 6c 65 43   { this.onTableC
15b0: 6c 69 63 6b 28 78 45 76 65 6e 74 29 3b 20 7d 2c  lick(xEvent); },
15c0: 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20   false);.       
15d0: 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 6f 6e   }.    }..    on
15e0: 54 61 62 6c 65 43 6c 69 63 6b 20 28 78 45 76 65  TableClick (xEve
15f0: 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 74 72  nt) {.        tr
1600: 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  y {.            
1610: 6c 65 74 20 78 45 6c 65 6d 20 3d 20 78 45 76 65  let xElem = xEve
1620: 6e 74 2e 74 61 72 67 65 74 3b 0a 20 20 20 20 20  nt.target;.     
1630: 20 20 20 20 20 20 20 69 66 20 28 78 45 6c 65 6d         if (xElem
1640: 2e 63 6c 61 73 73 4e 61 6d 65 29 20 7b 0a 20 20  .className) {.  
1650: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
1660: 20 28 78 45 6c 65 6d 2e 63 6c 61 73 73 4e 61 6d   (xElem.classNam
1670: 65 20 3d 3d 20 22 64 65 6c 65 74 65 5f 65 6e 74  e == "delete_ent
1680: 72 79 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20  ry") {.         
1690: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e             this.
16a0: 64 65 6c 65 74 65 52 6f 77 28 78 45 6c 65 6d 2e  deleteRow(xElem.
16b0: 64 61 74 61 73 65 74 2e 69 64 5f 65 6e 74 72 79  dataset.id_entry
16c0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
16d0: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20     }.           
16e0: 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20   }.        }.   
16f0: 20 20 20 20 20 63 61 74 63 68 20 28 65 29 20 7b       catch (e) {
1700: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 68 6f  .            sho
1710: 77 45 72 72 6f 72 28 65 29 3b 0a 20 20 20 20 20  wError(e);.     
1720: 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20     }.    }..    
1730: 64 65 6c 65 74 65 52 6f 77 20 28 69 45 6e 74 72  deleteRow (iEntr
1740: 79 29 20 7b 0a 20 20 20 20 20 20 20 20 74 68 69  y) {.        thi
1750: 73 2e 6c 45 6e 74 72 79 5b 70 61 72 73 65 49 6e  s.lEntry[parseIn
1760: 74 28 69 45 6e 74 72 79 29 5d 20 3d 20 6e 75 6c  t(iEntry)] = nul
1770: 6c 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 64  l;.        if (d
1780: 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65  ocument.getEleme
1790: 6e 74 42 79 49 64 28 74 68 69 73 2e 73 4e 6f 64  ntById(this.sNod
17a0: 65 49 64 20 2b 20 22 5f 72 6f 77 5f 22 20 2b 20  eId + "_row_" + 
17b0: 69 45 6e 74 72 79 29 29 20 7b 0a 20 20 20 20 20  iEntry)) {.     
17c0: 20 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e         document.
17d0: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 74  getElementById(t
17e0: 68 69 73 2e 73 4e 6f 64 65 49 64 20 2b 20 22 5f  his.sNodeId + "_
17f0: 72 6f 77 5f 22 20 2b 20 69 45 6e 74 72 79 29 2e  row_" + iEntry).
1800: 73 74 79 6c 65 2e 64 69 73 70 6c 61 79 20 3d 20  style.display = 
1810: 22 6e 6f 6e 65 22 3b 0a 20 20 20 20 20 20 20 20  "none";.        
1820: 7d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 6e  }.        this.n
1830: 45 6e 74 72 79 20 2d 3d 20 31 3b 0a 20 20 20 20  Entry -= 1;.    
1840: 20 20 20 20 74 68 69 73 2e 73 68 6f 77 45 6e 74      this.showEnt
1850: 72 79 4e 75 6d 62 65 72 28 29 3b 0a 20 20 20 20  ryNumber();.    
1860: 7d 0a 0a 20 20 20 20 67 65 74 45 6e 74 72 69 65  }..    getEntrie
1870: 73 20 28 29 20 7b 0a 20 20 20 20 20 20 20 20 72  s () {.        r
1880: 65 74 75 72 6e 20 74 68 69 73 2e 6c 45 6e 74 72  eturn this.lEntr
1890: 79 2e 66 69 6c 74 65 72 28 28 65 29 20 3d 3e 20  y.filter((e) => 
18a0: 65 20 21 3d 3d 20 6e 75 6c 6c 29 3b 0a 20 20 20  e !== null);.   
18b0: 20 7d 0a 7d 0a 0a 0a 63 6f 6e 73 74 20 6f 47 65   }.}...const oGe
18c0: 6e 65 72 61 74 6f 72 20 3d 20 7b 0a 0a 20 20 20  nerator = {..   
18d0: 20 73 4c 65 6d 6d 61 3a 20 22 22 2c 0a 0a 20 20   sLemma: "",..  
18e0: 20 20 63 4d 61 69 6e 54 61 67 3a 20 22 22 2c 0a    cMainTag: "",.
18f0: 0a 20 20 20 20 6c 46 6c 65 78 69 6f 6e 3a 20 5b  .    lFlexion: [
1900: 5d 2c 0a 0a 20 20 20 20 6c 69 73 74 65 6e 3a 20  ],..    listen: 
1910: 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 20 20  function () {.  
1920: 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 67        document.g
1930: 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 65  etElementById("e
1940: 64 69 74 6f 72 22 29 2e 61 64 64 45 76 65 6e 74  ditor").addEvent
1950: 4c 69 73 74 65 6e 65 72 28 22 63 6c 69 63 6b 22  Listener("click"
1960: 2c 20 28 78 45 76 65 6e 74 29 20 3d 3e 20 7b 20  , (xEvent) => { 
1970: 74 68 69 73 2e 6f 6e 53 65 6c 65 63 74 69 6f 6e  this.onSelection
1980: 43 6c 69 63 6b 28 78 45 76 65 6e 74 29 3b 20 7d  Click(xEvent); }
1990: 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20  , false);.      
19a0: 20 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c    document.getEl
19b0: 65 6d 65 6e 74 42 79 49 64 28 22 6c 65 6d 6d 61  ementById("lemma
19c0: 22 29 2e 61 64 64 45 76 65 6e 74 4c 69 73 74 65  ").addEventListe
19d0: 6e 65 72 28 22 6b 65 79 75 70 22 2c 20 28 29 20  ner("keyup", () 
19e0: 3d 3e 20 7b 20 74 68 69 73 2e 6f 6e 57 72 69 74  => { this.onWrit
19f0: 65 28 29 3b 20 7d 2c 20 66 61 6c 73 65 29 3b 0a  e(); }, false);.
1a00: 20 20 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74          document
1a10: 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28  .getElementById(
1a20: 22 6c 65 6d 6d 61 32 22 29 2e 61 64 64 45 76 65  "lemma2").addEve
1a30: 6e 74 4c 69 73 74 65 6e 65 72 28 22 6b 65 79 75  ntListener("keyu
1a40: 70 22 2c 20 28 29 20 3d 3e 20 7b 20 74 68 69 73  p", () => { this
1a50: 2e 6f 6e 57 72 69 74 65 32 28 29 3b 20 7d 2c 20  .onWrite2(); }, 
1a60: 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20  false);.        
1a70: 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d  document.getElem
1a80: 65 6e 74 42 79 49 64 28 22 76 65 72 62 5f 70 61  entById("verb_pa
1a90: 74 74 65 72 6e 22 29 2e 61 64 64 45 76 65 6e 74  ttern").addEvent
1aa0: 4c 69 73 74 65 6e 65 72 28 22 6b 65 79 75 70 22  Listener("keyup"
1ab0: 2c 20 28 29 20 3d 3e 20 7b 20 74 68 69 73 2e 75  , () => { this.u
1ac0: 70 64 61 74 65 28 29 3b 20 7d 2c 20 66 61 6c 73  pdate(); }, fals
1ad0: 65 29 3b 0a 20 20 20 20 20 20 20 20 64 6f 63 75  e);.        docu
1ae0: 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42  ment.getElementB
1af0: 79 49 64 28 22 66 6c 65 78 69 6f 6e 22 29 2e 61  yId("flexion").a
1b00: 64 64 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 28  ddEventListener(
1b10: 22 6b 65 79 75 70 22 2c 20 28 29 20 3d 3e 20 7b  "keyup", () => {
1b20: 20 74 68 69 73 2e 75 70 64 61 74 65 28 29 3b 20   this.update(); 
1b30: 7d 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20  }, false);.     
1b40: 20 20 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45     document.getE
1b50: 6c 65 6d 65 6e 74 42 79 49 64 28 22 74 61 67 73  lementById("tags
1b60: 22 29 2e 61 64 64 45 76 65 6e 74 4c 69 73 74 65  ").addEventListe
1b70: 6e 65 72 28 22 6b 65 79 75 70 22 2c 20 28 29 20  ner("keyup", () 
1b80: 3d 3e 20 7b 20 74 68 69 73 2e 75 70 64 61 74 65  => { this.update
1b90: 28 29 3b 20 7d 2c 20 66 61 6c 73 65 29 3b 0a 20  (); }, false);. 
1ba0: 20 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e         document.
1bb0: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22  getElementById("
1bc0: 61 64 64 5f 74 6f 5f 6c 65 78 69 63 6f 6e 22 29  add_to_lexicon")
1bd0: 2e 61 64 64 45 76 65 6e 74 4c 69 73 74 65 6e 65  .addEventListene
1be0: 72 28 22 63 6c 69 63 6b 22 2c 20 28 29 20 3d 3e  r("click", () =>
1bf0: 20 7b 20 74 68 69 73 2e 61 64 64 54 6f 4c 65 78   { this.addToLex
1c00: 69 63 6f 6e 28 29 3b 20 7d 2c 20 66 61 6c 73 65  icon(); }, false
1c10: 29 3b 0a 20 20 20 20 7d 2c 0a 0a 20 20 20 20 6c  );.    },..    l
1c20: 53 65 63 74 69 6f 6e 3a 20 5b 22 6e 6f 6d 22 2c  Section: ["nom",
1c30: 20 22 76 65 72 62 65 22 2c 20 22 61 64 76 65 72   "verbe", "adver
1c40: 62 65 22 2c 20 22 6e 6f 6d 5f 70 72 6f 70 72 65  be", "nom_propre
1c50: 22 2c 20 22 61 75 74 72 65 22 5d 2c 0a 0a 20 20  ", "autre"],..  
1c60: 20 20 68 69 64 65 41 6c 6c 53 65 63 74 69 6f 6e    hideAllSection
1c70: 73 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b  s: function () {
1c80: 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 6c 65  .        for (le
1c90: 74 20 73 53 65 63 74 69 6f 6e 20 6f 66 20 74 68  t sSection of th
1ca0: 69 73 2e 6c 53 65 63 74 69 6f 6e 29 20 7b 0a 20  is.lSection) {. 
1cb0: 20 20 20 20 20 20 20 20 20 20 20 68 69 64 65 45             hideE
1cc0: 6c 65 6d 65 6e 74 28 22 73 65 63 74 69 6f 6e 5f  lement("section_
1cd0: 22 20 2b 20 73 53 65 63 74 69 6f 6e 29 3b 0a 20  " + sSection);. 
1ce0: 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 75 6d             docum
1cf0: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
1d00: 49 64 28 22 73 65 6c 65 63 74 5f 22 20 2b 20 73  Id("select_" + s
1d10: 53 65 63 74 69 6f 6e 29 2e 73 74 79 6c 65 2e 62  Section).style.b
1d20: 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 20 3d  ackgroundColor =
1d30: 20 22 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20   "";.        }. 
1d40: 20 20 20 7d 2c 0a 0a 20 20 20 20 73 68 6f 77 53     },..    showS
1d50: 65 63 74 69 6f 6e 3a 20 66 75 6e 63 74 69 6f 6e  ection: function
1d60: 20 28 73 4e 61 6d 65 29 20 7b 0a 20 20 20 20 20   (sName) {.     
1d70: 20 20 20 74 68 69 73 2e 63 6c 65 61 72 28 29 3b     this.clear();
1d80: 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 68 69  .        this.hi
1d90: 64 65 41 6c 6c 53 65 63 74 69 6f 6e 73 28 29 3b  deAllSections();
1da0: 0a 20 20 20 20 20 20 20 20 69 66 20 28 64 6f 63  .        if (doc
1db0: 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74  ument.getElement
1dc0: 42 79 49 64 28 73 4e 61 6d 65 29 2e 73 74 79 6c  ById(sName).styl
1dd0: 65 2e 64 69 73 70 6c 61 79 20 3d 3d 20 22 6e 6f  e.display == "no
1de0: 6e 65 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20  ne") {.         
1df0: 20 20 20 73 68 6f 77 45 6c 65 6d 65 6e 74 28 73     showElement(s
1e00: 4e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 7d  Name);.        }
1e10: 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20   else {.        
1e20: 20 20 20 20 68 69 64 65 45 6c 65 6d 65 6e 74 28      hideElement(
1e30: 73 4e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20  sName);.        
1e40: 7d 0a 20 20 20 20 7d 2c 0a 0a 20 20 20 20 63 6c  }.    },..    cl
1e50: 65 61 72 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29  ear: function ()
1e60: 20 7b 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b   {.        try {
1e70: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 63  .            doc
1e80: 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74  ument.getElement
1e90: 42 79 49 64 28 22 6c 65 6d 6d 61 32 22 29 2e 76  ById("lemma2").v
1ea0: 61 6c 75 65 20 3d 20 22 22 3b 0a 20 20 20 20 20  alue = "";.     
1eb0: 20 20 20 20 20 20 20 68 69 64 65 45 6c 65 6d 65         hideEleme
1ec0: 6e 74 28 22 77 6f 72 64 5f 73 65 63 74 69 6f 6e  nt("word_section
1ed0: 32 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20  2");.           
1ee0: 20 2f 2f 20 6e 6f 6d 2c 20 61 64 6a 65 63 74 69   // nom, adjecti
1ef0: 66 2c 20 6e 6f 6d 73 20 70 72 6f 70 72 65 73 0a  f, noms propres.
1f00: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20              for 
1f10: 28 6c 65 74 20 78 45 6c 65 6d 20 6f 66 20 64 6f  (let xElem of do
1f20: 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e  cument.getElemen
1f30: 74 73 42 79 4e 61 6d 65 28 22 50 4f 53 22 29 29  tsByName("POS"))
1f40: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   {.             
1f50: 20 20 20 78 45 6c 65 6d 2e 63 68 65 63 6b 65 64     xElem.checked
1f60: 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20   = false;.      
1f70: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
1f80: 20 20 20 20 66 6f 72 20 28 6c 65 74 20 78 45 6c      for (let xEl
1f90: 65 6d 20 6f 66 20 64 6f 63 75 6d 65 6e 74 2e 67  em of document.g
1fa0: 65 74 45 6c 65 6d 65 6e 74 73 42 79 4e 61 6d 65  etElementsByName
1fb0: 28 22 50 4f 53 32 22 29 29 20 7b 0a 20 20 20 20  ("POS2")) {.    
1fc0: 20 20 20 20 20 20 20 20 20 20 20 20 78 45 6c 65              xEle
1fd0: 6d 2e 63 68 65 63 6b 65 64 20 3d 20 66 61 6c 73  m.checked = fals
1fe0: 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d  e;.            }
1ff0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72  .            for
2000: 20 28 6c 65 74 20 78 45 6c 65 6d 20 6f 66 20 64   (let xElem of d
2010: 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65  ocument.getEleme
2020: 6e 74 73 42 79 4e 61 6d 65 28 22 70 6c 75 72 69  ntsByName("pluri
2030: 65 6c 22 29 29 20 7b 0a 20 20 20 20 20 20 20 20  el")) {.        
2040: 20 20 20 20 20 20 20 20 78 45 6c 65 6d 2e 63 68          xElem.ch
2050: 65 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20  ecked = false;. 
2060: 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20             }.   
2070: 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 6c 65           for (le
2080: 74 20 78 45 6c 65 6d 20 6f 66 20 64 6f 63 75 6d  t xElem of docum
2090: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 73 42  ent.getElementsB
20a0: 79 4e 61 6d 65 28 22 67 65 6e 72 65 22 29 29 20  yName("genre")) 
20b0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  {.              
20c0: 20 20 78 45 6c 65 6d 2e 63 68 65 63 6b 65 64 20    xElem.checked 
20d0: 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20  = false;.       
20e0: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20       }.         
20f0: 20 20 20 66 6f 72 20 28 6c 65 74 20 78 45 6c 65     for (let xEle
2100: 6d 20 6f 66 20 64 6f 63 75 6d 65 6e 74 2e 67 65  m of document.ge
2110: 74 45 6c 65 6d 65 6e 74 73 42 79 4e 61 6d 65 28  tElementsByName(
2120: 22 70 6c 75 72 69 65 6c 32 22 29 29 20 7b 0a 20  "pluriel2")) {. 
2130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78                 x
2140: 45 6c 65 6d 2e 63 68 65 63 6b 65 64 20 3d 20 66  Elem.checked = f
2150: 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20  alse;.          
2160: 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20    }.            
2170: 66 6f 72 20 28 6c 65 74 20 78 45 6c 65 6d 20 6f  for (let xElem o
2180: 66 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c  f document.getEl
2190: 65 6d 65 6e 74 73 42 79 4e 61 6d 65 28 22 67 65  ementsByName("ge
21a0: 6e 72 65 32 22 29 29 20 7b 0a 20 20 20 20 20 20  nre2")) {.      
21b0: 20 20 20 20 20 20 20 20 20 20 78 45 6c 65 6d 2e            xElem.
21c0: 63 68 65 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b  checked = false;
21d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20  .            }. 
21e0: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 76 65             // ve
21f0: 72 62 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  rbe.            
2200: 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d  document.getElem
2210: 65 6e 74 42 79 49 64 28 22 75 70 5f 76 5f 69 22  entById("up_v_i"
2220: 29 2e 63 68 65 63 6b 65 64 20 3d 20 66 61 6c 73  ).checked = fals
2230: 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64  e;.            d
2240: 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65  ocument.getEleme
2250: 6e 74 42 79 49 64 28 22 75 70 5f 76 5f 74 22 29  ntById("up_v_t")
2260: 2e 63 68 65 63 6b 65 64 20 3d 20 66 61 6c 73 65  .checked = false
2270: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f  ;.            do
2280: 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e  cument.getElemen
2290: 74 42 79 49 64 28 22 75 70 5f 76 5f 6e 22 29 2e  tById("up_v_n").
22a0: 63 68 65 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b  checked = false;
22b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 63  .            doc
22c0: 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74  ument.getElement
22d0: 42 79 49 64 28 22 75 70 5f 76 5f 70 22 29 2e 63  ById("up_v_p").c
22e0: 68 65 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b 0a  hecked = false;.
22f0: 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 75              docu
2300: 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42  ment.getElementB
2310: 79 49 64 28 22 75 70 5f 76 5f 6d 22 29 2e 63 68  yId("up_v_m").ch
2320: 65 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20  ecked = false;. 
2330: 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 75 6d             docum
2340: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
2350: 49 64 28 22 75 70 5f 76 5f 61 65 22 29 2e 63 68  Id("up_v_ae").ch
2360: 65 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20  ecked = false;. 
2370: 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 75 6d             docum
2380: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
2390: 49 64 28 22 75 70 5f 76 5f 61 61 22 29 2e 63 68  Id("up_v_aa").ch
23a0: 65 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20  ecked = false;. 
23b0: 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 75 6d             docum
23c0: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
23d0: 49 64 28 22 76 65 72 62 5f 70 61 74 74 65 72 6e  Id("verb_pattern
23e0: 22 29 2e 76 61 6c 75 65 20 3d 20 22 22 3b 0a 20  ").value = "";. 
23f0: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 75             // au
2400: 74 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  tre.            
2410: 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d  document.getElem
2420: 65 6e 74 42 79 49 64 28 22 66 6c 65 78 69 6f 6e  entById("flexion
2430: 22 29 2e 76 61 6c 75 65 20 3d 20 22 22 3b 0a 20  ").value = "";. 
2440: 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 75 6d             docum
2450: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
2460: 49 64 28 22 74 61 67 73 22 29 2e 76 61 6c 75 65  Id("tags").value
2470: 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 7d   = "";.        }
2480: 0a 20 20 20 20 20 20 20 20 63 61 74 63 68 20 28  .        catch (
2490: 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  e) {.           
24a0: 20 73 68 6f 77 45 72 72 6f 72 28 65 29 3b 0a 20   showError(e);. 
24b0: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a         }.    },.
24c0: 0a 20 20 20 20 6f 6e 53 65 6c 65 63 74 69 6f 6e  .    onSelection
24d0: 43 6c 69 63 6b 3a 20 66 75 6e 63 74 69 6f 6e 20  Click: function 
24e0: 28 78 45 76 65 6e 74 29 20 7b 0a 20 20 20 20 20  (xEvent) {.     
24f0: 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20     try {.       
2500: 20 20 20 20 20 6c 65 74 20 78 45 6c 65 6d 20 3d       let xElem =
2510: 20 78 45 76 65 6e 74 2e 74 61 72 67 65 74 3b 0a   xEvent.target;.
2520: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
2530: 78 45 6c 65 6d 2e 69 64 29 20 7b 0a 20 20 20 20  xElem.id) {.    
2540: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
2550: 78 45 6c 65 6d 2e 69 64 2e 73 74 61 72 74 73 57  xElem.id.startsW
2560: 69 74 68 28 22 73 65 6c 65 63 74 5f 22 29 29 20  ith("select_")) 
2570: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  {.              
2580: 20 20 20 20 20 20 74 68 69 73 2e 73 68 6f 77 53        this.showS
2590: 65 63 74 69 6f 6e 28 22 73 65 63 74 69 6f 6e 5f  ection("section_
25a0: 22 20 2b 20 78 45 6c 65 6d 2e 69 64 2e 73 6c 69  " + xElem.id.sli
25b0: 63 65 28 37 29 29 3b 0a 20 20 20 20 20 20 20 20  ce(7));.        
25c0: 20 20 20 20 20 20 20 20 20 20 20 20 78 45 6c 65              xEle
25d0: 6d 2e 73 74 79 6c 65 2e 62 61 63 6b 67 72 6f 75  m.style.backgrou
25e0: 6e 64 43 6f 6c 6f 72 20 3d 20 22 68 73 6c 28 32  ndColor = "hsl(2
25f0: 31 30 2c 20 35 30 25 2c 20 39 30 25 29 22 3b 0a  10, 50%, 90%)";.
2600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2610: 20 20 20 20 74 68 69 73 2e 63 4d 61 69 6e 54 61      this.cMainTa
2620: 67 20 3d 20 78 45 6c 65 6d 2e 64 61 74 61 73 65  g = xElem.datase
2630: 74 2e 74 61 67 3b 0a 20 20 20 20 20 20 20 20 20  t.tag;.         
2640: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e             this.
2650: 75 70 64 61 74 65 28 29 3b 0a 20 20 20 20 20 20  update();.      
2660: 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65            } else
2670: 20 69 66 20 28 78 45 6c 65 6d 2e 69 64 2e 73 74   if (xElem.id.st
2680: 61 72 74 73 57 69 74 68 28 22 75 70 5f 22 29 29  artsWith("up_"))
2690: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   {.             
26a0: 20 20 20 20 20 20 20 74 68 69 73 2e 75 70 64 61         this.upda
26b0: 74 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20  te();.          
26c0: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
26d0: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a      }.        }.
26e0: 20 20 20 20 20 20 20 20 63 61 74 63 68 20 28 65          catch (e
26f0: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ) {.            
2700: 73 68 6f 77 45 72 72 6f 72 28 65 29 3b 0a 20 20  showError(e);.  
2710: 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a 0a        }.    },..
2720: 20 20 20 20 6f 6e 57 72 69 74 65 3a 20 66 75 6e      onWrite: fun
2730: 63 74 69 6f 6e 20 28 29 20 7b 0a 20 20 20 20 20  ction () {.     
2740: 20 20 20 69 66 20 28 64 6f 63 75 6d 65 6e 74 2e     if (document.
2750: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22  getElementById("
2760: 6c 65 6d 6d 61 22 29 2e 76 61 6c 75 65 2e 74 72  lemma").value.tr
2770: 69 6d 28 29 20 21 3d 3d 20 22 22 29 20 7b 0a 20  im() !== "") {. 
2780: 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 77 45             showE
2790: 6c 65 6d 65 6e 74 28 22 65 64 69 74 6f 72 22 29  lement("editor")
27a0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  ;.            th
27b0: 69 73 2e 75 70 64 61 74 65 28 29 3b 0a 20 20 20  is.update();.   
27c0: 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20       } else {.  
27d0: 20 20 20 20 20 20 20 20 20 20 68 69 64 65 45 6c            hideEl
27e0: 65 6d 65 6e 74 28 22 65 64 69 74 6f 72 22 29 3b  ement("editor");
27f0: 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d  .        }.    }
2800: 2c 0a 0a 20 20 20 20 6f 6e 57 72 69 74 65 32 3a  ,..    onWrite2:
2810: 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 20   function () {. 
2820: 20 20 20 20 20 20 20 69 66 20 28 64 6f 63 75 6d         if (docum
2830: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
2840: 49 64 28 22 6c 65 6d 6d 61 32 22 29 2e 76 61 6c  Id("lemma2").val
2850: 75 65 2e 74 72 69 6d 28 29 20 21 3d 3d 20 22 22  ue.trim() !== ""
2860: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ) {.            
2870: 73 68 6f 77 45 6c 65 6d 65 6e 74 28 22 77 6f 72  showElement("wor
2880: 64 5f 73 65 63 74 69 6f 6e 32 22 29 3b 0a 20 20  d_section2");.  
2890: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 75            this.u
28a0: 70 64 61 74 65 28 29 3b 0a 20 20 20 20 20 20 20  pdate();.       
28b0: 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20   } else {.      
28c0: 20 20 20 20 20 20 68 69 64 65 45 6c 65 6d 65 6e        hideElemen
28d0: 74 28 22 77 6f 72 64 5f 73 65 63 74 69 6f 6e 32  t("word_section2
28e0: 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20  ");.        }.  
28f0: 20 20 7d 2c 0a 0a 20 20 20 20 75 70 64 61 74 65    },..    update
2900: 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a  : function () {.
2910: 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20          try {.  
2920: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 6c            this.l
2930: 46 6c 65 78 69 6f 6e 20 3d 20 5b 5d 3b 0a 20 20  Flexion = [];.  
2940: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 73            this.s
2950: 4c 65 6d 6d 61 20 3d 20 64 6f 63 75 6d 65 6e 74  Lemma = document
2960: 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28  .getElementById(
2970: 22 6c 65 6d 6d 61 22 29 2e 76 61 6c 75 65 2e 74  "lemma").value.t
2980: 72 69 6d 28 29 3b 0a 20 20 20 20 20 20 20 20 20  rim();.         
2990: 20 20 20 69 66 20 28 74 68 69 73 2e 73 4c 65 6d     if (this.sLem
29a0: 6d 61 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b  ma.length > 0) {
29b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
29c0: 20 73 77 69 74 63 68 20 28 74 68 69 73 2e 63 4d   switch (this.cM
29d0: 61 69 6e 54 61 67 29 20 7b 0a 20 20 20 20 20 20  ainTag) {.      
29e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61                ca
29f0: 73 65 20 22 4e 22 3a 0a 20 20 20 20 20 20 20 20  se "N":.        
2a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2a10: 69 66 20 28 21 74 68 69 73 2e 67 65 74 52 61 64  if (!this.getRad
2a20: 69 6f 56 61 6c 75 65 28 22 50 4f 53 22 29 20 7c  ioValue("POS") |
2a30: 7c 20 21 74 68 69 73 2e 67 65 74 52 61 64 69 6f  | !this.getRadio
2a40: 56 61 6c 75 65 28 22 67 65 6e 72 65 22 29 29 20  Value("genre")) 
2a50: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  {.              
2a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72                br
2a70: 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20  eak;.           
2a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20               }. 
2a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2aa0: 20 20 20 20 20 20 20 6c 65 74 20 73 54 61 67 20         let sTag 
2ab0: 3d 20 74 68 69 73 2e 67 65 74 52 61 64 69 6f 56  = this.getRadioV
2ac0: 61 6c 75 65 28 22 50 4f 53 22 29 20 2b 20 74 68  alue("POS") + th
2ad0: 69 73 2e 67 65 74 52 61 64 69 6f 56 61 6c 75 65  is.getRadioValue
2ae0: 28 22 67 65 6e 72 65 22 29 3b 0a 20 20 20 20 20  ("genre");.     
2af0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2b00: 20 20 20 73 77 69 74 63 68 20 28 74 68 69 73 2e     switch (this.
2b10: 67 65 74 52 61 64 69 6f 56 61 6c 75 65 28 22 70  getRadioValue("p
2b20: 6c 75 72 69 65 6c 22 29 29 20 7b 0a 20 20 20 20  luriel")) {.    
2b30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2b40: 20 20 20 20 20 20 20 20 63 61 73 65 20 22 73 22          case "s"
2b50: 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  :.              
2b60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2b70: 20 20 74 68 69 73 2e 6c 46 6c 65 78 69 6f 6e 2e    this.lFlexion.
2b80: 70 75 73 68 28 5b 74 68 69 73 2e 73 4c 65 6d 6d  push([this.sLemm
2b90: 61 2c 20 73 54 61 67 2b 22 3a 73 2f 2a 22 5d 29  a, sTag+":s/*"])
2ba0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
2bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2bc0: 20 20 74 68 69 73 2e 6c 46 6c 65 78 69 6f 6e 2e    this.lFlexion.
2bd0: 70 75 73 68 28 5b 74 68 69 73 2e 73 4c 65 6d 6d  push([this.sLemm
2be0: 61 2b 22 73 22 2c 20 73 54 61 67 2b 22 3a 70 2f  a+"s", sTag+":p/
2bf0: 2a 22 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20  *"]);.          
2c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2c10: 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20        break;.   
2c20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2c30: 20 20 20 20 20 20 20 20 20 63 61 73 65 20 22 78           case "x
2c40: 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ":.             
2c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2c60: 20 20 20 74 68 69 73 2e 6c 46 6c 65 78 69 6f 6e     this.lFlexion
2c70: 2e 70 75 73 68 28 5b 74 68 69 73 2e 73 4c 65 6d  .push([this.sLem
2c80: 6d 61 2c 20 73 54 61 67 2b 22 3a 73 2f 2a 22 5d  ma, sTag+":s/*"]
2c90: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
2ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2cb0: 20 20 20 74 68 69 73 2e 6c 46 6c 65 78 69 6f 6e     this.lFlexion
2cc0: 2e 70 75 73 68 28 5b 74 68 69 73 2e 73 4c 65 6d  .push([this.sLem
2cd0: 6d 61 2b 22 78 22 2c 20 73 54 61 67 2b 22 3a 70  ma+"x", sTag+":p
2ce0: 2f 2a 22 5d 29 3b 0a 20 20 20 20 20 20 20 20 20  /*"]);.         
2cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2d00: 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20         break;.  
2d10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2d20: 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 22            case "
2d30: 69 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20  i":.            
2d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2d50: 20 20 20 20 74 68 69 73 2e 6c 46 6c 65 78 69 6f      this.lFlexio
2d60: 6e 2e 70 75 73 68 28 5b 74 68 69 73 2e 73 4c 65  n.push([this.sLe
2d70: 6d 6d 61 2c 20 73 54 61 67 2b 22 3a 69 2f 2a 22  mma, sTag+":i/*"
2d80: 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ]);.            
2d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2da0: 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20      break;.     
2db0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2dc0: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20     }.           
2dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74               let
2de0: 20 73 4c 65 6d 6d 61 32 20 3d 20 64 6f 63 75 6d   sLemma2 = docum
2df0: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
2e00: 49 64 28 22 6c 65 6d 6d 61 32 22 29 2e 76 61 6c  Id("lemma2").val
2e10: 75 65 2e 74 72 69 6d 28 29 3b 0a 20 20 20 20 20  ue.trim();.     
2e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2e30: 20 20 20 69 66 20 28 73 4c 65 6d 6d 61 32 2e 6c     if (sLemma2.l
2e40: 65 6e 67 74 68 20 3e 20 30 20 20 26 26 20 20 74  ength > 0  &&  t
2e50: 68 69 73 2e 67 65 74 52 61 64 69 6f 56 61 6c 75  his.getRadioValu
2e60: 65 28 22 50 4f 53 32 22 29 20 20 26 26 20 20 74  e("POS2")  &&  t
2e70: 68 69 73 2e 67 65 74 52 61 64 69 6f 56 61 6c 75  his.getRadioValu
2e80: 65 28 22 67 65 6e 72 65 32 22 29 29 20 7b 0a 20  e("genre2")) {. 
2e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2ea0: 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 73             let s
2eb0: 54 61 67 32 20 3d 20 74 68 69 73 2e 67 65 74 52  Tag2 = this.getR
2ec0: 61 64 69 6f 56 61 6c 75 65 28 22 50 4f 53 32 22  adioValue("POS2"
2ed0: 29 20 2b 20 74 68 69 73 2e 67 65 74 52 61 64 69  ) + this.getRadi
2ee0: 6f 56 61 6c 75 65 28 22 67 65 6e 72 65 32 22 29  oValue("genre2")
2ef0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
2f00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 77                sw
2f10: 69 74 63 68 20 28 74 68 69 73 2e 67 65 74 52 61  itch (this.getRa
2f20: 64 69 6f 56 61 6c 75 65 28 22 70 6c 75 72 69 65  dioValue("plurie
2f30: 6c 32 22 29 29 20 7b 0a 20 20 20 20 20 20 20 20  l2")) {.        
2f40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2f50: 20 20 20 20 20 20 20 20 63 61 73 65 20 22 73 22          case "s"
2f60: 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  :.              
2f70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2f80: 20 20 20 20 20 20 74 68 69 73 2e 6c 46 6c 65 78        this.lFlex
2f90: 69 6f 6e 2e 70 75 73 68 28 5b 73 4c 65 6d 6d 61  ion.push([sLemma
2fa0: 32 2c 20 73 54 61 67 32 2b 22 3a 73 2f 2a 22 5d  2, sTag2+":s/*"]
2fb0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
2fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2fd0: 20 20 20 20 20 20 20 74 68 69 73 2e 6c 46 6c 65         this.lFle
2fe0: 78 69 6f 6e 2e 70 75 73 68 28 5b 73 4c 65 6d 6d  xion.push([sLemm
2ff0: 61 32 2b 22 73 22 2c 20 73 54 61 67 32 2b 22 3a  a2+"s", sTag2+":
3000: 70 2f 2a 22 5d 29 3b 0a 20 20 20 20 20 20 20 20  p/*"]);.        
3010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3020: 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61              brea
3030: 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  k;.             
3040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3050: 20 20 20 63 61 73 65 20 22 78 22 3a 0a 20 20 20     case "x":.   
3060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3080: 20 74 68 69 73 2e 6c 46 6c 65 78 69 6f 6e 2e 70   this.lFlexion.p
3090: 75 73 68 28 5b 73 4c 65 6d 6d 61 32 2c 20 73 54  ush([sLemma2, sT
30a0: 61 67 32 2b 22 3a 73 2f 2a 22 5d 29 3b 0a 20 20  ag2+":s/*"]);.  
30b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
30c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
30d0: 20 20 74 68 69 73 2e 6c 46 6c 65 78 69 6f 6e 2e    this.lFlexion.
30e0: 70 75 73 68 28 5b 73 4c 65 6d 6d 61 32 2b 22 78  push([sLemma2+"x
30f0: 22 2c 20 73 54 61 67 32 2b 22 3a 70 2f 2a 22 5d  ", sTag2+":p/*"]
3100: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
3110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3120: 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20         break;.  
3130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61                ca
3150: 73 65 20 22 69 22 3a 0a 20 20 20 20 20 20 20 20  se "i":.        
3160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3170: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
3180: 2e 6c 46 6c 65 78 69 6f 6e 2e 70 75 73 68 28 5b  .lFlexion.push([
3190: 73 4c 65 6d 6d 61 32 2c 20 73 54 61 67 32 2b 22  sLemma2, sTag2+"
31a0: 3a 69 2f 2a 22 5d 29 3b 0a 20 20 20 20 20 20 20  :i/*"]);.       
31b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
31c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65               bre
31d0: 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ak;.            
31e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
31f0: 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  }.              
3200: 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20            }.    
3210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3220: 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20      break;.     
3230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63                 c
3240: 61 73 65 20 22 56 22 3a 20 7b 0a 20 20 20 20 20  ase "V": {.     
3250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3260: 20 20 20 69 66 20 28 21 74 68 69 73 2e 73 4c 65     if (!this.sLe
3270: 6d 6d 61 2e 65 6e 64 73 57 69 74 68 28 22 65 72  mma.endsWith("er
3280: 22 29 20 26 26 20 21 74 68 69 73 2e 73 4c 65 6d  ") && !this.sLem
3290: 6d 61 2e 65 6e 64 73 57 69 74 68 28 22 69 72 22  ma.endsWith("ir"
32a0: 29 20 26 26 20 21 74 68 69 73 2e 73 4c 65 6d 6d  ) && !this.sLemm
32b0: 61 2e 65 6e 64 73 57 69 74 68 28 22 72 65 22 29  a.endsWith("re")
32c0: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ) {.            
32d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
32e0: 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20  break;.         
32f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
3300: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
3310: 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 73 4c           this.sL
3320: 65 6d 6d 61 20 3d 20 74 68 69 73 2e 73 4c 65 6d  emma = this.sLem
3330: 6d 61 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28 29  ma.toLowerCase()
3340: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
3350: 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 63 47            let cG
3360: 72 6f 75 70 20 3d 20 22 22 3b 0a 20 20 20 20 20  roup = "";.     
3370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3380: 20 20 20 6c 65 74 20 63 5f 69 20 3d 20 28 64 6f     let c_i = (do
3390: 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e  cument.getElemen
33a0: 74 42 79 49 64 28 22 75 70 5f 76 5f 69 22 29 2e  tById("up_v_i").
33b0: 63 68 65 63 6b 65 64 29 20 3f 20 22 69 22 20 3a  checked) ? "i" :
33c0: 20 22 5f 22 3b 0a 20 20 20 20 20 20 20 20 20 20   "_";.          
33d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65                le
33e0: 74 20 63 5f 74 20 3d 20 28 64 6f 63 75 6d 65 6e  t c_t = (documen
33f0: 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64  t.getElementById
3400: 28 22 75 70 5f 76 5f 74 22 29 2e 63 68 65 63 6b  ("up_v_t").check
3410: 65 64 29 20 3f 20 22 74 22 20 3a 20 22 5f 22 3b  ed) ? "t" : "_";
3420: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
3430: 20 20 20 20 20 20 20 20 20 6c 65 74 20 63 5f 6e           let c_n
3440: 20 3d 20 28 64 6f 63 75 6d 65 6e 74 2e 67 65 74   = (document.get
3450: 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 75 70 5f  ElementById("up_
3460: 76 5f 6e 22 29 2e 63 68 65 63 6b 65 64 29 20 3f  v_n").checked) ?
3470: 20 22 6e 22 20 3a 20 22 5f 22 3b 0a 20 20 20 20   "n" : "_";.    
3480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3490: 20 20 20 20 6c 65 74 20 63 5f 70 20 3d 20 28 64      let c_p = (d
34a0: 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65  ocument.getEleme
34b0: 6e 74 42 79 49 64 28 22 75 70 5f 76 5f 70 22 29  ntById("up_v_p")
34c0: 2e 63 68 65 63 6b 65 64 29 20 3f 20 22 70 22 20  .checked) ? "p" 
34d0: 3a 20 22 5f 22 3b 0a 20 20 20 20 20 20 20 20 20  : "_";.         
34e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c                 l
34f0: 65 74 20 63 5f 6d 20 3d 20 28 64 6f 63 75 6d 65  et c_m = (docume
3500: 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49  nt.getElementByI
3510: 64 28 22 75 70 5f 76 5f 6d 22 29 2e 63 68 65 63  d("up_v_m").chec
3520: 6b 65 64 29 20 3f 20 22 6d 22 20 3a 20 22 5f 22  ked) ? "m" : "_"
3530: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
3540: 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 63 5f            let c_
3550: 61 65 20 3d 20 28 64 6f 63 75 6d 65 6e 74 2e 67  ae = (document.g
3560: 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 75  etElementById("u
3570: 70 5f 76 5f 61 65 22 29 2e 63 68 65 63 6b 65 64  p_v_ae").checked
3580: 29 20 3f 20 22 65 22 20 3a 20 22 5f 22 3b 0a 20  ) ? "e" : "_";. 
3590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
35a0: 20 20 20 20 20 20 20 6c 65 74 20 63 5f 61 61 20         let c_aa 
35b0: 3d 20 28 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45  = (document.getE
35c0: 6c 65 6d 65 6e 74 42 79 49 64 28 22 75 70 5f 76  lementById("up_v
35d0: 5f 61 61 22 29 2e 63 68 65 63 6b 65 64 29 20 3f  _aa").checked) ?
35e0: 20 22 61 22 20 3a 20 22 5f 22 3b 0a 20 20 20 20   "a" : "_";.    
35f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3600: 20 20 20 20 6c 65 74 20 73 56 65 72 62 54 61 67      let sVerbTag
3610: 20 3d 20 63 5f 69 20 2b 20 63 5f 74 20 2b 20 63   = c_i + c_t + c
3620: 5f 6e 20 2b 20 63 5f 70 20 2b 20 63 5f 6d 20 2b  _n + c_p + c_m +
3630: 20 63 5f 61 65 20 2b 20 63 5f 61 61 3b 0a 20 20   c_ae + c_aa;.  
3640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3650: 20 20 20 20 20 20 69 66 20 28 21 73 56 65 72 62        if (!sVerb
3660: 54 61 67 2e 65 6e 64 73 57 69 74 68 28 22 5f 5f  Tag.endsWith("__
3670: 22 29 20 26 26 20 21 73 56 65 72 62 54 61 67 2e  ") && !sVerbTag.
3680: 73 74 61 72 74 73 57 69 74 68 28 22 5f 5f 5f 5f  startsWith("____
3690: 22 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20  ")) {.          
36a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
36b0: 20 20 6c 65 74 20 73 56 65 72 62 50 61 74 74 65    let sVerbPatte
36c0: 72 6e 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65  rn = document.ge
36d0: 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 76 65  tElementById("ve
36e0: 72 62 5f 70 61 74 74 65 72 6e 22 29 2e 76 61 6c  rb_pattern").val
36f0: 75 65 2e 74 72 69 6d 28 29 3b 0a 20 20 20 20 20  ue.trim();.     
3700: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3710: 20 20 20 20 20 20 20 69 66 20 28 73 56 65 72 62         if (sVerb
3720: 50 61 74 74 65 72 6e 2e 6c 65 6e 67 74 68 20 3d  Pattern.length =
3730: 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20  = 0) {.         
3740: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3750: 20 20 20 20 20 20 20 2f 2f 20 75 74 69 6c 69 73         // utilis
3760: 61 74 69 6f 6e 20 64 75 20 67 c3 a9 6e c3 a9 72  ation du g..n..r
3770: 61 74 65 75 72 20 64 65 20 63 6f 6e 6a 75 67 61  ateur de conjuga
3780: 69 73 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20  ison.           
3790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
37a0: 20 20 20 20 20 6c 65 74 20 62 56 61 72 50 70 61       let bVarPpa
37b0: 73 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74  s = document.get
37c0: 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 75 70 5f  ElementById("up_
37d0: 70 61 72 74 70 61 73 22 29 2e 63 68 65 63 6b 65  partpas").checke
37e0: 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  d;.             
37f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3800: 20 20 20 66 6f 72 20 28 6c 65 74 20 5b 73 46 6c     for (let [sFl
3810: 65 78 69 6f 6e 2c 20 73 46 6c 65 78 54 61 67 73  exion, sFlexTags
3820: 5d 20 6f 66 20 63 6f 6e 6a 5f 67 65 6e 65 72 61  ] of conj_genera
3830: 74 6f 72 2e 63 6f 6e 6a 75 67 61 74 65 28 74 68  tor.conjugate(th
3840: 69 73 2e 73 4c 65 6d 6d 61 2c 20 73 56 65 72 62  is.sLemma, sVerb
3850: 54 61 67 2c 20 62 56 61 72 50 70 61 73 29 29 20  Tag, bVarPpas)) 
3860: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  {.              
3870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3880: 20 20 20 20 20 20 74 68 69 73 2e 6c 46 6c 65 78        this.lFlex
3890: 69 6f 6e 2e 70 75 73 68 28 5b 73 46 6c 65 78 69  ion.push([sFlexi
38a0: 6f 6e 2c 20 73 46 6c 65 78 54 61 67 73 5d 29 3b  on, sFlexTags]);
38b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
38c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
38d0: 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   }.             
38e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
38f0: 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20   else {.        
3900: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3910: 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 70 69 65          // copie
3920: 20 64 75 20 6d 6f 74 69 66 20 64 e2 80 99 75 6e   du motif d...un
3930: 20 61 75 74 72 65 20 76 65 72 62 65 20 3a 20 75   autre verbe : u
3940: 74 69 6c 69 73 61 74 69 6f 6e 20 64 75 20 63 6f  tilisation du co
3950: 6e 6a 75 67 75 65 75 72 0a 20 20 20 20 20 20 20  njugueur.       
3960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3970: 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e           if (con
3980: 6a 2e 69 73 56 65 72 62 28 73 56 65 72 62 50 61  j.isVerb(sVerbPa
3990: 74 74 65 72 6e 29 29 20 7b 0a 20 20 20 20 20 20  ttern)) {.      
39a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
39b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65                le
39c0: 74 20 6f 56 65 72 62 20 3d 20 6e 65 77 20 56 65  t oVerb = new Ve
39d0: 72 62 28 74 68 69 73 2e 73 4c 65 6d 6d 61 2c 20  rb(this.sLemma, 
39e0: 73 56 65 72 62 50 61 74 74 65 72 6e 29 3b 0a 20  sVerbPattern);. 
39f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3a00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3a10: 20 20 20 66 6f 72 20 28 6c 65 74 20 5b 73 54 61     for (let [sTa
3a20: 67 31 2c 20 64 46 6c 65 78 5d 20 6f 66 20 6f 56  g1, dFlex] of oV
3a30: 65 72 62 2e 64 43 6f 6e 6a 2e 65 6e 74 72 69 65  erb.dConj.entrie
3a40: 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20  s()) {.         
3a50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
3a70: 66 20 28 73 54 61 67 31 20 21 3d 3d 20 22 3a 51  f (sTag1 !== ":Q
3a80: 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ") {.           
3a90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3ab0: 20 66 6f 72 20 28 6c 65 74 20 5b 73 54 61 67 32   for (let [sTag2
3ac0: 2c 20 73 43 6f 6e 6a 5d 20 6f 66 20 64 46 6c 65  , sConj] of dFle
3ad0: 78 2e 65 6e 74 72 69 65 73 28 29 29 20 7b 0a 20  x.entries()) {. 
3ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3af0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
3b10: 66 20 28 73 54 61 67 32 2e 73 74 61 72 74 73 57  f (sTag2.startsW
3b20: 69 74 68 28 22 3a 22 29 20 26 26 20 73 43 6f 6e  ith(":") && sCon
3b30: 6a 20 21 3d 3d 20 22 22 29 20 7b 0a 20 20 20 20  j !== "") {.    
3b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3b50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3b60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3b70: 74 68 69 73 2e 6c 46 6c 65 78 69 6f 6e 2e 70 75  this.lFlexion.pu
3b80: 73 68 28 5b 73 43 6f 6e 6a 2c 20 22 3a 56 22 20  sh([sConj, ":V" 
3b90: 2b 20 6f 56 65 72 62 2e 63 47 72 6f 75 70 20 2b  + oVerb.cGroup +
3ba0: 20 22 5f 22 20 2b 20 73 56 65 72 62 54 61 67 20   "_" + sVerbTag 
3bb0: 2b 20 73 54 61 67 31 20 2b 20 73 54 61 67 32 5d  + sTag1 + sTag2]
3bc0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
3bd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3be0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3bf0: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20     }.           
3c00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3c20: 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   }.             
3c30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3c40: 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73             } els
3c50: 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  e {.            
3c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3c80: 2f 2f 20 70 61 72 74 69 63 69 70 65 73 20 70 61  // participes pa
3c90: 73 73 c3 a9 73 0a 20 20 20 20 20 20 20 20 20 20  ss..s.          
3ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3cb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3cc0: 20 20 69 66 20 28 64 46 6c 65 78 2e 67 65 74 28    if (dFlex.get(
3cd0: 22 3a 51 33 22 29 20 21 3d 3d 20 22 22 29 20 7b  ":Q3") !== "") {
3ce0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
3cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3d10: 20 69 66 20 28 64 46 6c 65 78 2e 67 65 74 28 22   if (dFlex.get("
3d20: 3a 51 32 22 29 20 21 3d 3d 20 22 22 29 20 7b 0a  :Q2") !== "") {.
3d30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3d60: 20 20 20 20 74 68 69 73 2e 6c 46 6c 65 78 69 6f      this.lFlexio
3d70: 6e 2e 70 75 73 68 28 5b 64 46 6c 65 78 2e 67 65  n.push([dFlex.ge
3d80: 74 28 22 3a 51 31 22 29 2c 20 22 3a 56 22 20 2b  t(":Q1"), ":V" +
3d90: 20 6f 56 65 72 62 2e 63 47 72 6f 75 70 20 2b 20   oVerb.cGroup + 
3da0: 22 5f 22 20 2b 20 73 56 65 72 62 54 61 67 20 2b  "_" + sVerbTag +
3db0: 20 22 3a 51 3a 41 3a 6d 3a 73 2f 2a 22 5d 29 3b   ":Q:A:m:s/*"]);
3dc0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
3dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3df0: 20 20 20 20 20 74 68 69 73 2e 6c 46 6c 65 78 69       this.lFlexi
3e00: 6f 6e 2e 70 75 73 68 28 5b 64 46 6c 65 78 2e 67  on.push([dFlex.g
3e10: 65 74 28 22 3a 51 32 22 29 2c 20 22 3a 56 22 20  et(":Q2"), ":V" 
3e20: 2b 20 6f 56 65 72 62 2e 63 47 72 6f 75 70 20 2b  + oVerb.cGroup +
3e30: 20 22 5f 22 20 2b 20 73 56 65 72 62 54 61 67 20   "_" + sVerbTag 
3e40: 2b 20 22 3a 51 3a 41 3a 6d 3a 70 2f 2a 22 5d 29  + ":Q:A:m:p/*"])
3e50: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
3e60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3e70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3e80: 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20    } else {.     
3e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3ea0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74                 t
3ec0: 68 69 73 2e 6c 46 6c 65 78 69 6f 6e 2e 70 75 73  his.lFlexion.pus
3ed0: 68 28 5b 64 46 6c 65 78 2e 67 65 74 28 22 3a 51  h([dFlex.get(":Q
3ee0: 31 22 29 2c 20 22 3a 56 22 20 2b 20 6f 56 65 72  1"), ":V" + oVer
3ef0: 62 2e 63 47 72 6f 75 70 20 2b 20 22 5f 22 20 2b  b.cGroup + "_" +
3f00: 20 73 56 65 72 62 54 61 67 20 2b 20 22 3a 51 3a   sVerbTag + ":Q:
3f10: 41 3a 6d 3a 69 2f 2a 22 5d 29 3b 0a 20 20 20 20  A:m:i/*"]);.    
3f20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3f40: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20              }.  
3f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3f60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3f70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68                th
3f80: 69 73 2e 6c 46 6c 65 78 69 6f 6e 2e 70 75 73 68  is.lFlexion.push
3f90: 28 5b 64 46 6c 65 78 2e 67 65 74 28 22 3a 51 33  ([dFlex.get(":Q3
3fa0: 22 29 2c 20 22 3a 56 22 20 2b 20 6f 56 65 72 62  "), ":V" + oVerb
3fb0: 2e 63 47 72 6f 75 70 20 2b 20 22 5f 22 20 2b 20  .cGroup + "_" + 
3fc0: 73 56 65 72 62 54 61 67 20 2b 20 22 3a 51 3a 41  sVerbTag + ":Q:A
3fd0: 3a 66 3a 73 2f 2a 22 5d 29 3b 0a 20 20 20 20 20  :f:s/*"]);.     
3fe0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3ff0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4000: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e             this.
4010: 6c 46 6c 65 78 69 6f 6e 2e 70 75 73 68 28 5b 64  lFlexion.push([d
4020: 46 6c 65 78 2e 67 65 74 28 22 3a 51 34 22 29 2c  Flex.get(":Q4"),
4030: 20 22 3a 56 22 20 2b 20 6f 56 65 72 62 2e 63 47   ":V" + oVerb.cG
4040: 72 6f 75 70 20 2b 20 22 5f 22 20 2b 20 73 56 65  roup + "_" + sVe
4050: 72 62 54 61 67 20 2b 20 22 3a 51 3a 41 3a 66 3a  rbTag + ":Q:A:f:
4060: 70 2f 2a 22 5d 29 3b 0a 20 20 20 20 20 20 20 20  p/*"]);.        
4070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4090: 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20      } else {.   
40a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
40b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
40c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69               thi
40d0: 73 2e 6c 46 6c 65 78 69 6f 6e 2e 70 75 73 68 28  s.lFlexion.push(
40e0: 5b 64 46 6c 65 78 2e 67 65 74 28 22 3a 51 31 22  [dFlex.get(":Q1"
40f0: 29 2c 20 22 3a 56 22 20 2b 20 6f 56 65 72 62 2e  ), ":V" + oVerb.
4100: 63 47 72 6f 75 70 20 2b 20 22 5f 22 20 2b 20 73  cGroup + "_" + s
4110: 56 65 72 62 54 61 67 20 2b 20 22 3a 51 3a 65 3a  VerbTag + ":Q:e:
4120: 69 2f 2a 22 5d 29 3b 0a 20 20 20 20 20 20 20 20  i/*"]);.        
4130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4150: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20      }.          
4160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a                }.
4180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
41a0: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20      }.          
41b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
41c0: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
41d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
41e0: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20      }.          
41f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a                }.
4200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4210: 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20          break;. 
4220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4230: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20     }.           
4240: 20 20 20 20 20 20 20 20 20 63 61 73 65 20 22 57           case "W
4250: 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ":.             
4260: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e             this.
4270: 73 4c 65 6d 6d 61 20 3d 20 74 68 69 73 2e 73 4c  sLemma = this.sL
4280: 65 6d 6d 61 2e 74 6f 4c 6f 77 65 72 43 61 73 65  emma.toLowerCase
4290: 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ();.            
42a0: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
42b0: 2e 6c 46 6c 65 78 69 6f 6e 2e 70 75 73 68 28 5b  .lFlexion.push([
42c0: 74 68 69 73 2e 73 4c 65 6d 6d 61 2c 20 22 3a 57  this.sLemma, ":W
42d0: 2f 2a 22 5d 29 3b 0a 20 20 20 20 20 20 20 20 20  /*"]);.         
42e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62                 b
42f0: 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20  reak;.          
4300: 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 22            case "
4310: 4d 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20  M":.            
4320: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73              this
4330: 2e 73 4c 65 6d 6d 61 20 3d 20 74 68 69 73 2e 73  .sLemma = this.s
4340: 4c 65 6d 6d 61 2e 73 6c 69 63 65 28 30 2c 31 29  Lemma.slice(0,1)
4350: 2e 74 6f 55 70 70 65 72 43 61 73 65 28 29 20 2b  .toUpperCase() +
4360: 20 74 68 69 73 2e 73 4c 65 6d 6d 61 2e 73 6c 69   this.sLemma.sli
4370: 63 65 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20  ce(1);.         
4380: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c                 l
4390: 65 74 20 73 50 4f 53 54 61 67 20 3d 20 74 68 69  et sPOSTag = thi
43a0: 73 2e 67 65 74 52 61 64 69 6f 56 61 6c 75 65 28  s.getRadioValue(
43b0: 22 70 6f 73 5f 6e 6f 6d 5f 70 72 6f 70 72 65 22  "pos_nom_propre"
43c0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
43d0: 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 73 47            let sG
43e0: 65 6e 64 65 72 54 61 67 20 3d 20 74 68 69 73 2e  enderTag = this.
43f0: 67 65 74 52 61 64 69 6f 56 61 6c 75 65 28 22 67  getRadioValue("g
4400: 65 6e 72 65 5f 6d 22 29 3b 0a 20 20 20 20 20 20  enre_m");.      
4410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4420: 20 20 69 66 20 28 73 47 65 6e 64 65 72 54 61 67    if (sGenderTag
4430: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ) {.            
4440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4450: 74 68 69 73 2e 6c 46 6c 65 78 69 6f 6e 2e 70 75  this.lFlexion.pu
4460: 73 68 28 5b 74 68 69 73 2e 73 4c 65 6d 6d 61 2c  sh([this.sLemma,
4470: 20 73 50 4f 53 54 61 67 2b 73 47 65 6e 64 65 72   sPOSTag+sGender
4480: 54 61 67 2b 22 3a 69 2f 2a 22 5d 29 3b 0a 20 20  Tag+":i/*"]);.  
4490: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
44a0: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
44b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
44c0: 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20  break;.         
44d0: 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20             case 
44e0: 22 58 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20  "X":.           
44f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74               let
4500: 20 73 46 6c 65 78 69 6f 6e 20 3d 20 64 6f 63 75   sFlexion = docu
4510: 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42  ment.getElementB
4520: 79 49 64 28 22 66 6c 65 78 69 6f 6e 22 29 2e 76  yId("flexion").v
4530: 61 6c 75 65 2e 74 72 69 6d 28 29 3b 0a 20 20 20  alue.trim();.   
4540: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4550: 20 20 20 20 20 6c 65 74 20 73 54 61 67 73 20 3d       let sTags =
4560: 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65   document.getEle
4570: 6d 65 6e 74 42 79 49 64 28 22 74 61 67 73 22 29  mentById("tags")
4580: 2e 76 61 6c 75 65 2e 74 72 69 6d 28 29 3b 0a 20  .value.trim();. 
4590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
45a0: 20 20 20 20 20 20 20 69 66 20 28 73 46 6c 65 78         if (sFlex
45b0: 69 6f 6e 2e 6c 65 6e 67 74 68 20 3e 20 30 20 26  ion.length > 0 &
45c0: 26 20 73 54 61 67 73 2e 73 74 61 72 74 73 57 69  & sTags.startsWi
45d0: 74 68 28 22 3a 22 29 29 20 7b 0a 20 20 20 20 20  th(":")) {.     
45e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
45f0: 20 20 20 20 20 20 20 74 68 69 73 2e 6c 46 6c 65         this.lFle
4600: 78 69 6f 6e 2e 70 75 73 68 28 5b 73 46 6c 65 78  xion.push([sFlex
4610: 69 6f 6e 2c 20 73 54 61 67 73 5d 29 3b 0a 20 20  ion, sTags]);.  
4620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4630: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
4640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
4650: 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20  break;.         
4660: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20         }.       
4670: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20       }.         
4680: 20 20 20 69 66 20 28 74 68 69 73 2e 6c 46 6c 65     if (this.lFle
4690: 78 69 6f 6e 2e 6c 65 6e 67 74 68 20 3e 20 30 29  xion.length > 0)
46a0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   {.             
46b0: 20 20 20 73 68 6f 77 45 6c 65 6d 65 6e 74 28 22     showElement("
46c0: 61 64 64 5f 74 6f 5f 6c 65 78 69 63 6f 6e 22 29  add_to_lexicon")
46d0: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20  ;.            } 
46e0: 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20  else {.         
46f0: 20 20 20 20 20 20 20 68 69 64 65 45 6c 65 6d 65         hideEleme
4700: 6e 74 28 22 61 64 64 5f 74 6f 5f 6c 65 78 69 63  nt("add_to_lexic
4710: 6f 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20  on");.          
4720: 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20    }.            
4730: 6f 47 65 6e 57 6f 72 64 73 54 61 62 6c 65 2e 66  oGenWordsTable.f
4740: 69 6c 6c 28 74 68 69 73 2e 6c 46 6c 65 78 69 6f  ill(this.lFlexio
4750: 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20  n);.        }.  
4760: 20 20 20 20 20 20 63 61 74 63 68 20 28 65 29 20        catch (e) 
4770: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 68  {.            sh
4780: 6f 77 45 72 72 6f 72 28 65 29 3b 0a 20 20 20 20  owError(e);.    
4790: 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a 0a 20 20      }.    },..  
47a0: 20 20 67 65 74 52 61 64 69 6f 56 61 6c 75 65 3a    getRadioValue:
47b0: 20 66 75 6e 63 74 69 6f 6e 20 28 73 4e 61 6d 65   function (sName
47c0: 29 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28  ) {.        if (
47d0: 64 6f 63 75 6d 65 6e 74 2e 71 75 65 72 79 53 65  document.querySe
47e0: 6c 65 63 74 6f 72 28 27 69 6e 70 75 74 5b 6e 61  lector('input[na
47f0: 6d 65 3d 22 27 20 2b 20 73 4e 61 6d 65 20 2b 20  me="' + sName + 
4800: 27 22 5d 3a 63 68 65 63 6b 65 64 27 29 29 20 7b  '"]:checked')) {
4810: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74  .            ret
4820: 75 72 6e 20 64 6f 63 75 6d 65 6e 74 2e 71 75 65  urn document.que
4830: 72 79 53 65 6c 65 63 74 6f 72 28 27 69 6e 70 75  rySelector('inpu
4840: 74 5b 6e 61 6d 65 3d 22 27 20 2b 20 73 4e 61 6d  t[name="' + sNam
4850: 65 20 2b 20 27 22 5d 3a 63 68 65 63 6b 65 64 27  e + '"]:checked'
4860: 29 2e 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20  ).value;.       
4870: 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72   }.        retur
4880: 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d 2c 0a 0a  n null;.    },..
4890: 20 20 20 20 63 72 65 61 74 65 46 6c 65 78 4c 65      createFlexLe
48a0: 6d 6d 61 54 61 67 41 72 72 61 79 3a 20 66 75 6e  mmaTagArray: fun
48b0: 63 74 69 6f 6e 20 28 29 20 7b 0a 20 20 20 20 20  ction () {.     
48c0: 20 20 20 6c 65 74 20 6c 45 6e 74 72 79 20 3d 20     let lEntry = 
48d0: 5b 5d 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20  [];.        for 
48e0: 28 6c 65 74 20 5b 73 46 6c 65 78 2c 20 73 54 61  (let [sFlex, sTa
48f0: 67 73 5d 20 6f 66 20 6f 47 65 6e 57 6f 72 64 73  gs] of oGenWords
4900: 54 61 62 6c 65 2e 67 65 74 45 6e 74 72 69 65 73  Table.getEntries
4910: 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20  ()) {.          
4920: 20 20 6c 45 6e 74 72 79 2e 70 75 73 68 28 5b 73    lEntry.push([s
4930: 46 6c 65 78 2c 20 74 68 69 73 2e 73 4c 65 6d 6d  Flex, this.sLemm
4940: 61 2c 20 73 54 61 67 73 5d 29 3b 0a 20 20 20 20  a, sTags]);.    
4950: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65      }.        re
4960: 74 75 72 6e 20 6c 45 6e 74 72 79 3b 0a 20 20 20  turn lEntry;.   
4970: 20 7d 2c 0a 0a 20 20 20 20 61 64 64 54 6f 4c 65   },..    addToLe
4980: 78 69 63 6f 6e 3a 20 66 75 6e 63 74 69 6f 6e 20  xicon: function 
4990: 28 29 20 7b 0a 20 20 20 20 20 20 20 20 74 72 79  () {.        try
49a0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f   {.            o
49b0: 4c 65 78 69 63 6f 6e 54 61 62 6c 65 2e 61 64 64  LexiconTable.add
49c0: 45 6e 74 72 69 65 73 28 74 68 69 73 2e 63 72 65  Entries(this.cre
49d0: 61 74 65 46 6c 65 78 4c 65 6d 6d 61 54 61 67 41  ateFlexLemmaTagA
49e0: 72 72 61 79 28 29 29 3b 0a 20 20 20 20 20 20 20  rray());.       
49f0: 20 20 20 20 20 6f 47 65 6e 57 6f 72 64 73 54 61       oGenWordsTa
4a00: 62 6c 65 2e 63 6c 65 61 72 28 29 3b 0a 20 20 20  ble.clear();.   
4a10: 20 20 20 20 20 20 20 20 20 64 6f 63 75 6d 65 6e           documen
4a20: 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64  t.getElementById
4a30: 28 22 6c 65 6d 6d 61 22 29 2e 76 61 6c 75 65 20  ("lemma").value 
4a40: 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 20 20  = "";.          
4a50: 20 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c    document.getEl
4a60: 65 6d 65 6e 74 42 79 49 64 28 22 6c 65 6d 6d 61  ementById("lemma
4a70: 22 29 2e 66 6f 63 75 73 28 29 3b 0a 20 20 20 20  ").focus();.    
4a80: 20 20 20 20 20 20 20 20 74 68 69 73 2e 68 69 64          this.hid
4a90: 65 41 6c 6c 53 65 63 74 69 6f 6e 73 28 29 3b 0a  eAllSections();.
4aa0: 20 20 20 20 20 20 20 20 20 20 20 20 68 69 64 65              hide
4ab0: 45 6c 65 6d 65 6e 74 28 22 65 64 69 74 6f 72 22  Element("editor"
4ac0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73  );.            s
4ad0: 68 6f 77 45 6c 65 6d 65 6e 74 28 22 73 61 76 65  howElement("save
4ae0: 5f 62 75 74 74 6f 6e 22 29 3b 0a 20 20 20 20 20  _button");.     
4af0: 20 20 20 20 20 20 20 74 68 69 73 2e 63 6c 65 61         this.clea
4b00: 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20  r();.           
4b10: 20 74 68 69 73 2e 63 4d 61 69 6e 54 61 67 20 3d   this.cMainTag =
4b20: 20 22 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20   "";.        }. 
4b30: 20 20 20 20 20 20 20 63 61 74 63 68 20 28 65 29         catch (e)
4b40: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73   {.            s
4b50: 68 6f 77 45 72 72 6f 72 28 65 29 3b 0a 20 20 20  howError(e);.   
4b60: 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a       }.    }.}..
4b70: 0a 63 6f 6e 73 74 20 6f 42 69 6e 61 72 79 44 69  .const oBinaryDi
4b80: 63 74 20 3d 20 7b 0a 20 20 20 20 0a 20 20 20 20  ct = {.    .    
4b90: 6f 49 42 44 41 57 47 3a 20 6e 75 6c 6c 2c 0a 0a  oIBDAWG: null,..
4ba0: 20 20 20 20 6c 6f 61 64 3a 20 66 75 6e 63 74 69      load: functi
4bb0: 6f 6e 20 28 29 20 7b 0a 20 20 20 20 20 20 20 20  on () {.        
4bc0: 69 66 20 28 62 43 68 72 6f 6d 65 29 20 7b 0a 20  if (bChrome) {. 
4bd0: 20 20 20 20 20 20 20 20 20 20 20 62 72 6f 77 73             brows
4be0: 65 72 2e 73 74 6f 72 61 67 65 2e 6c 6f 63 61 6c  er.storage.local
4bf0: 2e 67 65 74 28 22 6f 50 65 72 73 6f 6e 61 6c 44  .get("oPersonalD
4c00: 69 63 74 69 6f 6e 61 72 79 22 2c 20 74 68 69 73  ictionary", this
4c10: 2e 5f 6c 6f 61 64 29 3b 0a 20 20 20 20 20 20 20  ._load);.       
4c20: 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20       return;.   
4c30: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 6c       }.        l
4c40: 65 74 20 78 50 72 6f 6d 69 73 65 20 3d 20 62 72  et xPromise = br
4c50: 6f 77 73 65 72 2e 73 74 6f 72 61 67 65 2e 6c 6f  owser.storage.lo
4c60: 63 61 6c 2e 67 65 74 28 22 6f 50 65 72 73 6f 6e  cal.get("oPerson
4c70: 61 6c 44 69 63 74 69 6f 6e 61 72 79 22 29 3b 0a  alDictionary");.
4c80: 20 20 20 20 20 20 20 20 78 50 72 6f 6d 69 73 65          xPromise
4c90: 2e 74 68 65 6e 28 74 68 69 73 2e 5f 6c 6f 61 64  .then(this._load
4ca0: 2e 62 69 6e 64 28 74 68 69 73 29 2c 20 73 68 6f  .bind(this), sho
4cb0: 77 45 72 72 6f 72 29 3b 0a 20 20 20 20 7d 2c 0a  wError);.    },.
4cc0: 0a 20 20 20 20 5f 6c 6f 61 64 3a 20 66 75 6e 63  .    _load: func
4cd0: 74 69 6f 6e 20 28 6f 52 65 73 75 6c 74 29 20 7b  tion (oResult) {
4ce0: 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 6f 52  .        if (!oR
4cf0: 65 73 75 6c 74 2e 68 61 73 4f 77 6e 50 72 6f 70  esult.hasOwnProp
4d00: 65 72 74 79 28 22 6f 50 65 72 73 6f 6e 61 6c 44  erty("oPersonalD
4d10: 69 63 74 69 6f 6e 61 72 79 22 29 29 20 7b 0a 20  ictionary")) {. 
4d20: 20 20 20 20 20 20 20 20 20 20 20 68 69 64 65 45             hideE
4d30: 6c 65 6d 65 6e 74 28 22 65 78 70 6f 72 74 5f 62  lement("export_b
4d40: 75 74 74 6f 6e 22 29 3b 0a 20 20 20 20 20 20 20  utton");.       
4d50: 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20       return;.   
4d60: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 6c       }.        l
4d70: 65 74 20 6f 4a 53 4f 4e 20 3d 20 6f 52 65 73 75  et oJSON = oResu
4d80: 6c 74 2e 6f 50 65 72 73 6f 6e 61 6c 44 69 63 74  lt.oPersonalDict
4d90: 69 6f 6e 61 72 79 3b 0a 20 20 20 20 20 20 20 20  ionary;.        
4da0: 74 68 69 73 2e 6f 49 42 44 41 57 47 20 3d 20 6e  this.oIBDAWG = n
4db0: 65 77 20 49 42 44 41 57 47 28 6f 4a 53 4f 4e 29  ew IBDAWG(oJSON)
4dc0: 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 6c 45  ;.        let lE
4dd0: 6e 74 72 79 20 3d 20 5b 5d 3b 0a 20 20 20 20 20  ntry = [];.     
4de0: 20 20 20 66 6f 72 20 28 6c 65 74 20 61 52 65 73     for (let aRes
4df0: 20 6f 66 20 74 68 69 73 2e 6f 49 42 44 41 57 47   of this.oIBDAWG
4e00: 2e 73 65 6c 65 63 74 28 29 29 20 7b 0a 20 20 20  .select()) {.   
4e10: 20 20 20 20 20 20 20 20 20 6c 45 6e 74 72 79 2e           lEntry.
4e20: 70 75 73 68 28 61 52 65 73 29 3b 0a 20 20 20 20  push(aRes);.    
4e30: 20 20 20 20 7d 20 20 20 20 20 20 20 20 0a 20 20      }        .  
4e40: 20 20 20 20 20 20 6f 4c 65 78 69 63 6f 6e 54 61        oLexiconTa
4e50: 62 6c 65 2e 66 69 6c 6c 28 6c 45 6e 74 72 79 29  ble.fill(lEntry)
4e60: 3b 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 73  ;.        this.s
4e70: 65 74 44 69 63 74 44 61 74 61 28 74 68 69 73 2e  etDictData(this.
4e80: 6f 49 42 44 41 57 47 2e 6e 45 6e 74 72 79 2c 20  oIBDAWG.nEntry, 
4e90: 74 68 69 73 2e 6f 49 42 44 41 57 47 2e 73 44 61  this.oIBDAWG.sDa
4ea0: 74 65 29 3b 0a 20 20 20 20 20 20 20 20 73 68 6f  te);.        sho
4eb0: 77 45 6c 65 6d 65 6e 74 28 22 65 78 70 6f 72 74  wElement("export
4ec0: 5f 62 75 74 74 6f 6e 22 29 3b 0a 20 20 20 20 7d  _button");.    }
4ed0: 2c 0a 0a 20 20 20 20 73 65 74 44 69 63 74 44 61  ,..    setDictDa
4ee0: 74 61 3a 20 66 75 6e 63 74 69 6f 6e 20 28 6e 45  ta: function (nE
4ef0: 6e 74 72 69 65 73 2c 20 73 44 61 74 65 29 20 7b  ntries, sDate) {
4f00: 0a 20 20 20 20 20 20 20 20 64 6f 63 75 6d 65 6e  .        documen
4f10: 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64  t.getElementById
4f20: 28 22 64 69 63 5f 6e 75 6d 5f 65 6e 74 72 69 65  ("dic_num_entrie
4f30: 73 22 29 2e 74 65 78 74 43 6f 6e 74 65 6e 74 20  s").textContent 
4f40: 3d 20 6e 45 6e 74 72 69 65 73 3b 0a 20 20 20 20  = nEntries;.    
4f50: 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74      document.get
4f60: 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 64 69 63  ElementById("dic
4f70: 5f 73 61 76 65 5f 64 61 74 65 22 29 2e 74 65 78  _save_date").tex
4f80: 74 43 6f 6e 74 65 6e 74 20 3d 20 73 44 61 74 65  tContent = sDate
4f90: 3b 0a 20 20 20 20 7d 2c 0a 0a 20 20 20 20 6c 69  ;.    },..    li
4fa0: 73 74 65 6e 3a 20 66 75 6e 63 74 69 6f 6e 20 28  sten: function (
4fb0: 29 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 63 75  ) {.        docu
4fc0: 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42  ment.getElementB
4fd0: 79 49 64 28 22 73 61 76 65 5f 62 75 74 74 6f 6e  yId("save_button
4fe0: 22 29 2e 61 64 64 45 76 65 6e 74 4c 69 73 74 65  ").addEventListe
4ff0: 6e 65 72 28 22 63 6c 69 63 6b 22 2c 20 28 29 20  ner("click", () 
5000: 3d 3e 20 7b 20 74 68 69 73 2e 62 75 69 6c 64 28  => { this.build(
5010: 29 3b 20 7d 2c 20 66 61 6c 73 65 29 3b 0a 20 20  ); }, false);.  
5020: 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 67        document.g
5030: 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 65  etElementById("e
5040: 78 70 6f 72 74 5f 62 75 74 74 6f 6e 22 29 2e 61  xport_button").a
5050: 64 64 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 28  ddEventListener(
5060: 22 63 6c 69 63 6b 22 2c 20 28 29 20 3d 3e 20 7b  "click", () => {
5070: 20 74 68 69 73 2e 65 78 70 6f 72 74 28 29 3b 20   this.export(); 
5080: 7d 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20  }, false);.     
5090: 20 20 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45     document.getE
50a0: 6c 65 6d 65 6e 74 42 79 49 64 28 22 69 6d 70 6f  lementById("impo
50b0: 72 74 5f 62 75 74 74 6f 6e 22 29 2e 61 64 64 45  rt_button").addE
50c0: 76 65 6e 74 4c 69 73 74 65 6e 65 72 28 22 63 6c  ventListener("cl
50d0: 69 63 6b 22 2c 20 28 29 20 3d 3e 20 7b 20 74 68  ick", () => { th
50e0: 69 73 2e 69 6d 70 6f 72 74 28 29 3b 20 7d 2c 20  is.import(); }, 
50f0: 66 61 6c 73 65 29 3b 0a 20 20 20 20 7d 2c 0a 0a  false);.    },..
5100: 20 20 20 20 62 75 69 6c 64 3a 20 66 75 6e 63 74      build: funct
5110: 69 6f 6e 20 28 29 20 7b 0a 20 20 20 20 20 20 20  ion () {.       
5120: 20 6c 65 74 20 78 50 72 6f 67 72 65 73 73 4e 6f   let xProgressNo
5130: 64 65 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65  de = document.ge
5140: 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 77 61  tElementById("wa
5150: 69 74 5f 70 72 6f 67 72 65 73 73 22 29 3b 0a 20  it_progress");. 
5160: 20 20 20 20 20 20 20 6c 65 74 20 6c 45 6e 74 72         let lEntr
5170: 79 20 3d 20 6f 4c 65 78 69 63 6f 6e 54 61 62 6c  y = oLexiconTabl
5180: 65 2e 67 65 74 45 6e 74 72 69 65 73 28 29 3b 0a  e.getEntries();.
5190: 20 20 20 20 20 20 20 20 69 66 20 28 6c 45 6e 74          if (lEnt
51a0: 72 79 2e 6c 65 6e 67 74 68 20 3e 20 30 29 20 7b  ry.length > 0) {
51b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74  .            let
51c0: 20 6f 44 41 57 47 20 3d 20 6e 65 77 20 44 41 57   oDAWG = new DAW
51d0: 47 28 6c 45 6e 74 72 79 2c 20 22 53 22 2c 20 22  G(lEntry, "S", "
51e0: 66 72 22 2c 20 22 46 72 61 6e c3 a7 61 69 73 22  fr", "Fran..ais"
51f0: 2c 20 22 44 69 63 74 69 6f 6e 6e 61 69 72 65 20  , "Dictionnaire 
5200: 70 65 72 73 6f 6e 6e 65 6c 22 2c 20 78 50 72 6f  personnel", xPro
5210: 67 72 65 73 73 4e 6f 64 65 29 3b 0a 20 20 20 20  gressNode);.    
5220: 20 20 20 20 20 20 20 20 6c 65 74 20 6f 4a 53 4f          let oJSO
5230: 4e 20 3d 20 6f 44 41 57 47 2e 63 72 65 61 74 65  N = oDAWG.create
5240: 42 69 6e 61 72 79 4a 53 4f 4e 28 31 29 3b 0a 20  BinaryJSON(1);. 
5250: 20 20 20 20 20 20 20 20 20 20 20 62 72 6f 77 73             brows
5260: 65 72 2e 73 74 6f 72 61 67 65 2e 6c 6f 63 61 6c  er.storage.local
5270: 2e 73 65 74 28 7b 20 22 6f 50 65 72 73 6f 6e 61  .set({ "oPersona
5280: 6c 44 69 63 74 69 6f 6e 61 72 79 22 3a 20 6f 4a  lDictionary": oJ
5290: 53 4f 4e 20 7d 29 3b 0a 20 20 20 20 20 20 20 20  SON });.        
52a0: 20 20 20 20 74 68 69 73 2e 6f 49 42 44 41 57 47      this.oIBDAWG
52b0: 20 3d 20 6e 65 77 20 49 42 44 41 57 47 28 6f 4a   = new IBDAWG(oJ
52c0: 53 4f 4e 29 3b 0a 20 20 20 20 20 20 20 20 20 20  SON);.          
52d0: 20 20 74 68 69 73 2e 73 65 74 44 69 63 74 44 61    this.setDictDa
52e0: 74 61 28 74 68 69 73 2e 6f 49 42 44 41 57 47 2e  ta(this.oIBDAWG.
52f0: 6e 45 6e 74 72 79 2c 20 74 68 69 73 2e 6f 49 42  nEntry, this.oIB
5300: 44 41 57 47 2e 73 44 61 74 65 29 3b 0a 20 20 20  DAWG.sDate);.   
5310: 20 20 20 20 20 20 20 20 20 62 72 6f 77 73 65 72           browser
5320: 2e 72 75 6e 74 69 6d 65 2e 73 65 6e 64 4d 65 73  .runtime.sendMes
5330: 73 61 67 65 28 7b 20 73 43 6f 6d 6d 61 6e 64 3a  sage({ sCommand:
5340: 20 22 73 65 74 44 69 63 74 69 6f 6e 61 72 79 22   "setDictionary"
5350: 2c 20 64 50 61 72 61 6d 3a 20 7b 73 54 79 70 65  , dParam: {sType
5360: 3a 20 22 70 65 72 73 6f 6e 61 6c 22 2c 20 6f 44  : "personal", oD
5370: 69 63 74 3a 20 6f 4a 53 4f 4e 7d 2c 20 64 49 6e  ict: oJSON}, dIn
5380: 66 6f 3a 20 7b 7d 20 7d 29 3b 0a 20 20 20 20 20  fo: {} });.     
5390: 20 20 20 20 20 20 20 73 68 6f 77 45 6c 65 6d 65         showEleme
53a0: 6e 74 28 22 65 78 70 6f 72 74 5f 62 75 74 74 6f  nt("export_butto
53b0: 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65  n");.        } e
53c0: 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20  lse {.          
53d0: 20 20 74 68 69 73 2e 73 65 74 44 69 63 74 44 61    this.setDictDa
53e0: 74 61 28 30 2c 20 22 5b 6e c3 a9 61 6e 74 5d 22  ta(0, "[n..ant]"
53f0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62  );.            b
5400: 72 6f 77 73 65 72 2e 73 74 6f 72 61 67 65 2e 6c  rowser.storage.l
5410: 6f 63 61 6c 2e 73 65 74 28 7b 20 22 6f 50 65 72  ocal.set({ "oPer
5420: 73 6f 6e 61 6c 44 69 63 74 69 6f 6e 61 72 79 22  sonalDictionary"
5430: 3a 20 22 22 20 7d 29 3b 0a 20 20 20 20 20 20 20  : "" });.       
5440: 20 20 20 20 20 62 72 6f 77 73 65 72 2e 72 75 6e       browser.run
5450: 74 69 6d 65 2e 73 65 6e 64 4d 65 73 73 61 67 65  time.sendMessage
5460: 28 7b 20 73 43 6f 6d 6d 61 6e 64 3a 20 22 73 65  ({ sCommand: "se
5470: 74 44 69 63 74 69 6f 6e 61 72 79 22 2c 20 64 50  tDictionary", dP
5480: 61 72 61 6d 3a 20 7b 73 54 79 70 65 3a 20 22 70  aram: {sType: "p
5490: 65 72 73 6f 6e 61 6c 22 2c 20 6f 44 69 63 74 3a  ersonal", oDict:
54a0: 20 6e 75 6c 6c 7d 2c 20 64 49 6e 66 6f 3a 20 7b   null}, dInfo: {
54b0: 7d 20 7d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a  } });.        }.
54c0: 20 20 20 20 7d 2c 0a 0a 20 20 20 20 69 6d 70 6f      },..    impo
54d0: 72 74 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29 20  rt: function () 
54e0: 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 6f 6c  {.        consol
54f0: 65 2e 6c 6f 67 28 22 69 6d 70 6f 72 74 22 29 3b  e.log("import");
5500: 0a 20 20 20 20 7d 2c 0a 0a 20 20 20 20 65 78 70  .    },..    exp
5510: 6f 72 74 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29  ort: function ()
5520: 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 78   {.        let x
5530: 42 6c 6f 62 20 3d 20 6e 65 77 20 42 6c 6f 62 28  Blob = new Blob(
5540: 5b 20 4a 53 4f 4e 2e 73 74 72 69 6e 67 69 66 79  [ JSON.stringify
5550: 28 74 68 69 73 2e 6f 49 42 44 41 57 47 2e 67 65  (this.oIBDAWG.ge
5560: 74 4a 53 4f 4e 28 29 29 20 5d 2c 20 7b 74 79 70  tJSON()) ], {typ
5570: 65 3a 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f  e: 'application/
5580: 6a 73 6f 6e 27 7d 29 3b 20 0a 20 20 20 20 20 20  json'}); .      
5590: 20 20 6c 65 74 20 73 55 52 4c 20 3d 20 55 52 4c    let sURL = URL
55a0: 2e 63 72 65 61 74 65 4f 62 6a 65 63 74 55 52 4c  .createObjectURL
55b0: 28 78 42 6c 6f 62 29 3b 0a 20 20 20 20 20 20 20  (xBlob);.       
55c0: 20 62 72 6f 77 73 65 72 2e 64 6f 77 6e 6c 6f 61   browser.downloa
55d0: 64 73 2e 64 6f 77 6e 6c 6f 61 64 28 7b 20 66 69  ds.download({ fi
55e0: 6c 65 6e 61 6d 65 3a 20 22 66 72 2e 70 65 72 73  lename: "fr.pers
55f0: 6f 6e 61 6c 2e 6a 73 6f 6e 22 2c 20 75 72 6c 3a  onal.json", url:
5600: 20 73 55 52 4c 2c 20 73 61 76 65 41 73 3a 20 74   sURL, saveAs: t
5610: 72 75 65 20 7d 29 3b 0a 20 20 20 20 7d 0a 7d 0a  rue });.    }.}.
5620: 0a 0a 63 6f 6e 73 74 20 6f 53 65 61 72 63 68 20  ..const oSearch 
5630: 3d 20 7b 0a 0a 20 20 20 20 6f 53 70 65 6c 6c 43  = {..    oSpellC
5640: 68 65 63 6b 65 72 3a 20 6e 75 6c 6c 2c 0a 0a 20  hecker: null,.. 
5650: 20 20 20 6c 6f 61 64 3a 20 66 75 6e 63 74 69 6f     load: functio
5660: 6e 20 28 29 20 7b 0a 20 20 20 20 20 20 20 20 74  n () {.        t
5670: 68 69 73 2e 6f 53 70 65 6c 6c 43 68 65 63 6b 65  his.oSpellChecke
5680: 72 20 3d 20 6e 65 77 20 53 70 65 6c 6c 43 68 65  r = new SpellChe
5690: 63 6b 65 72 28 22 66 72 22 2c 20 62 72 6f 77 73  cker("fr", brows
56a0: 65 72 2e 65 78 74 65 6e 73 69 6f 6e 2e 67 65 74  er.extension.get
56b0: 55 52 4c 28 22 22 29 2b 22 67 72 61 6d 6d 61 6c  URL("")+"grammal
56c0: 65 63 74 65 2f 67 72 61 70 68 73 70 65 6c 6c 2f  ecte/graphspell/
56d0: 5f 64 69 63 74 69 6f 6e 61 72 69 65 73 22 2c 20  _dictionaries", 
56e0: 22 66 72 2e 6a 73 6f 6e 22 29 3b 0a 20 20 20 20  "fr.json");.    
56f0: 7d 2c 0a 0a 20 20 20 20 6c 6f 61 64 4f 74 68 65  },..    loadOthe
5700: 72 44 69 63 74 69 6f 6e 61 72 69 65 73 3a 20 66  rDictionaries: f
5710: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 20 20 20  unction () {.   
5720: 20 20 20 20 20 2f 2f 54 4f 44 4f 0a 20 20 20 20       //TODO.    
5730: 7d 2c 0a 0a 20 20 20 20 6c 69 73 74 65 6e 3a 20  },..    listen: 
5740: 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 20 20  function () {.  
5750: 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 67        document.g
5760: 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 73  etElementById("s
5770: 65 61 72 63 68 5f 73 69 6d 69 6c 61 72 5f 62 75  earch_similar_bu
5780: 74 74 6f 6e 22 29 2e 61 64 64 45 76 65 6e 74 4c  tton").addEventL
5790: 69 73 74 65 6e 65 72 28 22 63 6c 69 63 6b 22 2c  istener("click",
57a0: 20 28 29 20 3d 3e 20 7b 20 74 68 69 73 2e 73 65   () => { this.se
57b0: 61 72 63 68 53 69 6d 69 6c 61 72 28 29 3b 20 7d  archSimilar(); }
57c0: 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20  , false);.      
57d0: 20 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c    document.getEl
57e0: 65 6d 65 6e 74 42 79 49 64 28 22 73 65 61 72 63  ementById("searc
57f0: 68 5f 72 65 67 65 78 5f 62 75 74 74 6f 6e 22 29  h_regex_button")
5800: 2e 61 64 64 45 76 65 6e 74 4c 69 73 74 65 6e 65  .addEventListene
5810: 72 28 22 63 6c 69 63 6b 22 2c 20 28 29 20 3d 3e  r("click", () =>
5820: 20 7b 20 74 68 69 73 2e 73 65 61 72 63 68 52 65   { this.searchRe
5830: 67 65 78 28 29 20 7d 2c 20 66 61 6c 73 65 29 3b  gex() }, false);
5840: 0a 20 20 20 20 7d 2c 0a 0a 20 20 20 20 73 65 61  .    },..    sea
5850: 72 63 68 53 69 6d 69 6c 61 72 3a 20 66 75 6e 63  rchSimilar: func
5860: 74 69 6f 6e 20 28 29 20 7b 0a 20 20 20 20 20 20  tion () {.      
5870: 20 20 6f 53 65 61 72 63 68 54 61 62 6c 65 2e 63    oSearchTable.c
5880: 6c 65 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20  lear();.        
5890: 6c 65 74 20 73 57 6f 72 64 20 3d 20 64 6f 63 75  let sWord = docu
58a0: 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42  ment.getElementB
58b0: 79 49 64 28 22 73 65 61 72 63 68 5f 73 69 6d 69  yId("search_simi
58c0: 6c 61 72 22 29 2e 76 61 6c 75 65 3b 0a 20 20 20  lar").value;.   
58d0: 20 20 20 20 20 69 66 20 28 73 57 6f 72 64 20 21       if (sWord !
58e0: 3d 3d 20 22 22 29 20 7b 0a 20 20 20 20 20 20 20  == "") {.       
58f0: 20 20 20 20 20 6c 65 74 20 6c 52 65 73 75 6c 74       let lResult
5900: 20 3d 20 74 68 69 73 2e 6f 53 70 65 6c 6c 43 68   = this.oSpellCh
5910: 65 63 6b 65 72 2e 67 65 74 53 69 6d 69 6c 61 72  ecker.getSimilar
5920: 45 6e 74 72 69 65 73 28 73 57 6f 72 64 2c 20 32  Entries(sWord, 2
5930: 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  0);.            
5940: 6f 53 65 61 72 63 68 54 61 62 6c 65 2e 66 69 6c  oSearchTable.fil
5950: 6c 28 6c 52 65 73 75 6c 74 29 3b 0a 20 20 20 20  l(lResult);.    
5960: 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a 0a 20 20      }.    },..  
5970: 20 20 73 65 61 72 63 68 52 65 67 65 78 3a 20 66    searchRegex: f
5980: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 20 20 20  unction () {.   
5990: 20 20 20 20 20 6c 65 74 20 73 46 6c 65 78 50 61       let sFlexPa
59a0: 74 74 65 72 6e 20 3d 20 64 6f 63 75 6d 65 6e 74  ttern = document
59b0: 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28  .getElementById(
59c0: 22 73 65 61 72 63 68 5f 66 6c 65 78 69 6f 6e 5f  "search_flexion_
59d0: 70 61 74 74 65 72 6e 22 29 2e 76 61 6c 75 65 2e  pattern").value.
59e0: 74 72 69 6d 28 29 3b 0a 20 20 20 20 20 20 20 20  trim();.        
59f0: 6c 65 74 20 73 54 61 67 73 50 61 74 74 65 72 6e  let sTagsPattern
5a00: 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45   = document.getE
5a10: 6c 65 6d 65 6e 74 42 79 49 64 28 22 73 65 61 72  lementById("sear
5a20: 63 68 5f 74 61 67 73 5f 70 61 74 74 65 72 6e 22  ch_tags_pattern"
5a30: 29 2e 76 61 6c 75 65 2e 74 72 69 6d 28 29 3b 0a  ).value.trim();.
5a40: 20 20 20 20 20 20 20 20 6c 65 74 20 6c 45 6e 74          let lEnt
5a50: 72 79 20 3d 20 5b 5d 3b 0a 20 20 20 20 20 20 20  ry = [];.       
5a60: 20 6c 65 74 20 69 20 3d 20 30 3b 0a 20 20 20 20   let i = 0;.    
5a70: 20 20 20 20 66 6f 72 20 28 6c 65 74 20 61 52 65      for (let aRe
5a80: 73 20 6f 66 20 74 68 69 73 2e 6f 53 70 65 6c 6c  s of this.oSpell
5a90: 43 68 65 63 6b 65 72 2e 73 65 6c 65 63 74 28 73  Checker.select(s
5aa0: 46 6c 65 78 50 61 74 74 65 72 6e 2c 20 73 54 61  FlexPattern, sTa
5ab0: 67 73 50 61 74 74 65 72 6e 29 29 20 7b 0a 20 20  gsPattern)) {.  
5ac0: 20 20 20 20 20 20 20 20 20 20 6c 45 6e 74 72 79            lEntry
5ad0: 2e 70 75 73 68 28 61 52 65 73 29 3b 0a 20 20 20  .push(aRes);.   
5ae0: 20 20 20 20 20 20 20 20 20 69 2b 2b 3b 0a 20 20           i++;.  
5af0: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 20            if (i 
5b00: 3e 3d 20 32 30 30 30 29 20 7b 0a 20 20 20 20 20  >= 2000) {.     
5b10: 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b             break
5b20: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a  ;.            }.
5b30: 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20          }.      
5b40: 20 20 6f 53 65 61 72 63 68 54 61 62 6c 65 2e 66    oSearchTable.f
5b50: 69 6c 6c 28 6c 45 6e 74 72 79 29 3b 0a 20 20 20  ill(lEntry);.   
5b60: 20 7d 0a 7d 0a 0a 0a 63 6f 6e 73 74 20 6f 54 61   }.}...const oTa
5b70: 67 73 49 6e 66 6f 20 3d 20 7b 0a 20 20 20 20 6c  gsInfo = {.    l
5b80: 6f 61 64 3a 20 66 75 6e 63 74 69 6f 6e 20 28 29  oad: function ()
5b90: 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 6c   {.        let l
5ba0: 45 6e 74 72 79 20 3d 20 5b 5d 3b 0a 20 20 20 20  Entry = [];.    
5bb0: 20 20 20 20 66 6f 72 20 28 6c 65 74 20 5b 73 54      for (let [sT
5bc0: 61 67 2c 20 73 4c 61 62 65 6c 5d 20 6f 66 20 5f  ag, sLabel] of _
5bd0: 64 54 61 67 29 20 7b 0a 20 20 20 20 20 20 20 20  dTag) {.        
5be0: 20 20 20 20 6c 45 6e 74 72 79 2e 70 75 73 68 28      lEntry.push(
5bf0: 5b 73 54 61 67 2c 20 73 4c 61 62 65 6c 2e 74 72  [sTag, sLabel.tr
5c00: 69 6d 28 29 5d 29 3b 0a 20 20 20 20 20 20 20 20  im()]);.        
5c10: 7d 0a 20 20 20 20 20 20 20 20 6f 54 61 67 73 54  }.        oTagsT
5c20: 61 62 6c 65 2e 66 69 6c 6c 28 6c 45 6e 74 72 79  able.fill(lEntry
5c30: 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 0a 63 6f 6e  );.    }.}...con
5c40: 73 74 20 6f 47 65 6e 57 6f 72 64 73 54 61 62 6c  st oGenWordsTabl
5c50: 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 22 67  e = new Table("g
5c60: 65 6e 65 72 61 74 65 64 5f 77 6f 72 64 73 5f 74  enerated_words_t
5c70: 61 62 6c 65 22 2c 20 5b 22 46 6c 65 78 69 6f 6e  able", ["Flexion
5c80: 73 22 2c 20 22 c3 89 74 69 71 75 65 74 74 65 73  s", "..tiquettes
5c90: 22 5d 2c 20 22 77 61 69 74 5f 70 72 6f 67 72 65  "], "wait_progre
5ca0: 73 73 22 29 3b 0a 63 6f 6e 73 74 20 6f 4c 65 78  ss");.const oLex
5cb0: 69 63 6f 6e 54 61 62 6c 65 20 3d 20 6e 65 77 20  iconTable = new 
5cc0: 54 61 62 6c 65 28 22 6c 65 78 69 63 6f 6e 5f 74  Table("lexicon_t
5cd0: 61 62 6c 65 22 2c 20 5b 22 46 6c 65 78 69 6f 6e  able", ["Flexion
5ce0: 73 22 2c 20 22 4c 65 6d 6d 65 73 22 2c 20 22 c3  s", "Lemmes", ".
5cf0: 89 74 69 71 75 65 74 74 65 73 22 5d 2c 20 22 77  .tiquettes"], "w
5d00: 61 69 74 5f 70 72 6f 67 72 65 73 73 22 2c 20 22  ait_progress", "
5d10: 6e 75 6d 5f 65 6e 74 72 69 65 73 22 29 3b 0a 63  num_entries");.c
5d20: 6f 6e 73 74 20 6f 53 65 61 72 63 68 54 61 62 6c  onst oSearchTabl
5d30: 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 22 73  e = new Table("s
5d40: 65 61 72 63 68 5f 74 61 62 6c 65 22 2c 20 5b 22  earch_table", ["
5d50: 46 6c 65 78 69 6f 6e 73 22 2c 20 22 4c 65 6d 6d  Flexions", "Lemm
5d60: 65 73 22 2c 20 22 c3 89 74 69 71 75 65 74 74 65  es", "..tiquette
5d70: 73 22 5d 2c 20 22 77 61 69 74 5f 70 72 6f 67 72  s"], "wait_progr
5d80: 65 73 73 22 2c 20 22 73 65 61 72 63 68 5f 6e 75  ess", "search_nu
5d90: 6d 5f 65 6e 74 72 69 65 73 22 2c 20 66 61 6c 73  m_entries", fals
5da0: 65 29 3b 0a 63 6f 6e 73 74 20 6f 54 61 67 73 54  e);.const oTagsT
5db0: 61 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65  able = new Table
5dc0: 28 22 74 61 67 73 5f 74 61 62 6c 65 22 2c 20 5b  ("tags_table", [
5dd0: 22 c3 89 74 69 71 75 65 74 74 65 22 2c 20 22 53  "..tiquette", "S
5de0: 69 67 6e 69 66 69 63 61 74 69 6f 6e 22 5d 2c 20  ignification"], 
5df0: 22 77 61 69 74 5f 70 72 6f 67 72 65 73 73 22 2c  "wait_progress",
5e00: 20 22 22 2c 20 66 61 6c 73 65 29 3b 0a 0a 0a 6f   "", false);...o
5e10: 54 61 67 73 49 6e 66 6f 2e 6c 6f 61 64 28 29 3b  TagsInfo.load();
5e20: 0a 6f 53 65 61 72 63 68 2e 6c 6f 61 64 28 29 3b  .oSearch.load();
5e30: 0a 6f 42 69 6e 61 72 79 44 69 63 74 2e 6c 6f 61  .oBinaryDict.loa
5e40: 64 28 29 3b 0a 6f 42 69 6e 61 72 79 44 69 63 74  d();.oBinaryDict
5e50: 2e 6c 69 73 74 65 6e 28 29 3b 0a 6f 47 65 6e 65  .listen();.oGene
5e60: 72 61 74 6f 72 2e 6c 69 73 74 65 6e 28 29 3b 0a  rator.listen();.
5e70: 6f 54 61 62 75 6c 61 74 69 6f 6e 73 2e 6c 69 73  oTabulations.lis
5e80: 74 65 6e 28 29 3b 0a 6f 53 65 61 72 63 68 2e 6c  ten();.oSearch.l
5e90: 69 73 74 65 6e 28 29 3b 0a                       isten();.