Loading conllusvg/conllusvgedit.js +40 −12 Original line number Diff line number Diff line // CoNLL-U SVG Edit by Koichi Yasuoka, July 13, 2018. // CoNLL-U SVG Edit by Koichi Yasuoka, July 16, 2018. // "conllusvgview.js" is needed. "use strict"; conllusvg.edit=function(svg,textid,deprelid,uposid,xposid){ Loading @@ -11,20 +11,36 @@ conllusvg.edit=function(svg,textid,deprelid,uposid,xposid){ } else conllusvg.rewrite(textid); if(deprelid!=null) if(deprelid!=null){ c.deprel=document.getElementById(deprelid).cloneNode(true); for(i in c.deprel.options){ if(c.deprel.options[i]!=null){ t=c.deprel.options[i].value; if(t==null||t==""||t==c.deprel.options[i].textContent) c.deprel.options[i].value="conllusvg.setDeprel"; } } } else{ g=document.createElement("select"); t=["acl","advcl","advmod","amod","appos","aux","case","cc","ccomp","clf","compound","conj","cop","csubj","dep","det","discourse","dislocated","expl","fixed","flat","goeswith","iobj","list","mark","nmod","nsubj","nummod","obj","obl","orphan","parataxis","punct","reparandum","vocative","xcomp"]; for(i=0;i<t.length;i++) g.add(new Option(t[i])); g.add(new Option(t[i]),"conllusvg.setDeprel"); g.style.position="absolute"; g.style.visibility="hidden"; g.size=6; c.deprel=g; } if(uposid!=null) if(uposid!=null){ c.upos=document.getElementById(uposid).cloneNode(true); for(i in c.upos.options){ if(c.upos.options[i]!=null){ t=c.upos.options[i].value; if(t==null||t==""||t==c.deprel.options[i].textContent) c.upos.options[i].value="conllusvg.setUpos"; } } } else{ g=document.createElement("select"); g.add(new Option("root","conllusvg.rootLink")); Loading Loading @@ -312,24 +328,28 @@ conllusvg.clickDeprel=function(textid){ var ix=g.selectedIndex; var t; if(ix>=0){ t=g.options[ix].textContent; ix=c.event.index; c.nodes[ix].deprel=c.links[ix].deprel=t; conllusvg.insertTextline(textid,c.nodes[ix].textlineid,8,t); t=g.options[ix].value; if(t==null||t=="") t="conllusvg.setDeprel"; conllusvg.timer=setTimeout("clearTimeout(conllusvg.timer);"+t+"('"+textid+"','"+g.options[ix].textContent+"')",0); } g.removeEventListener("click",conllusvg.onClickSelect); g.removeEventListener("keydown",conllusvg.onKeyDownSelect); document.body.removeChild(g); c.event.select=null; conllusvg.writeLinksSVG(textid); c.event.redLink=null; } conllusvg.clickUpos=function(textid){ var c=conllusvg.main[textid]; var g=c.event.select; var ix=g.selectedIndex; if(ix>=0) conllusvg.timer=setTimeout("clearTimeout(conllusvg.timer);"+g.options[ix].value+"('"+textid+"','"+g.options[ix].textContent+"')",0); var t; if(ix>=0){ t=g.options[ix].value; if(t==null||t=="") t="conllusvg.setUpos"; conllusvg.timer=setTimeout("clearTimeout(conllusvg.timer);"+t+"('"+textid+"','"+g.options[ix].textContent+"')",0); } g.removeEventListener("click",conllusvg.onClickSelect); g.removeEventListener("keydown",conllusvg.onKeyDownSelect); document.body.removeChild(g); Loading Loading @@ -552,6 +572,14 @@ conllusvg.redArrowSVG=function(textid){ c.event.redArrow.setAttribute("d","M "+c.event.startX+" "+c.event.startY+" L "+x+" "+y); c.event.redTriangle.setAttribute("transform","matrix("+(j/k)+" "+(-i/k)+" "+(i/k)+" "+(j/k)+" "+x+" "+y+")"); } conllusvg.setDeprel=function(textid,t){ var c=conllusvg.main[textid]; var ix=c.event.index; c.nodes[ix].deprel=c.links[ix].deprel=t; conllusvg.insertTextline(textid,c.nodes[ix].textlineid,8,t); conllusvg.writeLinksSVG(textid); c.event.redLink=null; } conllusvg.setUpos=function(textid,t){ var c=conllusvg.main[textid]; var ix=c.event.index; Loading conllusvg/editor-kanbun.html +15 −15 Original line number Diff line number Diff line <!DOCTYPE html><head><meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>CoNLL-U SVG Editor for 漢文 by 安岡孝一, July 15, 2018.</title> <title>CoNLL-U SVG Editor for 漢文 by 安岡孝一, July 16, 2018.</title> <script src="conllusvgview.js"></script> <script src="conllusvgedit.js"></script> <script src="conllusvgload.js"></script> Loading Loading @@ -252,20 +252,20 @@ conllusvg.kanbun.divideForm=function(textid,z){ <select size=6 id="upos" style="position:absolute; visibility:hidden"> <option value="conllusvg.rootLink">root</option> <option value="conllusvg.kanbun.consultCHISE">訊CHISE</option> <option value="conllusvg.setUpos">NOUN</option> <option value="conllusvg.setUpos">PROPN</option> <option value="conllusvg.setUpos">PRON</option> <option value="conllusvg.setUpos">NUM</option> <option value="conllusvg.setUpos">VERB</option> <option value="conllusvg.setUpos">ADP</option> <option value="conllusvg.setUpos">ADV</option> <option value="conllusvg.setUpos">AUX</option> <option value="conllusvg.setUpos">SCONJ</option> <option value="conllusvg.setUpos">CCONJ</option> <option value="conllusvg.setUpos">PART</option> <option value="conllusvg.setUpos">INTJ</option> <option value="conllusvg.setUpos">SYM</option> <option value="conllusvg.setUpos">PUNCT</option> <option>NOUN</option> <option>PROPN</option> <option>PRON</option> <option>NUM</option> <option>VERB</option> <option>ADP</option> <option>ADV</option> <option>AUX</option> <option>SCONJ</option> <option>CCONJ</option> <option>PART</option> <option>INTJ</option> <option>SYM</option> <option>PUNCT</option> <option value="conllusvg.deleteNode">削除</option> <option value="conllusvg.duplicateNode">複製</option> <option value="conllusvg.kanbun.connectForm">連接</option> Loading Loading
conllusvg/conllusvgedit.js +40 −12 Original line number Diff line number Diff line // CoNLL-U SVG Edit by Koichi Yasuoka, July 13, 2018. // CoNLL-U SVG Edit by Koichi Yasuoka, July 16, 2018. // "conllusvgview.js" is needed. "use strict"; conllusvg.edit=function(svg,textid,deprelid,uposid,xposid){ Loading @@ -11,20 +11,36 @@ conllusvg.edit=function(svg,textid,deprelid,uposid,xposid){ } else conllusvg.rewrite(textid); if(deprelid!=null) if(deprelid!=null){ c.deprel=document.getElementById(deprelid).cloneNode(true); for(i in c.deprel.options){ if(c.deprel.options[i]!=null){ t=c.deprel.options[i].value; if(t==null||t==""||t==c.deprel.options[i].textContent) c.deprel.options[i].value="conllusvg.setDeprel"; } } } else{ g=document.createElement("select"); t=["acl","advcl","advmod","amod","appos","aux","case","cc","ccomp","clf","compound","conj","cop","csubj","dep","det","discourse","dislocated","expl","fixed","flat","goeswith","iobj","list","mark","nmod","nsubj","nummod","obj","obl","orphan","parataxis","punct","reparandum","vocative","xcomp"]; for(i=0;i<t.length;i++) g.add(new Option(t[i])); g.add(new Option(t[i]),"conllusvg.setDeprel"); g.style.position="absolute"; g.style.visibility="hidden"; g.size=6; c.deprel=g; } if(uposid!=null) if(uposid!=null){ c.upos=document.getElementById(uposid).cloneNode(true); for(i in c.upos.options){ if(c.upos.options[i]!=null){ t=c.upos.options[i].value; if(t==null||t==""||t==c.deprel.options[i].textContent) c.upos.options[i].value="conllusvg.setUpos"; } } } else{ g=document.createElement("select"); g.add(new Option("root","conllusvg.rootLink")); Loading Loading @@ -312,24 +328,28 @@ conllusvg.clickDeprel=function(textid){ var ix=g.selectedIndex; var t; if(ix>=0){ t=g.options[ix].textContent; ix=c.event.index; c.nodes[ix].deprel=c.links[ix].deprel=t; conllusvg.insertTextline(textid,c.nodes[ix].textlineid,8,t); t=g.options[ix].value; if(t==null||t=="") t="conllusvg.setDeprel"; conllusvg.timer=setTimeout("clearTimeout(conllusvg.timer);"+t+"('"+textid+"','"+g.options[ix].textContent+"')",0); } g.removeEventListener("click",conllusvg.onClickSelect); g.removeEventListener("keydown",conllusvg.onKeyDownSelect); document.body.removeChild(g); c.event.select=null; conllusvg.writeLinksSVG(textid); c.event.redLink=null; } conllusvg.clickUpos=function(textid){ var c=conllusvg.main[textid]; var g=c.event.select; var ix=g.selectedIndex; if(ix>=0) conllusvg.timer=setTimeout("clearTimeout(conllusvg.timer);"+g.options[ix].value+"('"+textid+"','"+g.options[ix].textContent+"')",0); var t; if(ix>=0){ t=g.options[ix].value; if(t==null||t=="") t="conllusvg.setUpos"; conllusvg.timer=setTimeout("clearTimeout(conllusvg.timer);"+t+"('"+textid+"','"+g.options[ix].textContent+"')",0); } g.removeEventListener("click",conllusvg.onClickSelect); g.removeEventListener("keydown",conllusvg.onKeyDownSelect); document.body.removeChild(g); Loading Loading @@ -552,6 +572,14 @@ conllusvg.redArrowSVG=function(textid){ c.event.redArrow.setAttribute("d","M "+c.event.startX+" "+c.event.startY+" L "+x+" "+y); c.event.redTriangle.setAttribute("transform","matrix("+(j/k)+" "+(-i/k)+" "+(i/k)+" "+(j/k)+" "+x+" "+y+")"); } conllusvg.setDeprel=function(textid,t){ var c=conllusvg.main[textid]; var ix=c.event.index; c.nodes[ix].deprel=c.links[ix].deprel=t; conllusvg.insertTextline(textid,c.nodes[ix].textlineid,8,t); conllusvg.writeLinksSVG(textid); c.event.redLink=null; } conllusvg.setUpos=function(textid,t){ var c=conllusvg.main[textid]; var ix=c.event.index; Loading
conllusvg/editor-kanbun.html +15 −15 Original line number Diff line number Diff line <!DOCTYPE html><head><meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>CoNLL-U SVG Editor for 漢文 by 安岡孝一, July 15, 2018.</title> <title>CoNLL-U SVG Editor for 漢文 by 安岡孝一, July 16, 2018.</title> <script src="conllusvgview.js"></script> <script src="conllusvgedit.js"></script> <script src="conllusvgload.js"></script> Loading Loading @@ -252,20 +252,20 @@ conllusvg.kanbun.divideForm=function(textid,z){ <select size=6 id="upos" style="position:absolute; visibility:hidden"> <option value="conllusvg.rootLink">root</option> <option value="conllusvg.kanbun.consultCHISE">訊CHISE</option> <option value="conllusvg.setUpos">NOUN</option> <option value="conllusvg.setUpos">PROPN</option> <option value="conllusvg.setUpos">PRON</option> <option value="conllusvg.setUpos">NUM</option> <option value="conllusvg.setUpos">VERB</option> <option value="conllusvg.setUpos">ADP</option> <option value="conllusvg.setUpos">ADV</option> <option value="conllusvg.setUpos">AUX</option> <option value="conllusvg.setUpos">SCONJ</option> <option value="conllusvg.setUpos">CCONJ</option> <option value="conllusvg.setUpos">PART</option> <option value="conllusvg.setUpos">INTJ</option> <option value="conllusvg.setUpos">SYM</option> <option value="conllusvg.setUpos">PUNCT</option> <option>NOUN</option> <option>PROPN</option> <option>PRON</option> <option>NUM</option> <option>VERB</option> <option>ADP</option> <option>ADV</option> <option>AUX</option> <option>SCONJ</option> <option>CCONJ</option> <option>PART</option> <option>INTJ</option> <option>SYM</option> <option>PUNCT</option> <option value="conllusvg.deleteNode">削除</option> <option value="conllusvg.duplicateNode">複製</option> <option value="conllusvg.kanbun.connectForm">連接</option> Loading