Grammalecte  Hex Artifact Content

Artifact 939e61049eda42af7ef3eb6aef9b77310f7557e6670a66a3ba2c92c6ef7206b2:


0000: 2f 2f 20 4a 61 76 61 53 63 72 69 70 74 0a 0a 2f  // JavaScript../
0010: 2a 20 6a 73 68 69 6e 74 20 65 73 76 65 72 73 69  * jshint esversi
0020: 6f 6e 3a 36 2c 20 2d 57 30 39 37 20 2a 2f 0a 2f  on:6, -W097 */./
0030: 2a 20 6a 73 6c 69 6e 74 20 65 73 76 65 72 73 69  * jslint esversi
0040: 6f 6e 3a 36 20 2a 2f 0a 2f 2a 20 67 6c 6f 62 61  on:6 */./* globa
0050: 6c 20 47 72 61 6d 6d 61 6c 65 63 74 65 50 61 6e  l GrammalectePan
0060: 65 6c 2c 20 6f 47 72 61 6d 6d 61 6c 65 63 74 65  el, oGrammalecte
0070: 2c 20 73 68 6f 77 45 72 72 6f 72 2c 20 63 6f 6e  , showError, con
0080: 73 6f 6c 65 20 2a 2f 0a 0a 22 75 73 65 20 73 74  sole */.."use st
0090: 72 69 63 74 22 3b 0a 0a 0a 63 6c 61 73 73 20 47  rict";...class G
00a0: 72 61 6d 6d 61 6c 65 63 74 65 4c 65 78 69 63 6f  rammalecteLexico
00b0: 67 72 61 70 68 65 72 20 65 78 74 65 6e 64 73 20  grapher extends 
00c0: 47 72 61 6d 6d 61 6c 65 63 74 65 50 61 6e 65 6c  GrammalectePanel
00d0: 20 7b 0a 0a 20 20 20 20 63 6f 6e 73 74 72 75 63   {..    construc
00e0: 74 6f 72 20 28 2e 2e 2e 61 72 67 73 29 20 7b 0a  tor (...args) {.
00f0: 20 20 20 20 20 20 20 20 73 75 70 65 72 28 2e 2e          super(..
0100: 2e 61 72 67 73 29 3b 0a 20 20 20 20 20 20 20 20  .args);.        
0110: 74 68 69 73 2e 5f 6e 43 6f 75 6e 74 20 3d 20 30  this._nCount = 0
0120: 3b 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f  ;.        this._
0130: 78 43 6f 6e 74 65 6e 74 4e 6f 64 65 20 3d 20 6f  xContentNode = o
0140: 47 72 61 6d 6d 61 6c 65 63 74 65 2e 63 72 65 61  Grammalecte.crea
0150: 74 65 4e 6f 64 65 28 22 64 69 76 22 2c 20 7b 69  teNode("div", {i
0160: 64 3a 20 22 67 72 61 6d 6d 61 6c 65 63 74 65 5f  d: "grammalecte_
0170: 6c 78 67 5f 70 61 6e 65 6c 5f 63 6f 6e 74 65 6e  lxg_panel_conten
0180: 74 22 7d 29 3b 0a 20 20 20 20 20 20 20 20 74 68  t"});.        th
0190: 69 73 2e 78 50 61 6e 65 6c 43 6f 6e 74 65 6e 74  is.xPanelContent
01a0: 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 74 68 69  .appendChild(thi
01b0: 73 2e 5f 78 43 6f 6e 74 65 6e 74 4e 6f 64 65 29  s._xContentNode)
01c0: 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 63 6c 65  ;.    }..    cle
01d0: 61 72 20 28 29 20 7b 0a 20 20 20 20 20 20 20 20  ar () {.        
01e0: 74 68 69 73 2e 5f 6e 43 6f 75 6e 74 20 3d 20 30  this._nCount = 0
01f0: 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20  ;.        while 
0200: 28 74 68 69 73 2e 5f 78 43 6f 6e 74 65 6e 74 4e  (this._xContentN
0210: 6f 64 65 2e 66 69 72 73 74 43 68 69 6c 64 29 20  ode.firstChild) 
0220: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  {.            th
0230: 69 73 2e 5f 78 43 6f 6e 74 65 6e 74 4e 6f 64 65  is._xContentNode
0240: 2e 72 65 6d 6f 76 65 43 68 69 6c 64 28 74 68 69  .removeChild(thi
0250: 73 2e 5f 78 43 6f 6e 74 65 6e 74 4e 6f 64 65 2e  s._xContentNode.
0260: 66 69 72 73 74 43 68 69 6c 64 29 3b 0a 20 20 20  firstChild);.   
0270: 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20       }.    }..  
0280: 20 20 61 64 64 53 65 70 61 72 61 74 6f 72 20 28    addSeparator (
0290: 73 54 65 78 74 29 20 7b 0a 20 20 20 20 20 20 20  sText) {.       
02a0: 20 69 66 20 28 74 68 69 73 2e 5f 78 43 6f 6e 74   if (this._xCont
02b0: 65 6e 74 4e 6f 64 65 2e 74 65 78 74 43 6f 6e 74  entNode.textCont
02c0: 65 6e 74 20 21 3d 3d 20 22 22 29 20 7b 0a 20 20  ent !== "") {.  
02d0: 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f            this._
02e0: 78 43 6f 6e 74 65 6e 74 4e 6f 64 65 2e 61 70 70  xContentNode.app
02f0: 65 6e 64 43 68 69 6c 64 28 6f 47 72 61 6d 6d 61  endChild(oGramma
0300: 6c 65 63 74 65 2e 63 72 65 61 74 65 4e 6f 64 65  lecte.createNode
0310: 28 22 64 69 76 22 2c 20 7b 63 6c 61 73 73 4e 61  ("div", {classNa
0320: 6d 65 3a 20 22 67 72 61 6d 6d 61 6c 65 63 74 65  me: "grammalecte
0330: 5f 6c 78 67 5f 73 65 70 61 72 61 74 6f 72 22 2c  _lxg_separator",
0340: 20 74 65 78 74 43 6f 6e 74 65 6e 74 3a 20 73 54   textContent: sT
0350: 65 78 74 7d 29 29 3b 0a 20 20 20 20 20 20 20 20  ext}));.        
0360: 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 61 64 64  }.    }..    add
0370: 4d 65 73 73 61 67 65 20 28 73 4d 65 73 73 61 67  Message (sMessag
0380: 65 29 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74  e) {.        let
0390: 20 78 4e 6f 64 65 20 3d 20 6f 47 72 61 6d 6d 61   xNode = oGramma
03a0: 6c 65 63 74 65 2e 63 72 65 61 74 65 4e 6f 64 65  lecte.createNode
03b0: 28 22 64 69 76 22 2c 20 7b 63 6c 61 73 73 4e 61  ("div", {classNa
03c0: 6d 65 3a 20 22 67 72 61 6d 6d 61 6c 65 63 74 65  me: "grammalecte
03d0: 5f 70 61 6e 65 6c 5f 6d 65 73 73 61 67 65 22 2c  _panel_message",
03e0: 20 74 65 78 74 43 6f 6e 74 65 6e 74 3a 20 73 4d   textContent: sM
03f0: 65 73 73 61 67 65 7d 29 3b 0a 20 20 20 20 20 20  essage});.      
0400: 20 20 74 68 69 73 2e 5f 78 43 6f 6e 74 65 6e 74    this._xContent
0410: 4e 6f 64 65 2e 61 70 70 65 6e 64 43 68 69 6c 64  Node.appendChild
0420: 28 78 4e 6f 64 65 29 3b 0a 20 20 20 20 7d 0a 0a  (xNode);.    }..
0430: 20 20 20 20 61 64 64 4c 69 73 74 4f 66 54 6f 6b      addListOfTok
0440: 65 6e 73 20 28 6c 54 6f 6b 65 6e 29 20 7b 0a 20  ens (lToken) {. 
0450: 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20         try {.   
0460: 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 54 6f           if (lTo
0470: 6b 65 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20  ken) {.         
0480: 20 20 20 20 20 20 20 74 68 69 73 2e 5f 6e 43 6f         this._nCo
0490: 75 6e 74 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20  unt += 1;.      
04a0: 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 78 54            let xT
04b0: 6f 6b 65 6e 4c 69 73 74 20 3d 20 6f 47 72 61 6d  okenList = oGram
04c0: 6d 61 6c 65 63 74 65 2e 63 72 65 61 74 65 4e 6f  malecte.createNo
04d0: 64 65 28 22 64 69 76 22 2c 20 7b 63 6c 61 73 73  de("div", {class
04e0: 4e 61 6d 65 3a 20 22 67 72 61 6d 6d 61 6c 65 63  Name: "grammalec
04f0: 74 65 5f 6c 78 67 5f 6c 69 73 74 5f 6f 66 5f 74  te_lxg_list_of_t
0500: 6f 6b 65 6e 73 22 7d 29 3b 0a 20 20 20 20 20 20  okens"});.      
0510: 20 20 20 20 20 20 20 20 20 20 78 54 6f 6b 65 6e            xToken
0520: 4c 69 73 74 2e 61 70 70 65 6e 64 43 68 69 6c 64  List.appendChild
0530: 28 6f 47 72 61 6d 6d 61 6c 65 63 74 65 2e 63 72  (oGrammalecte.cr
0540: 65 61 74 65 4e 6f 64 65 28 22 64 69 76 22 2c 20  eateNode("div", 
0550: 7b 63 6c 61 73 73 4e 61 6d 65 3a 20 22 67 72 61  {className: "gra
0560: 6d 6d 61 6c 65 63 74 65 5f 6c 78 67 5f 6c 69 73  mmalecte_lxg_lis
0570: 74 5f 6e 75 6d 22 2c 20 74 65 78 74 43 6f 6e 74  t_num", textCont
0580: 65 6e 74 3a 20 74 68 69 73 2e 5f 6e 43 6f 75 6e  ent: this._nCoun
0590: 74 7d 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20  t}));.          
05a0: 20 20 20 20 20 20 66 6f 72 20 28 6c 65 74 20 6f        for (let o
05b0: 54 6f 6b 65 6e 20 6f 66 20 6c 54 6f 6b 65 6e 29  Token of lToken)
05c0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   {.             
05d0: 20 20 20 20 20 20 20 78 54 6f 6b 65 6e 4c 69 73         xTokenLis
05e0: 74 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 74 68  t.appendChild(th
05f0: 69 73 2e 5f 63 72 65 61 74 65 54 6f 6b 65 6e 42  is._createTokenB
0600: 6c 6f 63 6b 28 6f 54 6f 6b 65 6e 29 29 3b 0a 20  lock(oToken));. 
0610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
0620: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0630: 20 74 68 69 73 2e 5f 78 43 6f 6e 74 65 6e 74 4e   this._xContentN
0640: 6f 64 65 2e 61 70 70 65 6e 64 43 68 69 6c 64 28  ode.appendChild(
0650: 78 54 6f 6b 65 6e 4c 69 73 74 29 3b 0a 20 20 20  xTokenList);.   
0660: 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20           }.     
0670: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 63 61 74     }.        cat
0680: 63 68 20 28 65 29 20 7b 0a 20 20 20 20 20 20 20  ch (e) {.       
0690: 20 20 20 20 20 73 68 6f 77 45 72 72 6f 72 28 65       showError(e
06a0: 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20  );.        }.   
06b0: 20 7d 0a 0a 20 20 20 20 5f 63 72 65 61 74 65 54   }..    _createT
06c0: 6f 6b 65 6e 42 6c 6f 63 6b 20 28 6f 54 6f 6b 65  okenBlock (oToke
06d0: 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74  n) {.        let
06e0: 20 78 54 6f 6b 65 6e 42 6c 6f 63 6b 20 3d 20 6f   xTokenBlock = o
06f0: 47 72 61 6d 6d 61 6c 65 63 74 65 2e 63 72 65 61  Grammalecte.crea
0700: 74 65 4e 6f 64 65 28 22 64 69 76 22 2c 20 7b 63  teNode("div", {c
0710: 6c 61 73 73 4e 61 6d 65 3a 20 22 67 72 61 6d 6d  lassName: "gramm
0720: 61 6c 65 63 74 65 5f 6c 78 67 5f 74 6f 6b 65 6e  alecte_lxg_token
0730: 5f 62 6c 6f 63 6b 22 7d 29 3b 0a 20 20 20 20 20  _block"});.     
0740: 20 20 20 78 54 6f 6b 65 6e 42 6c 6f 63 6b 2e 61     xTokenBlock.a
0750: 70 70 65 6e 64 43 68 69 6c 64 28 74 68 69 73 2e  ppendChild(this.
0760: 5f 63 72 65 61 74 65 54 6f 6b 65 6e 44 65 73 63  _createTokenDesc
0770: 72 28 6f 54 6f 6b 65 6e 29 29 3b 0a 20 20 20 20  r(oToken));.    
0780: 20 20 20 20 69 66 20 28 6f 54 6f 6b 65 6e 2e 61      if (oToken.a
0790: 53 75 62 45 6c 65 6d 29 20 7b 0a 20 20 20 20 20  SubElem) {.     
07a0: 20 20 20 20 20 20 20 6c 65 74 20 78 53 75 62 42         let xSubB
07b0: 6c 6f 63 6b 20 3d 20 6f 47 72 61 6d 6d 61 6c 65  lock = oGrammale
07c0: 63 74 65 2e 63 72 65 61 74 65 4e 6f 64 65 28 22  cte.createNode("
07d0: 64 69 76 22 2c 20 7b 63 6c 61 73 73 4e 61 6d 65  div", {className
07e0: 3a 20 22 67 72 61 6d 6d 61 6c 65 63 74 65 5f 6c  : "grammalecte_l
07f0: 78 67 5f 74 6f 6b 65 6e 5f 73 75 62 62 6c 6f 63  xg_token_subbloc
0800: 6b 22 7d 29 3b 0a 20 20 20 20 20 20 20 20 20 20  k"});.          
0810: 20 20 66 6f 72 20 28 6c 65 74 20 6f 53 75 62 45    for (let oSubE
0820: 6c 65 6d 20 6f 66 20 6f 54 6f 6b 65 6e 2e 61 53  lem of oToken.aS
0830: 75 62 45 6c 65 6d 29 20 7b 0a 20 20 20 20 20 20  ubElem) {.      
0840: 20 20 20 20 20 20 20 20 20 20 78 53 75 62 42 6c            xSubBl
0850: 6f 63 6b 2e 61 70 70 65 6e 64 43 68 69 6c 64 28  ock.appendChild(
0860: 74 68 69 73 2e 5f 63 72 65 61 74 65 54 6f 6b 65  this._createToke
0870: 6e 44 65 73 63 72 28 6f 53 75 62 45 6c 65 6d 29  nDescr(oSubElem)
0880: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d  );.            }
0890: 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 54 6f  .            xTo
08a0: 6b 65 6e 42 6c 6f 63 6b 2e 61 70 70 65 6e 64 43  kenBlock.appendC
08b0: 68 69 6c 64 28 78 53 75 62 42 6c 6f 63 6b 29 3b  hild(xSubBlock);
08c0: 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20  .        }.     
08d0: 20 20 20 72 65 74 75 72 6e 20 78 54 6f 6b 65 6e     return xToken
08e0: 42 6c 6f 63 6b 3b 0a 20 20 20 20 7d 0a 0a 20 20  Block;.    }..  
08f0: 20 20 5f 63 72 65 61 74 65 54 6f 6b 65 6e 44 65    _createTokenDe
0900: 73 63 72 20 28 6f 54 6f 6b 65 6e 29 20 7b 0a 20  scr (oToken) {. 
0910: 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20         try {.   
0920: 20 20 20 20 20 20 20 20 20 6c 65 74 20 78 54 6f           let xTo
0930: 6b 65 6e 44 65 73 63 72 20 3d 20 6f 47 72 61 6d  kenDescr = oGram
0940: 6d 61 6c 65 63 74 65 2e 63 72 65 61 74 65 4e 6f  malecte.createNo
0950: 64 65 28 22 64 69 76 22 2c 20 7b 63 6c 61 73 73  de("div", {class
0960: 4e 61 6d 65 3a 20 22 67 72 61 6d 6d 61 6c 65 63  Name: "grammalec
0970: 74 65 5f 6c 78 67 5f 74 6f 6b 65 6e 5f 64 65 73  te_lxg_token_des
0980: 63 72 22 7d 29 3b 0a 20 20 20 20 20 20 20 20 20  cr"});.         
0990: 20 20 20 69 66 20 28 6f 54 6f 6b 65 6e 2e 73 54     if (oToken.sT
09a0: 79 70 65 20 3d 3d 20 22 4c 4f 43 50 22 29 20 7b  ype == "LOCP") {
09b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
09c0: 20 78 54 6f 6b 65 6e 44 65 73 63 72 2e 61 70 70   xTokenDescr.app
09d0: 65 6e 64 43 68 69 6c 64 28 6f 47 72 61 6d 6d 61  endChild(oGramma
09e0: 6c 65 63 74 65 2e 63 72 65 61 74 65 4e 6f 64 65  lecte.createNode
09f0: 28 22 64 69 76 22 2c 20 7b 63 6c 61 73 73 4e 61  ("div", {classNa
0a00: 6d 65 3a 20 22 67 72 61 6d 6d 61 6c 65 63 74 65  me: "grammalecte
0a10: 5f 6c 78 67 5f 74 6f 6b 65 6e 5f 61 6c 73 6f 22  _lxg_token_also"
0a20: 2c 20 74 65 78 74 43 6f 6e 74 65 6e 74 3a 20 22  , textContent: "
0a30: 70 6f 73 73 69 62 6c 65 6d 65 6e 74 20 e2 80 ba  possiblement ...
0a40: 20 22 7d 29 29 3b 0a 20 20 20 20 20 20 20 20 20   "}));.         
0a50: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20     }.           
0a60: 20 78 54 6f 6b 65 6e 44 65 73 63 72 2e 61 70 70   xTokenDescr.app
0a70: 65 6e 64 43 68 69 6c 64 28 6f 47 72 61 6d 6d 61  endChild(oGramma
0a80: 6c 65 63 74 65 2e 63 72 65 61 74 65 4e 6f 64 65  lecte.createNode
0a90: 28 22 64 69 76 22 2c 20 7b 63 6c 61 73 73 4e 61  ("div", {classNa
0aa0: 6d 65 3a 20 22 67 72 61 6d 6d 61 6c 65 63 74 65  me: "grammalecte
0ab0: 5f 6c 78 67 5f 74 6f 6b 65 6e 20 67 72 61 6d 6d  _lxg_token gramm
0ac0: 61 6c 65 63 74 65 5f 6c 78 67 5f 74 6f 6b 65 6e  alecte_lxg_token
0ad0: 5f 22 20 2b 20 6f 54 6f 6b 65 6e 2e 73 54 79 70  _" + oToken.sTyp
0ae0: 65 2c 20 74 65 78 74 43 6f 6e 74 65 6e 74 3a 20  e, textContent: 
0af0: 6f 54 6f 6b 65 6e 2e 73 56 61 6c 75 65 7d 29 29  oToken.sValue}))
0b00: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 54  ;.            xT
0b10: 6f 6b 65 6e 44 65 73 63 72 2e 61 70 70 65 6e 64  okenDescr.append
0b20: 43 68 69 6c 64 28 6f 47 72 61 6d 6d 61 6c 65 63  Child(oGrammalec
0b30: 74 65 2e 63 72 65 61 74 65 4e 6f 64 65 28 22 64  te.createNode("d
0b40: 69 76 22 2c 20 7b 63 6c 61 73 73 4e 61 6d 65 3a  iv", {className:
0b50: 20 22 67 72 61 6d 6d 61 6c 65 63 74 65 5f 6c 78   "grammalecte_lx
0b60: 67 5f 74 6f 6b 65 6e 5f 63 6f 6c 6f 6e 22 2c 20  g_token_colon", 
0b70: 74 65 78 74 43 6f 6e 74 65 6e 74 3a 20 22 3a 22  textContent: ":"
0b80: 7d 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20  }));.           
0b90: 20 69 66 20 28 6f 54 6f 6b 65 6e 2e 61 4c 61 62   if (oToken.aLab
0ba0: 65 6c 2e 6c 65 6e 67 74 68 20 3d 3d 3d 20 31 29  el.length === 1)
0bb0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   {.             
0bc0: 20 20 20 78 54 6f 6b 65 6e 44 65 73 63 72 2e 61     xTokenDescr.a
0bd0: 70 70 65 6e 64 43 68 69 6c 64 28 6f 47 72 61 6d  ppendChild(oGram
0be0: 6d 61 6c 65 63 74 65 2e 63 72 65 61 74 65 4e 6f  malecte.createNo
0bf0: 64 65 28 22 64 69 76 22 2c 20 7b 63 6c 61 73 73  de("div", {class
0c00: 4e 61 6d 65 3a 20 22 67 72 61 6d 6d 61 6c 65 63  Name: "grammalec
0c10: 74 65 5f 6c 78 67 5f 6d 6f 72 70 68 5f 65 6c 65  te_lxg_morph_ele
0c20: 6d 5f 69 6e 6c 69 6e 65 22 2c 20 74 65 78 74 43  m_inline", textC
0c30: 6f 6e 74 65 6e 74 3a 20 6f 54 6f 6b 65 6e 2e 61  ontent: oToken.a
0c40: 4c 61 62 65 6c 5b 30 5d 7d 29 29 3b 0a 20 20 20  Label[0]}));.   
0c50: 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20           } else 
0c60: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  {.              
0c70: 20 20 6c 65 74 20 78 4d 6f 72 70 68 4c 69 73 74    let xMorphList
0c80: 20 3d 20 6f 47 72 61 6d 6d 61 6c 65 63 74 65 2e   = oGrammalecte.
0c90: 63 72 65 61 74 65 4e 6f 64 65 28 22 64 69 76 22  createNode("div"
0ca0: 2c 20 7b 63 6c 61 73 73 4e 61 6d 65 3a 20 22 67  , {className: "g
0cb0: 72 61 6d 6d 61 6c 65 63 74 65 5f 6c 78 67 5f 6d  rammalecte_lxg_m
0cc0: 6f 72 70 68 5f 6c 69 73 74 22 7d 29 3b 0a 20 20  orph_list"});.  
0cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f                fo
0ce0: 72 20 28 6c 65 74 20 73 4c 61 62 65 6c 20 6f 66  r (let sLabel of
0cf0: 20 6f 54 6f 6b 65 6e 2e 61 4c 61 62 65 6c 29 20   oToken.aLabel) 
0d00: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  {.              
0d10: 20 20 20 20 20 20 78 4d 6f 72 70 68 4c 69 73 74        xMorphList
0d20: 2e 61 70 70 65 6e 64 43 68 69 6c 64 28 6f 47 72  .appendChild(oGr
0d30: 61 6d 6d 61 6c 65 63 74 65 2e 63 72 65 61 74 65  ammalecte.create
0d40: 4e 6f 64 65 28 22 64 69 76 22 2c 20 7b 63 6c 61  Node("div", {cla
0d50: 73 73 4e 61 6d 65 3a 20 22 67 72 61 6d 6d 61 6c  ssName: "grammal
0d60: 65 63 74 65 5f 6c 78 67 5f 6d 6f 72 70 68 5f 65  ecte_lxg_morph_e
0d70: 6c 65 6d 22 2c 20 74 65 78 74 43 6f 6e 74 65 6e  lem", textConten
0d80: 74 3a 20 22 e2 80 a2 e2 80 af 22 20 2b 20 73 4c  t: "......" + sL
0d90: 61 62 65 6c 7d 29 29 3b 0a 20 20 20 20 20 20 20  abel}));.       
0da0: 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20           }.     
0db0: 20 20 20 20 20 20 20 20 20 20 20 78 54 6f 6b 65             xToke
0dc0: 6e 44 65 73 63 72 2e 61 70 70 65 6e 64 43 68 69  nDescr.appendChi
0dd0: 6c 64 28 78 4d 6f 72 70 68 4c 69 73 74 29 3b 0a  ld(xMorphList);.
0de0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20              }.  
0df0: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
0e00: 20 78 54 6f 6b 65 6e 44 65 73 63 72 3b 0a 20 20   xTokenDescr;.  
0e10: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20        }.        
0e20: 63 61 74 63 68 20 28 65 29 20 7b 0a 20 20 20 20  catch (e) {.    
0e30: 20 20 20 20 20 20 20 20 73 68 6f 77 45 72 72 6f          showErro
0e40: 72 28 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a  r(e);.        }.
0e50: 20 20 20 20 7d 0a 0a 20 20 20 20 73 65 74 48 69      }..    setHi
0e60: 64 64 65 6e 20 28 73 43 6c 61 73 73 2c 20 62 48  dden (sClass, bH
0e70: 69 64 64 65 6e 29 20 7b 0a 20 20 20 20 20 20 20  idden) {.       
0e80: 20 6c 65 74 20 78 50 61 6e 65 6c 43 6f 6e 74 65   let xPanelConte
0e90: 6e 74 20 3d 20 74 68 69 73 2e 78 50 61 72 65 6e  nt = this.xParen
0ea0: 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64  t.getElementById
0eb0: 28 27 67 72 61 6d 6d 61 6c 65 63 74 65 5f 70 61  ('grammalecte_pa
0ec0: 6e 65 6c 5f 63 6f 6e 74 65 6e 74 27 29 3b 0a 20  nel_content');. 
0ed0: 20 20 20 20 20 20 20 66 6f 72 20 28 6c 65 74 20         for (let 
0ee0: 78 4e 6f 64 65 20 6f 66 20 78 50 61 6e 65 6c 43  xNode of xPanelC
0ef0: 6f 6e 74 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e  ontent.getElemen
0f00: 74 73 42 79 43 6c 61 73 73 4e 61 6d 65 28 73 43  tsByClassName(sC
0f10: 6c 61 73 73 29 29 20 7b 0a 20 20 20 20 20 20 20  lass)) {.       
0f20: 20 20 20 20 20 78 4e 6f 64 65 2e 68 69 64 64 65       xNode.hidde
0f30: 6e 20 3d 20 62 48 69 64 64 65 6e 3b 0a 20 20 20  n = bHidden;.   
0f40: 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a          }.    }.}.