Skip to content
index.html 2.87 KiB
Newer Older
Koichi Yasuoka's avatar
Koichi Yasuoka committed
<!DOCTYPE html><head><meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Universal Dependencies on Pulleyblank's "Outline of Classical Chinese Grammar"</title>
<script src="conllusvgview.js"></script>
<script>
var PB=new Object();
PB.init=function(start,end){
  PB.req=new XMLHttpRequest();
  PB.req.onload=PB.load;
  PB.svg=new Array();
  PB.count=0;
  PB.top=PB.getScrollTop();
  PB.now=start;
  PB.end=end;
  PB.timer=setTimeout("clearTimeout(PB.timer);PB.checkScroll()",200);
  PB.open(start);
}
PB.getScrollTop=function(){
  return(document.documentElement.scrollTop||document.body.scrollTop);
}
PB.open=function(n){
  var s;
  if(n<10)
    s="Pulleyblank00"+n+".txt";
  else if(n<100)
    s="Pulleyblank0"+n+".txt";
  else
    s="Pulleyblank"+n+".txt";
  PB.req.open("GET",s);
  PB.filename=s;
  PB.req.setRequestHeader("Pragma","no-cache");
  PB.req.setRequestHeader("Cache-Control","no-cache");
  PB.req.setRequestHeader("If-Modified-Since","Sat, 01 Jan 2000 00:00:00 GMT");
  PB.req.send();
}
PB.load=function(e){
  if(PB.req.status==200){
    var p=document.createElement("b");
    p.innerHTML="<a href='editor-kanbun.html#"+PB.filename+"' name='#"+PB.filename.substring(11,14)+"'>#"+PB.filename.substring(11,14)+"</a>";
    document.body.appendChild(p);
    p=document.createElement("pre");
    p.textContent=PB.req.responseText
    p.setAttribute("id",PB.filename);
    document.body.appendChild(p);
    p=document.createElementNS("http://www.w3.org/2000/svg","svg");
    document.body.appendChild(p);
    PB.svg[PB.count]=new Object();
    PB.svg[PB.count].svg=p;
    PB.svg[PB.count].textid=PB.filename;
    if(PB.inview(PB.count)){
      conllusvg.view(p,PB.filename);
      PB.svg[PB.count].load=true;
      PB.lastWrite=PB.count;
    }
    else
      PB.svg[PB.count].load=false;
    PB.count++;
    p=document.createElement("hr");
    document.body.appendChild(p);
  }
  PB.now++;
  if(PB.now<=PB.end)
    PB.open(PB.now);
}
PB.inview=function(c){
  var r=PB.svg[c].svg.getBoundingClientRect();
  return(r.bottom>0&&r.top-window.innerHeight<30);
}
PB.checkScroll=function(){
  if(Math.abs(PB.getScrollTop()-PB.top)>30)
    PB.write();
  PB.timer=setTimeout("clearTimeout(PB.timer);PB.checkScroll()",200);
}
PB.write=function(){
  var c;
  PB.top=PB.getScrollTop();
  if(PB.inview(PB.lastWrite))
    c=PB.lastWrite;
  else{
    for(c=PB.count-1;c>0;c--){
      if(PB.inview(c))
	break;
    }
  }
  for(c--;c>=0;c--){
    if(!PB.inview(c))
      break;
  }
  for(c++;c<PB.count;c++){
    if(PB.inview(c)){
      if(PB.svg[c].load)
	conllusvg.rewrite(PB.svg[c].textid);
      else{
	conllusvg.view(PB.svg[c].svg,PB.svg[c].textid);
}
      PB.svg[c].load=true;
      PB.lastWrite=c;
    }
    else
      break;
  }
}
</script>
</head>
<body onload="PB.init(001,001)" onresize="PB.write()">
<h1>Universal Dependencies on Pulleyblank's "Outline of Classical Chinese Grammar"</h1>
</body>