Skip to content
Pulleyblank.html 2.9 KiB
Newer Older
<!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="/gitlab/api/v4/projects/Kanbun%2Fud%2Dkanbun/repository/files/Pulleyblank%2FPulleyblank";
  var t=("000"+n).slice(-3);
  var r="%2Etxt/raw?ref=master";
  PB.req.open("GET",s+t+r);
  PB.filename=s+t+r;
  PB.anchor="#"+t;
  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){
  var p;
  if(PB.req.status==200){
    p=document.createElement("b");
    p.innerHTML="<a href='editor-kanbun.html#"+PB.filename+"' name='"+PB.anchor+"' target='_blank'>"+PB.anchor+"</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,600)" onresize="PB.write()">
<h1>Universal Dependencies on Pulleyblank's "Outline of Classical Chinese Grammar"</h1>
</body>