";
outData=outData+""+g_DictWordList[i].dictname+" ";
outData=outData+""+g_DictWordList[i].Pali+" ";
outData=outData+""+g_DictWordList[i].Type+" ";
outData=outData+""+g_DictWordList[i].Gramma+" ";
outData=outData+""+g_DictWordList[i].Parent+" ";
outData=outData+""+g_DictWordList[i].Mean+" ";
outData=outData+""+g_DictWordList[i].Factors+" ";
outData=outData+"";
}
outData+="";
return outData;
}
var g_CurrActiveRecorder="new";
function setCurrActiveRecorder(recorderName){
g_CurrActiveRecorder=recorderName;
}
function updataCurrActiveRecorder(filder,value){
if(filder=="all"){
}
else{
document.getElementById(filder+"_"+g_CurrActiveRecorder).value=value;
mean_change(g_CurrActiveRecorder);
}
}
function addToCurrActiveRecorder(filder,value){
if(filder=="all"){
}
else{
meanString=document.getElementById(filder+"_"+g_CurrActiveRecorder).value;
meanList=meanString.split("$");
for(i in meanList)
{
if(meanList[i]==value){
return;
}
}
document.getElementById(filder+"_"+g_CurrActiveRecorder).value+="$"+value;
mean_change(g_CurrActiveRecorder);
}
}
function updataFactorMeanPrev(id,strNew){
//if(strNew!=null){
//document.getElementById("id_factormean_prev_"+id).value=strNew;
//}
}
function factorMeanItemChange(id,iPos,count,obj){
//alert(id+":"+iPos+":"+newMean);
newMean=obj.value
var factorMeanPrevString = document.getElementById("id_factormean_prev_"+id).value;
currFactorMeanPrevList=factorMeanPrevString.split("+");
currFactorMeanPrevList[iPos]=newMean;
document.getElementById("id_factormean_prev_"+id).value=currFactorMeanPrevList.join("+");
}
function makeFactorBlock(factorStr,id){
var output="";
var factorList=factorStr.split("+");
var defualtFactorMeanList=new Array;
for(iFactor in factorList){
arrFM=findAllMeanInDict(factorList[iFactor],10);
if(arrFM.length==0){
arrFM[0]="unkow";
}
output +="";
defualtFactorMeanList.push(arrFM[0]);
for(iFM in arrFM){
output+=""+arrFM[iFM]+" ";
}
output+=" ";
if(iFactor";
output+="";
output+=""+meanList[i]+"
";
output+="";
output+="";
}
return(output);
}
function mean_change(id){
var meanString = document.getElementById("id_dict_user_mean_"+id).value;
document.getElementById("id_mean_block_"+id).innerHTML=makeMeanBlock(meanString,id);
}
function meanBlockDelete(id,indexDelete){
var meanString = document.getElementById("id_dict_user_mean_"+id).value;
var meanBlock="";
var meanList=meanString.split("$");
meanList.splice(indexDelete,1);
var newString = meanList.join("$");
document.getElementById("id_dict_user_mean_"+id).value=newString;
mean_change(id);
}
function meanBlockMove(id,moveFrom,moveTo){
var meanString = document.getElementById("id_dict_user_mean_"+id).value;
var meanBlock="";
var meanList=meanString.split("$");
if(moveTo<0){
moveTo=0;
}
if(moveFrom==moveTo){
return;
}
var temp=meanList[moveTo];
meanList[moveTo]=meanList[moveFrom];
for(i=moveFrom-1;i>moveTo;i--){
meanList[i+1]=meanList[i];
}
meanList[moveTo+1]=temp;
var newString = meanList.join("$");
/*
for(x in meanList){
newString+=meanList[x]+"$";
}
*/
document.getElementById("id_dict_user_mean_"+id).value=newString;
mean_change(id);
}
function addAutoMeanToFactorMean(id){
document.getElementById("id_dict_user_fm_"+id).value=document.getElementById("id_factormean_prev_"+id).value;
}
//show current selected word in the word window to modify
var g_WordTableCurrWord="";
function dictCurrWordShowAsTable(inCurrWord){
g_WordTableCurrWord = inCurrWord;
g_CurrActiveRecorder="new";
var outData="";
var listParent= new Array();
var listFactors= new Array();
var listChildren = new Array();
outData+=""+gLocal.gui.parent+":";
for(var i=0;i0){
var find=false;
for(x in listParent){
if(listParent[x]==g_DictWordList[i].Parent){
find=true;
break;
}
}
if(!find){
listParent.push(g_DictWordList[i].Parent);
}
}
if(g_DictWordList[i].Factors.length>0){
arrFactors=g_DictWordList[i].Factors.split("+");
for(iFactors in arrFactors){
var find=false;
for(x in listFactors){
if(listFactors[x]==arrFactors[iFactors]){
find=true;
break;
}
}
if(!find){
listFactors.push(arrFactors[iFactors]);
}
}
}
}
}
for(x in listParent){
outData+=""+listParent[x]+" "
}
for(x in listFactors){
outData+="["+listFactors[x]+" ] "
}
outData+="
";
outData=outData+"└"+inCurrWord+"
";
outData+="└"+gLocal.gui.children+": ";
for(var i=0;i0){
var find=false;
for(x in listChildren){
if(listChildren[x]==g_DictWordList[i].Pali){
find=true;
break;
}
}
if(!find){
listChildren.push(g_DictWordList[i].Pali);
}
}
}
}
for(x in listChildren){
outData+=""+listChildren[x]+" "
}
outData+="
";
//get new recorder filder
var newRecorder = new Object();
newRecorder.Type="";
newRecorder.Gramma="";
newRecorder.Parent="";
newRecorder.Mean="";
newRecorder.Note="";
newRecorder.Factors="";
newRecorder.FactorMean="";
newRecorder.Confer="";
newRecorder.Status="";
newRecorder.Lock="";
newRecorder.Tag="";
var newMeanList= new Array();
for(var i=0;i0){
newRecorder.Type=g_DictWordList[i].Type
}
if(newRecorder.Gramma=="" && g_DictWordList[i].Gramma.length>0){
newRecorder.Gramma=g_DictWordList[i].Gramma;
}
if(newRecorder.Parent=="" && g_DictWordList[i].Parent.length>0){
newRecorder.Parent=g_DictWordList[i].Parent;
}
if(g_DictWordList[i].Mean.length>0){
otherMean = g_DictWordList[i].Mean.split("$");
for(iMean in otherMean){
pushNewToList(newMeanList,otherMean[iMean]);
}
newRecorder.Mean=newMeanList.join("$");
}
if(newRecorder.Factors=="" && g_DictWordList[i].Factors.length>0){
newRecorder.Factors=g_DictWordList[i].Factors;
}
if(newRecorder.FactorMean=="" && g_DictWordList[i].FactorMean.length>0){
newRecorder.FactorMean=g_DictWordList[i].FactorMean;
}
if(newRecorder.Note=="" && g_DictWordList[i].Note){
if(g_DictWordList[i].Note.length>0){
newRecorder.Note=g_DictWordList[i].Note;
}
}
}
}
newMeanBlock=makeMeanBlock(newRecorder.Mean,"new");
newFactorBlock=makeFactorBlock(newRecorder.Factors,"new");
newFactorMeanPrevString=g_FactorMean;
outData+=""
//draw new
/*
outData=outData+"New: ";
outData+="";
*/
// end of New
outData+=""+gLocal.gui.userdict+" ";
outData+="";
outData+=""+gLocal.gui.otherdict+" ";
outData+="";
outData=outData+""+gLocal.gui.dictsouce+" "+gLocal.gui.wordtype+" "+gLocal.gui.gramma+" "+gLocal.gui.parent+" "+gLocal.gui.meaning+" "+gLocal.gui.part+" "+gLocal.gui.partmeaning+" ";
for(var i=0;i";
outData+="▲ ";
outData=outData+""+g_DictWordList[i].dictname+" ";
outData=outData+"▲ "+g_DictWordList[i].Type+" ";
outData=outData+"▲ "+g_DictWordList[i].Gramma+" ";
outData=outData+"▲ "+g_DictWordList[i].Parent;
outData=outData+"» ";
outData=outData+"▲ "+g_DictWordList[i].Mean+" "+makeMeanLink(g_DictWordList[i].Mean)+" ";
outData=outData+"▲ "+g_DictWordList[i].Factors+" ";
outData=outData+"▲ "+g_DictWordList[i].FactorMean+" ";
outData=outData+"▲ ";
outData=outData+"";
}
}
}
outData+="
";
//children
for(x in listChildren){
wordChildren=listChildren[x]
outData+=""+wordChildren+" ";
outData+="";
outData=outData+""+gLocal.gui.dictsouce+" "+gLocal.gui.wordtype+" "+gLocal.gui.gramma+" "+gLocal.gui.parent+" "+gLocal.gui.meaning+" "+gLocal.gui.part+" "+gLocal.gui.partmeaning+" ";
for(var i=0;i";
outData+="▲ ";
outData=outData+""+g_DictWordList[i].dictname+" ";
outData=outData+"▲ "+g_DictWordList[i].Type+" ";
outData=outData+"▲ "+g_DictWordList[i].Gramma+" ";
outData=outData+"▲ "+g_DictWordList[i].Parent;
outData=outData+"» ";
outData=outData+"▲ "+g_DictWordList[i].Mean+" "+makeMeanLink(g_DictWordList[i].Mean)+" ";
outData=outData+"▲ "+g_DictWordList[i].Factors+" ";
outData=outData+"▲ "+g_DictWordList[i].FactorMean+" ";
outData=outData+"▲ ";
outData=outData+"";
}
}
}
outData+="
";
}
return outData;
}
function makeMeanLink(inStr){
var arrList=inStr.split("$");
var output="";
for(i in arrList){
output+=""+arrList[i]+" "
}
return(output);
}
function showCurrWordTable(currWord){
document.getElementById('id_dict_curr_word_inner').innerHTML=dictCurrWordShowAsTable(currWord);
}
//匹配字典数据到文档
function dictMatchXMLDoc(){
document.getElementById('id_dict_msg').innerHTML=gLocal.gui.dict_match;
var docWordCounter=0;
var matchedCounter=0;
var xDocWords = gXmlBookDataBody.getElementsByTagName("word");
for(var iword=0;iword0){
for(var i=0;i0){
return(arrMean[i]);
}
else{
return "";
}
}
return "";
}
else{
return "";
}
}
//test word is pali word or not
function isPaliWord(inWord){
if(inWord.length<2){
return false;
}
if(inWord.match(/[x]/)){
return false;
}
if(inWord.match(/[q]/)){
return false;
}
if(inWord.match(/[w]/)){
return false;
}
if(inWord.match(/[a-y]/)){
return true;
}
else{
return false;
}
}
function submenu_show_detail(obj){
eParent = obj.parentNode;
//var y = obj.getElementsByTagName("svg");
var x = eParent.getElementsByTagName("div");
var o = obj.getElementsByTagName("svg");
if(x[0].style.maxHeight=="200em"){
x[0].style.maxHeight="0px";
x[0].style.padding="0px";
x[0].style.opacity="0";
o[0].style.transform="rotate(0deg)";
}
else{
x[0].style.maxHeight="200em";
x[0].style.padding="10px";
x[0].style.opacity="1";
o[0].style.transform="rotate(45deg)";
}
}
function getAutoMaxWidth() {
var Width=$('#').width
}
//在导航窗口中显示与此词匹配的字典中的词
function showMatchedWordsInNavi(wordId){
//var matchedCounter=0;
/*
var xDocWords = gXmlBookDataBody.getElementsByTagName("word");
for(var iWord=0;iWord"+sPaliWord+"";
/*将这个词与字典匹配,*/
var iDict=0;
var thisWord = sPaliWord;
for(iDict=0;iDict"+g_DictWordList[iDict].dictname+"";
sLastDict=g_DictWordList[iDict].dictname;
}
outText=outText+" ";
outText=outText+" ";
outText=outText+" » ";
outText=outText+""
outText=outText+" ";
outText=outText+" ";
outText=outText+"Modify ";
/*
outText=outText+""+g_DictWordList[iDict].Mean+" ";
outText=outText+""+g_DictWordList[iDict].Factors+" ";
outText=outText+""+g_DictWordList[iDict].FactorMean+" ";
outText=outText+""+g_DictWordList[iDict].Type+"#"+g_DictWordList[iDict].Gramma+" ";
*/
matchedCounter++;
}
}
document.getElementById("id_dict_matched").innerHTML=outText;
document.getElementById('id_dict_curr_word_inner').innerHTML=dictCurrWordShowAsTable(inWord);
}
function updataWordFromDict(obj,field){
var xDocWords = gXmlBookDataBody.getElementsByTagName("word");
var strValue = obj.innerHTML;
var applayTo = document.getElementById("id_dict_applay_to").value;
var strCurrPali=getNodeText(xDocWords[g_currEditWord],"pali");
switch(applayTo)
{
case "current":
setNodeText(xDocWords[g_currEditWord],field,strValue);
modifyWordDetailByWordIndex(g_currEditWord);
break;
case "sys":
for(i=0;i ");
}
else if (window.ActiveXObject)
{// code for IE6, IE5
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
var_dump("testing Microsoft.XMLHTTP ");
}
if (xmlHttp!=null){
var_dump(gLocal.gui.ok);
xmlHttp.open("POST", "export_ild.php", false);
var sendHead="filename="+g_filename+"#";
var dictDataString="";
for(iDict in g_DictWordList){
dictDataString+="";
dictDataString+=""+g_DictWordList[iDict].Id+" ";
dictDataString+=""+g_DictWordList[iDict].Pali+" ";
dictDataString+=""+g_DictWordList[iDict].Mean+" ";
dictDataString+=""+g_DictWordList[iDict].Type+" ";
dictDataString+=""+g_DictWordList[iDict].Gramma+" ";
dictDataString+=""+g_DictWordList[iDict].Parent+" ";
dictDataString+=""+g_DictWordList[iDict].Factors+" ";
dictDataString+=""+g_DictWordList[iDict].FactorMean+" ";
dictDataString+=""+g_DictWordList[iDict].Note+" ";
dictDataString+=""+g_DictWordList[iDict].Confer+" ";
dictDataString+=""+g_DictWordList[iDict].Status+" ";
dictDataString+=""+g_DictWordList[iDict].Delete+" ";
dictDataString+=""+g_DictWordList[iDict].dictname+" ";
dictDataString+=""+g_DictWordList[iDict].dictType+" ";
dictDataString+=""+g_DictWordList[iDict].fileName+" ";
dictDataString+=""+g_DictWordList[iDict].ParentLevel+" ";
dictDataString+=" ";
}
dictDataString+=" ";
xmlHttp.send(sendHead+dictDataString);
var_dump(xmlHttp.responseText);
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function menu_file_tools_empty(opt){
var xDocWords = gXmlBookDataBody.getElementsByTagName("word");
if(opt=='all'){
for(var iword=0;iword 外面点击,即可关闭它!"
p.show(150,150,200,50,document.body)
}
//Info_Panal顯示 begin
function setInfoPanalVisibility(){
if(document.getElementById("id_info_panal").style.height == "0px")
{
setInfoPanalSize('half');
}
else{
setInfoPanalSize('hidden');
}
}
//Info_Panal顯示尺寸
function setInfoPanalSize(inSize){
var h=window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
var objInfoPanal = document.getElementById("id_info_panal");
//show_popup(w);
//alert(objInfoPanal.style.right);
switch(inSize){
case "hidden"://min
objInfoPanal.style.height=0+"px";
//setTimeout("hiddenPanal()",400);
break;
case "min"://min
objInfoPanal.style.height=(30)+"px";
break;
case "half"://half
objInfoPanal.style.height=h/2+"px";
break;
case "0.6"://2/3
objInfoPanal.style.height=(h*0.6)+"px";
break;
case "max"://max
objInfoPanal.style.height=(h)+"px";
break;
}
}
function hiddenPanal(){
document.getElementById("id_info_panal").style.display="none";
}
//Info_Panal顯示 end
function windowsSelected(obj){
document.getElementById('word_table').style.display = "none";
document.getElementById('id_dict_match_result').style.display = "none";
document.getElementById('id_dict_curr_word').style.display = "none";
document.getElementById('id_debug').style.display = "none";
switch(obj.value){
case "view_vocabulary":
document.getElementById('word_table').style.display = "block";
break;
case "view_dict_all":
document.getElementById('id_dict_match_result').style.display = "block";
break;
case "view_dict_curr":
document.getElementById('id_dict_curr_word').style.display = "block";
break;
case "view_debug":
document.getElementById('id_debug').style.display = "block";
break;
}
}
function userDictUpdata(){
}
var editor_DictUpdataXmlHttp=null;
function editor_UserDictUpdata(recorderName,thisObj){
thisObj.disabled=true;
var xmlText="";
if(window.XMLHttpRequest)
{// code for IE7, Firefox, Opera, etc.
editor_DictUpdataXmlHttp=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{// code for IE6, IE5
editor_DictUpdataXmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (editor_DictUpdataXmlHttp!=null)
{
var queryString="";
queryString+="";
var d_id=document.getElementById('id_dict_user_id_'+recorderName).value;
var d_pali=document.getElementById('id_dict_user_pali_'+recorderName).value;
var d_type=document.getElementById('id_dict_user_type_'+recorderName).value;
var d_gramma=document.getElementById('id_dict_user_gramma_'+recorderName).value;
var d_parent=document.getElementById('id_dict_user_parent_'+recorderName).value;
var d_mean=document.getElementById('id_dict_user_mean_'+recorderName).value;
var d_note=document.getElementById('id_dict_user_note_'+recorderName).value;
var d_factors=document.getElementById('id_dict_user_factors_'+recorderName).value;
var d_fm=document.getElementById('id_dict_user_fm_'+recorderName).value;
var d_confer="";
var d_status="";
var d_delete="";
var d_tag="";
var d_language=language_translation;
queryString+=""+d_id+" ";
queryString+=""+d_pali+" ";
queryString+=""+d_type+" ";
queryString+=""+d_gramma+" ";
queryString+=""+d_parent+" ";
queryString+=""+d_mean+" ";
queryString+=""+d_note+" ";
queryString+=""+d_factors+" ";
queryString+=""+d_fm+" ";
queryString+=""+d_confer+" ";
queryString+=""+d_status+" ";
queryString+="TRUE ";
queryString+=""+d_language+" ";
queryString+=" ";
queryString+=" ";
editor_DictUpdataXmlHttp.onreadystatechange=editor_UserDictUpdata_serverResponse;
debugOutput("updata user dict start.",0);
editor_DictUpdataXmlHttp.open("POST", "dict_updata_user.php", true);
editor_DictUpdataXmlHttp.send(queryString);
var i=recorderName;
g_DictWordUpdataIndex=i;
g_DictWordNew.Id = d_id;
g_DictWordNew.Pali = d_pali;
g_DictWordNew.Mean = d_mean;
g_DictWordNew.Type = d_type;
g_DictWordNew.Gramma = d_gramma;
g_DictWordNew.Parent = d_parent;
g_DictWordNew.Factors = d_factors;
g_DictWordNew.FactorMean = d_fm;
g_DictWordNew.Note = d_note;
g_DictWordNew.Confer = d_confer;
g_DictWordNew.Status = d_status;
g_DictWordNew.Delete = d_delete;
g_DictWordNew.dictname="用户字典";
g_DictWordNew.dictType="user";
g_DictWordNew.fileName="user_default";
g_DictWordNew.ParentLevel=0;
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function editor_UserDictUpdata_serverResponse(){
if (editor_DictUpdataXmlHttp.readyState==4)// 4 = "loaded"
{
debugOutput("server response.",0);
if (editor_DictUpdataXmlHttp.status==200)
{// 200 = "OK"
var serverText = editor_DictUpdataXmlHttp.responseText;
debugOutput(serverText,0);
obj = JSON.parse(serverText);
if(obj.msg[0].server_return==-1){
alert(obj.msg[0].server_error);
}
else{
var_dump(gLocal.gui.userdict+obj.msg[0].server_op+" "+gLocal.gui.ok);
switch(obj.msg[0].server_op){
case "insert":
g_DictWordNew.Id=obj.msg[0].server_return;
g_DictWordNew.dictID=1;/*temp code*/
var inDict=false;
for(iFindNew in g_DictWordList){
if(g_DictWordList[iFindNew].Id==g_DictWordNew.Id && g_DictWordList[iFindNew].fileName=="user_default"){
inDict=true;
break;
}
}
//if recorder in list don't add to list
if(!inDict){
g_DictWordList.unshift(g_DictWordNew);
editor_insertNewWordToInlineDict(g_DictWordNew);
}
break;
case "update":
g_DictWordList[g_DictWordUpdataIndex]=g_DictWordNew;
editor_updataInlineDict(g_DictWordUpdataIndex,g_DictWordNew)
break;
}
}
showCurrWordTable(g_WordTableCurrWord);
modifyWordDetailByWordId(g_currEditWord);
}
else
{
debugOutput(xmlhttp.statusText,0);
}
}
}
function editor_insertNewWordToInlineDict(newWord){
var xAllWord=gXmlBookDataInlineDict.getElementsByTagName("word");
var newElement=gXmlBookData.createElement("word");
setNodeText(newElement,"id",newWord.Id.toString());
setNodeText(newElement,"guid",newWord.Guid);
setNodeText(newElement,"pali",newWord.Pali);
setNodeText(newElement,"mean",newWord.Mean);
setNodeText(newElement,"type",newWord.Type);
setNodeText(newElement,"gramma",newWord.Gramma);
setNodeText(newElement,"parent",newWord.Parent);
setNodeText(newElement,"parentid",newWord.ParentId);
setNodeText(newElement,"factors",newWord.Factors);
setNodeText(newElement,"factorMean",newWord.FactorMean);
setNodeText(newElement,"partid",newWord.PartId);
setNodeText(newElement,"note",newWord.Note);
setNodeText(newElement,"confer",newWord.Confer);
setNodeText(newElement,"status",newWord.Status);
setNodeText(newElement,"enable",newWord.Enable);
setNodeText(newElement,"dictname",newWord.dictname);
setNodeText(newElement,"dictType",newWord.dictType);
setNodeText(newElement,"fileName",newWord.fileName);
setNodeText(newElement,"parentLevel",newWord.ParentLevel.toString());
if(xAllWord.length>0){
gXmlBookDataInlineDict.insertBefore(newElement,xAllWord[0]);
}
else{
gXmlBookDataInlineDict.insertBefore(newElement,null);
}
}
function editor_updataInlineDict(iword,newWord){
var xILD=gXmlBookDataInlineDict.getElementsByTagName("word")
if(xILD==null){
return;
}
setNodeText(xILD[iword],"id",newWord.Id);
setNodeText(xILD[iword],"pali",newWord.Pali);
setNodeText(xILD[iword],"mean",newWord.Mean);
setNodeText(xILD[iword],"type",newWord.Type);
setNodeText(xILD[iword],"gramma",newWord.Gramma);
setNodeText(xILD[iword],"parent",newWord.Parent);
setNodeText(xILD[iword],"factors",newWord.Factors);
setNodeText(xILD[iword],"factorMean",newWord.FactorMean);
setNodeText(xILD[iword],"note",newWord.Note);
setNodeText(xILD[iword],"confer",newWord.Confer);
setNodeText(xILD[iword],"status",newWord.Status);
setNodeText(xILD[iword],"delete",newWord.Delete);
setNodeText(xILD[iword],"dictname",newWord.dictname);
setNodeText(xILD[iword],"dictType",newWord.dictType);
setNodeText(xILD[iword],"fileName",newWord.fileName);
setNodeText(xILD[iword],"parentLevel",newWord.ParentLevel);
}
/*
上传到我的字典
*/
function upload_to_my_dict(wordIdFrom=-1,wordIdTo=-1){
let queryString = "";
let x = gXmlBookDataBody.getElementsByTagName("word");
let iCount=0;
let wordNode ;
let d_pali;
let d_guid;
let d_mean;
let d_parent;
let d_parent_id;
let d_parentmean;
let d_factors;
let d_fm;
let d_part_id;
let d_case ;
let d_note;
let formula;
for(let wordID=wordIdFrom; wordID<=wordIdTo;wordID++)
{
if(wordIdFrom==-1){
d_pali=doc_word("#"+g_currEditWord).val("real");
d_guid="";
d_mean=$("#input_meaning").val();
d_parent=$("#id_text_parent").val();
d_parent_id="";
d_parent=com_getPaliReal(d_parent);
d_parentmean=removeFormulaB(d_mean,'[',']');
d_parentmean=removeFormulaB(d_parentmean,'{','}');
//if(d_parentmean.substr())
d_factors=$("#input_org").val();
d_fm=$("#input_om").val();//g_arrPartMean.join("+");
d_part_id="";
d_case = $("#input_case").val();
d_note = $("#id_text_note").val();
}
else{
wordNode = x[wordID];
d_pali=getNodeText(wordNode,"real");
d_guid=getNodeText(wordNode,"guid");
d_mean=getNodeText(wordNode,"mean");
d_parent=getNodeText(wordNode,"parent");
d_parent_id=getNodeText(wordNode,"parent_id");
d_parent=com_getPaliReal(d_parent);
d_parentmean=removeFormulaB(d_mean,'[',']');
d_parentmean=removeFormulaB(d_parentmean,'{','}');
d_factors=getNodeText(wordNode,"org");
d_fm=getNodeText(wordNode,"om");
d_part_id=getNodeText(wordNode,"part_id");
d_case = getNodeText(wordNode,"case");
d_note=getNodeText(wordNode,"note");
}
var iPos=d_case.indexOf("#");
if(iPos>=0){
var d_type=d_case.substring(0,iPos);
if(iPos0 && !(d_mean=="" && d_factors=="" && d_fm=="" && d_case=="")){
//parent gramma infomation
switch(d_type){
case ".n.":
d_parentType=".n:base.";
d_parentGramma=d_gramma.split("$")[0];
if(d_parentGramma==".m." || d_parentGramma==".f." || d_parentGramma==".nt."){
d_parentGramma=d_parentGramma;
}
else{
d_parentGramma="";
}
break;
case ".adj.":
d_parentType=".ti:base.";
d_parentGramma=".adj.";
break;
case ".ti.":
d_parentType=".ti:base.";
d_parentGramma="";
break;
case ".pron.":
d_parentType=".pron:base.";
d_parentGramma="";
break;
case ".num.":
d_parentType=".num:base.";
d_parentGramma="";
break;
case ".v.":
d_parentType=".v:base.";
d_parentGramma="";
break;
case ".v:ind.":
d_parentType=".v:base.";
d_parentGramma="";
break;
case ".ind.":
d_parentType=".ind.";
d_parentGramma="";
break;
default:
d_parentType="";
d_parentGramma="";
break;
}
let d_confer="";
let d_status="512";
let d_enable="TRUE";
queryString+="";
queryString+=""+d_pali+" ";
queryString+=""+d_guid+" ";
queryString+=""+d_type+" ";
queryString+=""+d_gramma+" ";
queryString+=""+d_parent+" ";
queryString+=""+d_parent_id+" ";
queryString+=""+d_mean+" ";
queryString+=""+d_note+" ";
queryString+=""+d_factors+" ";
queryString+=""+d_fm+" ";
queryString+=""+d_part_id+" ";
queryString+=""+d_confer+" ";
queryString+=""+d_status+" ";
queryString+=""+d_enable+" ";
queryString+=""+d_language+" ";
queryString+=" ";
iCount++;
//formula
if(formula!="~"){
queryString+="";
queryString+="_formula_ ";
queryString+=" ";
queryString+=""+d_type+" ";
queryString+=""+d_gramma+" ";
queryString+=" ";
queryString+=" ";
queryString+=""+formula+" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=""+d_status+" ";
queryString+=""+d_enable+" ";
queryString+=""+d_language+" ";
queryString+=" ";
iCount++;
}
//parent recorder
if(d_parent.length>0){
queryString+="";
queryString+=""+d_parent+" ";
queryString+=" ";
queryString+=""+d_parentType+" ";
queryString+=""+d_parentGramma+" ";
queryString+=" ";
queryString+=" ";
queryString+=""+d_parentmean+" ";
queryString+=" ";
let fc=d_factors.split("+");
if(fc.length>0 && (fc[fc.length-1].slice(0,1)=="[" && fc[fc.length-1].slice(-1)=="]")){
fc.pop();
}
queryString+=""+fc.join("+")+" ";
let fm=d_fm.split("+");
fm.length=fc.length;
queryString+=""+fm.join("+")+" ";
queryString+=" ";
queryString+=" ";
queryString+="512 ";
queryString+="TRUE ";
queryString+=""+d_language+" ";
queryString+=" ";
iCount++;
}
//part recorder
if(d_fm.slice(0,3)!="[a]"){
let arrPart = d_factors.split('+');
let arrPartMean = d_fm.split('+');
if(arrPart.length>0 && arrPart.length==arrPartMean.length){
for(iPart in arrPart){
if(arrPartMean[iPart]!="" && arrPartMean[iPart]!="?")
arrPart[iPart]=arrPart[iPart].replace("(","");
arrPart[iPart]=arrPart[iPart].replace(")","");
queryString+="";
queryString+=" ";
queryString+=""+arrPart[iPart]+" ";
queryString+=".part. ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=""+arrPartMean[iPart]+" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+="512 ";
queryString+="TRUE ";
queryString+=""+d_language+" ";
queryString+=" ";
iCount++
}
}
}
}
}
queryString+=" ";
if(iCount==0){
ntf_show("no word update");
}
else{
$.post("dict_updata_wbw.php",
queryString,
function(data,status){
ntf_show("Data: " + data + "\nStatus: " + status);
});
}
}
// word by word dict updata
var editor_wbwUpdataXmlHttp=null;
function editor_WbwUpdata(wordIdFrom,wordIdTo){
var xmlText="";
if(window.XMLHttpRequest)
{// code for IE7, Firefox, Opera, etc.
editor_wbwUpdataXmlHttp=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{// code for IE6, IE5
editor_wbwUpdataXmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (editor_wbwUpdataXmlHttp!=null)
{
let queryString="";
let x = gXmlBookDataBody.getElementsByTagName("word");
let iCount=0;
let d_language=language_translation;
for(let wordID=wordIdFrom; wordID<=wordIdTo;wordID++){
let wordNode = x[wordID];
let d_pali = getNodeText(wordNode,"real");
let d_guid = getNodeText(wordNode,"guid");
let d_mean = getNodeText(wordNode,"mean");
let d_parent = getNodeText(wordNode,"parent");
let d_parent_id = getNodeText(wordNode,"parent_id");
d_parent = com_getPaliReal(d_parent);
let d_parentmean = removeFormulaB(d_mean,'[',']');
d_parentmean = removeFormulaB(d_parentmean,'{','}');
let formula=getFormulaFromMeaning(d_mean);
let d_factors = getNodeText(wordNode,"org");
let d_fm = getNodeText(wordNode,"om");
let d_part_id = getNodeText(wordNode,"part_id");
let d_case = getNodeText(wordNode,"case");
let d_note = getNodeText(wordNode,"note");
if(d_pali.length>0 && !(d_mean=="?" && d_factors=="?" && d_fm=="?" && d_case=="?")){
let iPos=d_case.indexOf("#");
if(iPos>=0){
let d_type=d_case.substring(0,iPos);
if(iPos";
queryString+=""+d_pali+" ";
queryString+=""+d_guid+" ";
queryString+=""+d_type+" ";
queryString+=""+d_gramma+" ";
queryString+=""+d_parent+" ";
queryString+=""+d_parent_id+" ";
queryString+=""+d_mean+" ";
queryString+=""+d_note+" ";
queryString+=""+d_factors+" ";
queryString+=""+d_fm+" ";
queryString+=""+d_part_id+" ";
queryString+=""+d_confer+" ";
queryString+=""+d_status+" ";
queryString+=""+d_enable+" ";
queryString+=""+d_language+" ";
queryString+="";
iCount++;
//formula
queryString+="";
queryString+="_formula_ ";
queryString+=" ";
queryString+=""+d_type+" ";
queryString+=""+d_gramma+" ";
queryString+=" ";
queryString+=" ";
queryString+=""+formula+" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=""+d_status+" ";
queryString+=""+d_enable+" ";
queryString+=""+d_language+" ";
queryString+=" ";
iCount++;
//parent recorder
if(d_parent.length>0){
queryString+="";
queryString+=""+d_parent+" ";
queryString+=" ";
queryString+=""+d_parentType+" ";
queryString+=""+d_parentGramma+" ";
queryString+=" ";
queryString+=" ";
queryString+=""+d_parentmean+" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+="512 ";
queryString+="TRUE ";
queryString+=""+d_language+" ";
queryString+=" ";
iCount++;
}
//part recorder
arrPart = d_factors.split('+');
arrPartMean = d_fm.split('+');
if(arrPart.length>0 && arrPart.length==arrPartMean.length){
for(iPart in arrPart){
if(arrPartMean[iPart]!="?" && arrPartMean[iPart]!="" && arrPartMean[iPart]!=""){
arrPart[iPart]=arrPart[iPart].replace("(","");
arrPart[iPart]=arrPart[iPart].replace(")","");
queryString+="";
queryString+=" ";
queryString+=""+arrPart[iPart]+" ";
queryString+=".part. ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=""+arrPartMean[iPart]+" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+=" ";
queryString+="512 ";
queryString+="TRUE ";
queryString+=""+d_language+" ";
queryString+=" ";
iCount++
}
}
}
}
}
queryString+=" ";
if(iCount>0){
editor_wbwUpdataXmlHttp.onreadystatechange=editor_wbwDictUpdata_serverResponse;
console.log("updata user dict start.",0);
editor_wbwUpdataXmlHttp.open("POST", "dict_updata_wbw.php", true);
editor_wbwUpdataXmlHttp.send(queryString);
}
else{
console.log("no user dicttionary data need updata.",0);
}
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function editor_wbwDictUpdata_serverResponse(){
if (editor_wbwUpdataXmlHttp.readyState==4)// 4 = "loaded"
{
debugOutput("server response.",0);
if (editor_wbwUpdataXmlHttp.status==200)
{// 200 = "OK"
let serverText = editor_wbwUpdataXmlHttp.responseText;
var_dump(serverText);
debugOutput(serverText,0);
}
else
{
debugOutput(xmlhttp.statusText,0);
}
}
}
function uploadAllWordData(){
let x = gXmlBookDataBody.getElementsByTagName("word");
if(x.length>0){
editor_WbwUpdata(0,x.length-1);
}
else{
}
}
function renderCaseSelect(type,case1,case2,case3,unique_id,padding_width){
eCaseTable=document.getElementById("input_select_case");
eCaseItems = eCaseTable.getElementsByTagName("span");
if(type){
strTypeSelect="";
strTypeSelect+="
"+getLocalGrammaStr(type)+"
";
}
else{
strTypeSelect="
";
strTypeSelect+="
?
";
}
strTypeSelect+="
";
for(iType=0;iType"+gLocal.type_str[iType].value+""
}
strTypeSelect+="
";
strTypeSelect+="
";
eCaseItems[0].innerHTML=strTypeSelect;
for(iType=0;iType
0){
items=gramma.split("$");
if(case1==""){
case1=items[0];
g_caseSelect[1]=case1;
}
strTypeSelect=""+getLocalGrammaStr(case1)+"
";
strTypeSelect+="
";
for(iItem=0;iItem"+getLocalGrammaStr(items[iItem])+""
}
strTypeSelect+="
";
strTypeSelect+="
";
}
else{
g_caseSelect[1]="";
}
eCaseItems[1].innerHTML=strTypeSelect;
strTypeSelect="";
gramma=gramma_str[iType].b;
if(gramma.length>0){
items=gramma.split("$");
if(case2==""){
case2=items[0];
g_caseSelect[2]=case2;
}
strTypeSelect=""+getLocalGrammaStr(case2)+"
";
strTypeSelect+="
";
for(iItem=0;iItem"+getLocalGrammaStr(items[iItem])+""
}
strTypeSelect+="
";
strTypeSelect+="
";
}
else{
g_caseSelect[2]="";
}
eCaseItems[2].innerHTML=strTypeSelect;
strTypeSelect="";
gramma=gramma_str[iType].c;
if(gramma.length>0){
items=gramma.split("$");
if(case3==""){
case3=items[0];
g_caseSelect[3]=case3;
}
strTypeSelect=""+getLocalGrammaStr(case3)+"
";
strTypeSelect+="
";
for(iItem=0;iItem"+getLocalGrammaStr(items[iItem])+""
}
strTypeSelect+="
";
strTypeSelect+="
";
}
else{
g_caseSelect[3]="";
}
eCaseItems[3].innerHTML=strTypeSelect;
}
}
}
function refreshCaseSelect(){
renderCaseSelect(g_caseSelect[0],g_caseSelect[1],g_caseSelect[2],g_caseSelect[3],"wbw",1);
var newCaseString=g_caseSelect[0]+"#";
if(g_caseSelect[1].length>0){
newCaseString+=g_caseSelect[1];
}
if(g_caseSelect[2].length>0){
newCaseString+="$"+g_caseSelect[2];
}
if(g_caseSelect[3].length>0){
newCaseString+="$"+g_caseSelect[3];
}
document.getElementById("input_case").value=newCaseString;
rela_refresh(g_currEditWord);
}
function caseChanged(index,newValue){
g_caseSelect[index]=newValue;
refreshCaseSelect();
refreshPartMeaningSelect();
}
function removeFormula_B(inStr){
pos=0;
copy=true;
var output="";
for(i=0;i=0){
return(inStr);
}
pos=0;
copy=true;
var output="";
for(i=0;i ";
lock_key_str+="";
lock_key_str+="";
lock_key_str+=" ";
document.getElementById(obj).innerHTML=lock_key_str;
break;
case "on":
lock_key_str+=" ";
lock_key_str+="";
lock_key_str+="";
lock_key_str+=" ";
document.getElementById(obj).innerHTML=lock_key_str;
break;
}
}
function set_word_click_action(obj,item){
switch(item){
case "normal":
if(document.getElementById(obj).checked==true){
document.getElementById(obj).checked=false;
document.getElementById("icon_"+obj+"_on").style.display="none";
document.getElementById("icon_"+obj+"_off").style.display="block";
}
else{
document.getElementById(obj).checked=true;
document.getElementById("icon_"+obj+"_on").style.display="block";
document.getElementById("icon_"+obj+"_off").style.display="none";
}
break;
case "edit":
if(document.getElementById(obj).checked==true){
document.getElementById(obj).checked=false;
document.getElementById("icon_"+obj+"_on").style.display="none";
document.getElementById("icon_"+obj+"_off").style.display="block";
mouse_action_edit=document.getElementById(obj).checked;
}
else{
document.getElementById(obj).checked=true;
document.getElementById("icon_"+obj+"_on").style.display="block";
document.getElementById("icon_"+obj+"_off").style.display="none";
document.getElementById("icon_Trans_as_on").style.display="none";
document.getElementById("icon_Trans_as_off").style.display="block";
document.getElementById("Trans_as").checked=false;
mouse_action_translate=false;
mouse_action_edit=document.getElementById(obj).checked;
}
break;
case "lookup":
if(document.getElementById(obj).checked==true){
document.getElementById(obj).checked=false;
document.getElementById("icon_"+obj+"_on").style.display="none";
document.getElementById("icon_"+obj+"_off").style.display="block";
mouse_action_lookup=document.getElementById(obj).checked;
}
else{
document.getElementById(obj).checked=true;
document.getElementById("icon_"+obj+"_on").style.display="block";
document.getElementById("icon_"+obj+"_off").style.display="none";
document.getElementById("icon_Trans_as_on").style.display="none";
document.getElementById("icon_Trans_as_off").style.display="block";
document.getElementById("Trans_as").checked=false;
mouse_action_translate=false;
mouse_action_lookup=document.getElementById(obj).checked;
}
break;
case "translate":
if(document.getElementById(obj).checked==true){
document.getElementById(obj).checked=false;
document.getElementById("icon_"+obj+"_on").style.display="none";
document.getElementById("icon_"+obj+"_off").style.display="block";
mouse_action_translate=document.getElementById(obj).checked;
}
else{
document.getElementById(obj).checked=true;
document.getElementById("icon_"+obj+"_on").style.display="block";
document.getElementById("icon_"+obj+"_off").style.display="none";
document.getElementById("icon_Look_Up_on").style.display="none";
document.getElementById("icon_Look_Up_off").style.display="block";
document.getElementById("icon_Edit_Dialog_on").style.display="none";
document.getElementById("icon_Edit_Dialog_off").style.display="block";
document.getElementById("Edit_Dialog").checked=false;
document.getElementById("Look_Up").checked=false;
mouse_action_edit=false;
mouse_action_lookup=false;
mouse_action_translate=document.getElementById(obj).checked;
}
break;
}
}
//鼠标点击词头
function on_word_click(sWordId){
g_currEditWord=sWordId;
var xAllWord = gXmlBookDataBody.getElementsByTagName("word");
var wid=getWordIndex(sWordId);
g_eCurrWord=xAllWord[wid];
var sReal = getNodeText(xAllWord[wid],"real");
var sParent = getNodeText(xAllWord[wid],"parent");
var sMeaning = getNodeText(xAllWord[wid],"mean");
//显示修改单个词的窗口
if(mouse_action_edit){
showModifyWin(sWordId)
}
//word Message
msg_show_content(1,sWordId);
msg_show_content_panal();
//术语
note_lookup(sParent,"term_dict");
//参考字典
if(mouse_action_lookup){
dict_search(sReal);
}
//添加词到翻译框
//if(mouse_action_translate){
// add_word_to_tran_win(sMeaning);
//}
}
function note_apply(guid){
}
/*
function apply_button_lock(){
if($("#input_lock")[0].checked){// || g_currBookMarkColor!="bmc0"
$("#apply_to_down")[0].disabled=true;
$("#apply_to_up")[0].disabled=true;
$("#apply_to_all")[0].disabled=true;
}
else{
$("#apply_to_down")[0].disabled=false;
$("#apply_to_up")[0].disabled=false;
$("#apply_to_all")[0].disabled=false;
}
}
*/
function mdf_win_data_change(key,value){
$("#"+key).val(value);
}
function mdf_win_part_change(strPart){
$("#input_org").val(strPart);
input_org_change();
}
function mdf_win_case_change(strCase){
let aCase=strCase.split("#");
let type="";
let gramma="";
if(aCase[0]){
type=aCase[0];
}
if(aCase[0]){
type=aCase[0];
}
if(aCase[1]){
gramma=aCase[1];
}
$("#input_case").val(strCase);
let arrGramma=gramma.split("$");
g_caseSelect[0]=type;
if(arrGramma[0]){
g_caseSelect[1]=arrGramma[0];
}
else{
g_caseSelect[1]="";
}
if(arrGramma[1]){
g_caseSelect[2]=arrGramma[1];
}
else{
g_caseSelect[2]="";
}
if(arrGramma[2]){
g_caseSelect[3]=arrGramma[2];
}
else{
g_caseSelect[3]="";
}
refreshCaseSelect();
}
//显示修改单个词的窗口
function showModifyWin(sWordId){
//获取当前编辑的单词所在的段的索引号
gCurrModifyWindowParNo=getParIndexByWordId(sWordId);
let xAllWord = gXmlBookDataBody.getElementsByTagName("word");
let wid=getWordIndex(sWordId);
let tWin="";
let tApply = "";
let eWord=document.getElementById("wb"+sWordId);
let eWin = document.getElementById("modifywin");
let eWordInfo = document.getElementById("modify_detaile");
let eApply = document.getElementById("modify_apply");
let sReal = getNodeText(xAllWord[wid],"real");
let sParent = getNodeText(xAllWord[wid],"parent");
let sMeaning = getNodeText(xAllWord[wid],"mean");
let sOrg = getNodeText(xAllWord[wid],"org");
let sOm = getNodeText(xAllWord[wid],"om");
let sCase = getNodeText(xAllWord[wid],"case");
let sParentGrammar = getNodeText(xAllWord[wid],"pg");
let sParent2 = getNodeText(xAllWord[wid],"parent2");
//showCurrWordTable(sReal);
if(g_useMode=="edit"){
$("#input_meaning").val(sMeaning);
$("#input_org").val(sOrg);
$("#input_om").val(sOm);
$("#input_case").val(sCase);
if(sParentGrammar!="" || sParent2!=""){
document.getElementById("edit_detail_prt_prt").style.display="flex";
document.getElementById("svg_parent2").style.transform="rotate(90deg)";
}
else{
document.getElementById("edit_detail_prt_prt").style.display="none";
document.getElementById("svg_parent2").style.transform="rotate(0deg)";
}
document.getElementById("parent_grammar").innerHTML=sParentGrammar;
$("#id_text_prt_prt").val(sParent2);
//右侧修改菜单
$("#word_mdf_mean_dropdown").html(render_word_menu_mean(g_currEditWord,1));
$("#word_mdf_parts_dropdown").html(render_word_menu_parts(sWordId,1));
$("#word_mdf_case_dropdown").html(render_word_menu_gramma(sWordId,1));
$("#word_mdf_parent_dropdown").html(render_word_menu_parent(sWordId));
let typeAndGramma=sCase.split("#");
if(typeAndGramma.length>1){
sType=typeAndGramma[0];
sGramma=typeAndGramma[1];
}
else{
sType="";
sGramma=typeAndGramma[0];
}
g_caseSelect[0]=sType;
aGramma=sGramma.split("$");
lenGramma=aGramma.length;
if(lenGramma>3){
lenGramma=3;
}
for(iGramma=0;iGramma";
tApply += ""//onclick=apply_button_lock()
if (getNodeText(xAllWord[wid], "lock") == "true") {
tApply += "";
tApply += " "
tApply += " ";
tApply += " "
}
else{
tApply += "";
tApply += " ";
tApply += " ";
tApply += " ";
}
//tApply += "上传到我的字典 ";
let allword=doc_word();
let sameCount=0;
for(let i=0 ; i1){
tApply += "";
}
else{
tApply += "";
}
tApply += " "+gLocal.gui.applyto+" "+(sameCount+1)+" "+gLocal.gui.same_word+" ";
tApply += " ";
tApply += "";
tApply += " ";
//tApply += " ";
tApply += " ";
tApply += "
";
tApply+= " ";
tApply+= "";
/*
tApply += ""
tApply+= "";
tApply += " ";
tApply+= "";
tApply+= "";
tApply+= " ";
tApply+= "";
tApply+= "";
tApply+= " ";
tApply+= "";
tApply+= "";
tApply+= " ";
*/
tApply+= "";
tApply+= gLocal.gui.save;
tApply+= " ";
tApply+= "";
tApply+= gLocal.gui.draft;
tApply+= " ";
tApply+= "";
tApply+= gLocal.gui.cancel;
tApply+= " ";
tApply+= "
";
eApply.innerHTML = tApply;
document.getElementById("id_text_bookmark").value=getNodeText(xAllWord[wid],"bmt");
document.getElementById("id_text_note").value=getNodeText(xAllWord[wid],"note");
document.getElementById("id_text_id").innerHTML=get_book_name_by_id(getNodeText(xAllWord[wid],"id"));
document.getElementById("id_text_pali").value=getNodeText(xAllWord[wid],"pali");
document.getElementById("id_text_real").value=getNodeText(xAllWord[wid],"real");
document.getElementById("id_text_parent").value=getNodeText(xAllWord[wid],"parent");
$("#id_relation_text").val(getNodeText(xAllWord[wid],"rela"));
rela_refresh(sWordId);
if(getNodeText(xAllWord[wid],"bmc")==""){
g_currBookMarkColor="bmc0";
}
else{
g_currBookMarkColor=getNodeText(xAllWord[wid],"bmc");
}
getBookMarkColor(g_currBookMarkColor);
eWin.style.display="block";
var sDetail="detail"+sWordId;
var eDetail=document.getElementById(sDetail);
eWord.insertBefore(eWin,eDetail);
document.getElementById("dict_ref_search_input").value=sReal;
//editor_refresh_inline_dict(sReal);
}
}
function get_book_name_by_id(bookid){
var book_id=bookid.split("-")[0];
var book_id2=bookid.slice(book_id.length);
for(i_bookname in local_palicannon_index){
if(book_id==local_palicannon_index[i_bookname].id){
book_id2=local_palicannon_index[i_bookname].title+book_id2;
}
}
return(book_id2);
}
function add_word_to_tran_win(sMeaning){
var tranObj=document.getElementById("id_text_edit_form");
if(tranObj && tranObj.style.display!="none"){
var textObj=document.getElementById("id_text_edit_area");
if(textObj){
textObj.value += sMeaning;
}
}
}
//编辑窗口拆分改变
var g_arrPartMean=null;
var g_initPartMeaning=true;
var mDict=new Array();
function input_org_change(){
g_arrPartMean=null;
g_initPartMeaning=true;
var arrPart=$("#input_org").val().split("+");
var arrNewPart=new Array();
var i;
for(i in arrPart){
if(!mDict[arrPart[i]]){
arrNewPart.push(arrPart[i]);
}
}
if(arrNewPart.length>0){
//如果有内存字典里面没有的单词,查询
$.get("dict_find_one.php",
{
word:arrNewPart.join(),
type:"part"
},
function(data,status){
try{
var worddata=JSON.parse(data);
}
catch(e){
console.error(e.error);
}
if(worddata.length>0){
var spell=new Array();
for(var i in worddata){
if(mDict[worddata[i].pali]){
spell[worddata[i].pali]=1;
}
else{
spell[worddata[i].pali]=0;
}
}
for(var word in spell){
if(spell[word]==0){
mDict[word]=new Array();
}
}
for(var i in worddata){
if(spell[worddata[i].pali]==0){
mDict[worddata[i].pali].push(worddata[i]);
}
}
}
else{
}
refreshPartMeaningSelect();
});
}
else{
refreshPartMeaningSelect();
}
}
function load_my_formula(){
//如果有内存字典里面没有的单词,查询
console.log("load_my_formula - dict_find_one.php");
$.get("dict_find_one.php",
{
word:"_formula_",
dict_name:"../../user/wbw.db3",
deep:1
},
function(data,status){
try{
myFormula=JSON.parse(data);
}
catch(e){
console.error(e.error);
}
});
}
function part_mean_ok(){
var part_mean_ok_str=g_arrPartMean.join("+");
part_mean_ok_str="#"+part_mean_ok_str+"#"
part_mean_ok_str=part_mean_ok_str.replace(/\+ /g,"+");
part_mean_ok_str=part_mean_ok_str.replace(/ \+/g,"+");
part_mean_ok_str=part_mean_ok_str.replace(/\# /g,"");
part_mean_ok_str=part_mean_ok_str.replace(/ \#/g,"");
part_mean_ok_str=part_mean_ok_str.replace(/\#/g,"");
document.getElementById("input_om").value=part_mean_ok_str;//.slice(0,-1);
}
/*
编辑窗口中拆分下拉菜单改变
*/
function meaningPartChange(index,newValue){
g_initPartMeaning=false;
g_arrPartMean[index]=newValue;
part_mean_ok()
refreshPartMeaningSelect();
}
function input_org_switch(id_1,id_2){
document.getElementById(id_1).style.display="none";
document.getElementById(id_2).style.display="inline-flex";
document.getElementById(id_2).focus();
refreshPartMeaningSelect();
}
function refreshPartMeaningSelect(){
var part = document.getElementById("input_org").value;
var arrPart = new Array;
if(part=="" || part.lastIndexOf("+")==-1){
arrPart.push(part);
}
else{
arrPart=part.split("+");
}
if(g_initPartMeaning){
g_arrPartMean=part.split("+");
}
var output="";
//output=" "
for(iPart in arrPart){
output+=getMeaningMenuList(iPart,arrPart[iPart])
if(arrPart.length==1){
break;
}
else if(iPart";
output+= "";
output+= "";
output+= " ";
output+= "";
output+= "";
output+= " ";
output+= "";
document.getElementById("input_org_select").innerHTML=output;
//增加拆分意思所见即所得
var part_mean_display_str=document.getElementById("input_om").value;
var part_mean_display_array=new Array;
if(part_mean_display_str.lastIndexOf("+")!=-1){
part_mean_display_array=part_mean_display_str.split("+");
}
else{
part_mean_display_array.push(part_mean_display_str);
}
if(part_mean_display_array.length<=arrPart.length){
for(i_display in part_mean_display_array){
document.getElementById("org_part_mean_"+i_display).innerHTML=part_mean_display_array[i_display];
}
if(part_mean_display_array.length=index){
currMeaningList.push(part_mean_display_array[index]);
}
else{
currMeaningList.push("↓↓");
}
for(MeaningList_i in currMeaningList0){
currMeaningList.push(currMeaningList0[MeaningList_i]);
}
var output="";
output +="";
output += "
";
if(g_initPartMeaning){
output += currMeaningList[0];
g_arrPartMean[index]=currMeaningList[0];
}
else{
output += g_arrPartMean[index];
}
output +="
";
output +="";
}
}
else{
output += "未知";
}
*/
output +="
";
output +="";
return(output);
}
function getWordMeaningList(word){
var currOM="";
var arrOM = new Array();
var thisWord=word;
//新的方法 内存字典用索引数组
if(mDict[word]){
for(var j=0;j0 && currOM[iMean]!="?"){
pushNewToList(arrOM,currOM[iMean]);
}
}
}
}
}
if(arrOM.length==0){
arrOM.push("?");
}
return(arrOM);
}
function edit_un_remove(parentId){
edit_un_RemoveHtmlNode(parentId);
var xWord = gXmlBookDataBody.getElementsByTagName("word");
var count=0;
for(iWord=xWord.length-1;iWord>=0;iWord--){
if(getNodeText(xWord[iWord],"un")==parentId){
xWord[iWord].parentNode.removeChild(xWord[iWord]);
count++;
}
}
var parentElement = document.getElementById('wb'+parentId);
if(parentElement){
parentElement.classList.remove("un_parent");
parentElement.classList.remove("comp_parent");
}
user_wbw_push_word(parentId);
user_wbw_commit();
com_XmlAllWordRefresh();
modifyWordDetailByWordId(parentId);
var_dump(gLocal.gui.removeword+": "+count);
}
function edit_un_RemoveHtmlNode(parentId){
var xAllWord=gXmlBookDataBody.getElementsByTagName("word");
for(wordIndex=0;wordIndex0){
switch(sWordCase){
case ".un:begin.":
txtUnClass=" un_begin";
break;
case ".un:begin.":
txtUnClass=" un_end";
break;
default:
txtUnClass=" un_pali";
break;
}
}
//word head being
/*长度为1的为标点符号*/
if(strInsert.length<=1){
txtOut = txtOut + "";
txtOut = txtOut + "" + strInsert+ " ";
txtOut = txtOut + " ";
txtOut = txtOut + "
\n";
}
else{
txtOut = txtOut + "";
txtOut = txtOut +"";
txtOut = txtOut + ""+strInsert+" ";
txtOut = txtOut + " ";
txtOut = txtOut + " ";
txtOut = txtOut + "
\n";
}
//word head end
/*Detail being*/
txtOut = txtOut + "";
txtOut = txtOut + renderWordDetailById(guid);
txtOut = txtOut + "
";
//detail end
//word block end
divWord.innerHTML=txtOut;
//如果下一个词不存在。
if(element){
element.parentNode.insertBefore(divWord,element);
}
else{
parentElement.parentNode.appendChild(divWord);
}
}
function file_export_html_validate_form(thisform)
{
with (thisform)
{
var tocstring=document.getElementById("content").innerHTML;
var suttastring=document.getElementById("sutta_text").innerHTML;
txt_toc.value=tocstring.replace(/onclick/g,"");
txt_sutta.value=suttastring.replace(/onclick/g,"");
return true;
}
}
function show_case_input(obj){
if(obj.checked){
document.getElementById("input_case").style.display="block";
}
else{
document.getElementById("input_case").style.display="none";
}
}
function edit_tran_save(){
let eBlock;
switch(gTextEditMediaType){
case "translate" :
newText=document.getElementById("id_text_edit_area").value;
newText=newText.replace(/\n\n/g," ");
newText=term_edit_to_std_str(newText);
setTranText(gEditorTranslateEditBlockId,newText);
eBlock=document.getElementById("id_tran_"+gEditorTranslateEditBlockId);
if(eBlock){
eBlock.innerHTML=renderTranslateParBlockInnerById(gEditorTranslateEditBlockId);
term_updata_translation();
}
break;
case "note":
setNoteText(gEditorNoteEditBlockId,document.getElementById("id_text_edit_area").value);
newText=document.getElementById("id_text_edit_area").value;
newText=newText.replace(/\n/g," ");
eBlock=document.getElementById("note_sen_"+gEditorNoteEditBlockId+"_0");
if(eBlock){
eBlock.innerHTML=newText;
}
break;
case "heading":
var newHeadingInfo=new Object();
newHeadingInfo.level=document.getElementById("id_heading_edit_level").value
newHeadingInfo.language=document.getElementById("id_text_edit_language").value
newHeadingInfo.author=document.getElementById("id_text_edit_author").value
newHeadingInfo.text=document.getElementById("id_text_edit_area").value
setHeadingInfo(gEditorHeadingEditBlockId,newHeadingInfo);
newText=document.getElementById("id_text_edit_area").value;
newText=newText.replace(/\n/g," ");
eBlock=document.getElementById("id_heading_text_"+gEditorHeadingEditBlockId);
if(eBlock){
eBlock.innerHTML=newText;
}
updataToc()
break;
case "new_heading":
var newHeadingInfo = new Object();
newHeadingInfo.book=gEditorNewHeadingBookId;
newHeadingInfo.paragraph=gEditorNewHeadingPar;
newHeadingInfo.level=document.getElementById("id_heading_edit_level").value
newHeadingInfo.language=document.getElementById("id_text_edit_language").value
newHeadingInfo.author=document.getElementById("id_text_edit_author").value
newHeadingInfo.text=document.getElementById("id_text_edit_area").value
newHeadBlock(newHeadingInfo)
updataToc()
break;
}
document.getElementById("id_text_edit_form").style.display="none";
Dragging(getDraggingDialog).disable()
}
function edit_tran_cancal(){
document.getElementById("id_text_edit_form").style.display="none";
Dragging(getDraggingDialog).disable()
}
function edit_tran_delete(){
switch(gTextEditMediaType){
case "heading" :
xBlock=gXmlBookDataBody.getElementsByTagName("block");
for(var iBlock=0;iBlock ");
setNodeText(xmlParData,"text",newText);
setNodeText(xmlParInfo,"level",objValue.level);
setNodeText(xmlParInfo,"author",objValue.author);
setNodeText(xmlParInfo,"language",objValue.language);
return;
}
}
}
//open project begin
var editor_openProjectXmlHttp=null;
function editor_openProject(strFileId,filetype){
if(window.XMLHttpRequest){// code for IE7, Firefox, Opera, etc.
editor_openProjectXmlHttp=new XMLHttpRequest();
}
else if(window.ActiveXObject){// code for IE6, IE5
editor_openProjectXmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (editor_openProjectXmlHttp!=null){
var d=new Date();
var strLink ="";
if(filetype=="db"){
strLink = "project_load_db.php?id="+strFileId;
}
else{
strLink = "project_load.php?id="+strFileId;
}
editor_openProjectXmlHttp.onreadystatechange=editor_open_project_serverResponse;
editor_openProjectXmlHttp.open("GET", strLink, true);
editor_openProjectXmlHttp.send(null);
}
else{
alert("Your browser does not support XMLHTTP.");
}
}
function editor_open_project_serverResponse(){
// 4 = "loaded"
if (editor_openProjectXmlHttp.readyState==4){
if (editor_openProjectXmlHttp.status==200){// 200 = "OK"
var xmlText = editor_openProjectXmlHttp.responseText;
if (window.DOMParser){
parser=new DOMParser();
gXmlBookData=parser.parseFromString(xmlText,"text/xml");
}
else{ // Internet Explorer
gXmlBookData=new ActiveXObject("Microsoft.XMLDOM");
gXmlBookData.async="false";
gXmlBookData.loadXML(xmlText);
}
if (gXmlBookData == null){
alert("error:can not load Project. xml obj is null.");
return;
}
projectDataParse(gXmlBookData);
doc_file_info_get();
doc_info_change("accese_time","");
//消息系统初始化
let msg_id=doc_head("msg_db_max_id");
if(msg_id!="" && !isNaN(msg_id)){
msg_init(msg_id);
}
else{
msg_init(1);
}
updataDocParagraphList();
updataToc();
//渲染数据块
blockShow(0);
refreshResource()
editro_layout_loadStyle();
}
else{
document.getElementById('sutta_text').innerHTML="Problem retrieving data:" + editor_openProjectXmlHttp.statusText;
}
}
}
//数据块显示
function blockShow(id)
{
xmlBlock=gXmlBookDataBody.getElementsByTagName("block")
if(id=0){
var paliword=getNodeText(xAllWord[iIndex],"real");
//如果内存里有这个词,渲染单词下拉菜单
if(mDict[paliword]){
render_word_menu(_curr_mouse_enter_wordid);
}
else{
//如果内存里没有这个词,查字典
if(!mDictQueue[paliword]){
if(gCurrLookupWord!=paliword){
mDictQueue[paliword]=1;
gCurrLookupWord=paliword;
$.get("dict_find_one.php",
{
word:paliword
},
on_dict_lookup
);
}
}
}
}
//如果显示relation
if(gRelationSelectWordBegin ){
gCurrWordDivBorder = $(this).css("border");
$(this).css("border","1px solid #65c5bd");
let eHeadBar = document.getElementById("word_tool_bar");
if(eHeadBar){
eHeadBar.style.display="block";
}
let eWord=document.getElementById("ws_"+_curr_mouse_enter_wordid);
let eWordHead=document.getElementById("whead_"+_curr_mouse_enter_wordid);
eWord.insertBefore(eHeadBar,eWordHead);
gWordHeadBarVisible = true;
}
}
//解析字典数据
function inline_dict_parse(data){
if(data == ""){
return;
}
try{
var worddata=JSON.parse(data);
}
catch(e){
console.error(e+" data:"+data);
return;
}
if(worddata.length>0){
//如果有数据 解析查询数据
let spell=new Array();
for(let i in worddata){
if(mDict[worddata[i].pali]){
spell[worddata[i].pali]=1;
}
else{
spell[worddata[i].pali]=0;
}
}
for(let word in spell){
if(spell[word]==0){
mDict[word]=new Array();
}
}
for(let i in worddata){
if(spell[worddata[i].pali]==0){
mDict[worddata[i].pali].push(worddata[i]);
mDictQueue[worddata[i].pali]=0;
}
}
let type = new Array();
if(mDict[gCurrLookupWord]){
for(let i in mDict[gCurrLookupWord]){
type[mDict[gCurrLookupWord][i].type]=1;
}
if(type.length==1 && type[".comp."]){
inline_dict_auto_case(gCurrLookupWord);
}
}
else{
//如果没有查到数据 添加自动格位
mDict[gCurrLookupWord]=new Array();
inline_dict_auto_case(gCurrLookupWord);
}
}
else{
//如果没有查到数据 添加自动格位
mDict[gCurrLookupWord]=new Array();
inline_dict_auto_case(gCurrLookupWord);
}
}
//添加自动格位数据到内存字典
function inline_dict_auto_case(paliword){
for(let i in gCaseTable){
if(gCaseTable[i].type!=".v."){
let sEnd2 = gCurrLookupWord.slice(0-gCaseTable[i].end2.length);
if(sEnd2==gCaseTable[i].end2){
let wordParent=gCurrLookupWord.slice(0,0-gCaseTable[i].end2.length)+gCaseTable[i].end1;
let newWord=new Object();
newWord.pali=gCurrLookupWord;
newWord.type=gCaseTable[i].type;
newWord.gramma=gCaseTable[i].gramma;
newWord.parent=wordParent;
newWord.mean="";
newWord.note="";
newWord.parts= wordParent + "+["+gCaseTable[i].end2+"]";
newWord.partmean="";
newWord.confidence=gCaseTable[i].confidence;
mDict[paliword].push(newWord);
}
}
}
}
function getAutoEnding(pali,base){
let ending=Array();
for(let i in gCaseTable){
if(gCaseTable[i].type!=".v."){
let sEnd2 = pali.slice(0-gCaseTable[i].end2.length);
if(sEnd2==gCaseTable[i].end2){
let wordParent=pali.slice(0,0-gCaseTable[i].end2.length)+gCaseTable[i].end1;
if(base == wordParent){
ending[gCaseTable[i].end2]=1;
}
}
}
}
return(ending);
}
//查字典结果
function on_dict_lookup(data,status){
//解析查询数据
inline_dict_parse(data);
render_word_menu(_curr_mouse_enter_wordid);
}
function render_word_menu(id){
$("#word_mean").html(render_word_menu_mean(id));
$("#word_parts").html(render_word_menu_parts(id));
$("#word_partmean").html(render_word_menu_partmean(id));
$("#word_gramma").html(render_word_menu_gramma(id));
show_word_menu_mean(id);
show_word_menu_parts(id)
show_word_menu_partmean(id)
show_word_menu_gramma(id)
}
//根据单词长度排序 短词优先
function sortWordLen(a, b)
{
return(a.length - b.length);
}
//渲染单词意思下拉菜单
function render_word_menu_mean(id,target=0){
var output="";
var word_real=doc_word("#"+id).val("real");
var word_parent=doc_word("#"+id).val("parent");
var arrParent=new Array();
//检索语基
if(word_parent.length>0){
//arrParent[word_parent]=1;
}
if(mDict[word_real]){
for(var i in mDict[word_real]){
if(mDict[word_real][i].parent && mDict[word_real][i].parent.length>0){
if(word_parent!=mDict[word_real][i].parent && word_real!=mDict[word_real][i].parent){
arrParent[mDict[word_real][i].parent]=1;
}
}
}
}
var sWord = new Array();
for(var sParent in arrParent){
sWord.push(sParent);
}
//按照base长度升序
sWord.sort(sortWordLen);
if(word_parent.length>0){
sWord.unshift(word_parent);
}
sWord.unshift(word_real);
output +=""+gLocal.gui.empty1+" ";
output +="";
for(var iWord in sWord){
var pali = sWord[iWord];
//该词字典数量
var dict_count=0;
if(mDict[pali]){
for(iCount in mDict[pali]){
if(mDict[pali][iCount].mean && mDict[pali][iCount].mean.length>0){
dict_count++;
}
}
}
if(pali==word_parent){
output +="
";
}
else{
output +="
";
}
output+="
";
return(output);
}
function _win_mean_change(newmean){
$("#input_meaning").val(newmean);
}
function _mean_push(arr,obj){
var arrMean=obj.mean.split("$");
var strIndex=obj.dict_name+"-"+obj.type+"-"+obj.gramma;
if(arr[strIndex]==null){
arr[strIndex]=new Object();
arr[strIndex].dict_name=obj.dict_name;
arr[strIndex].type=obj.type
arr[strIndex].gramma=obj.gramma;
arr[strIndex].mean=new Array();
}
for(var i=0;i
";
output +=""+gLocal.gui.empty1+" "
output +=""+gLocal.gui.wordmap+" ";
output += " ";
let pali=doc_word("#"+id).val("real");
let wParent=doc_word("#"+id).val("parent");
let wParts=doc_word("#"+id).val("org");
let arrParts=new Array();
let arrParent=new Array();
if(wParent!=""){
arrParts[wParent]=1;
}
if(target==1){
arrParts[pali]=1;
}
if(mDict[pali]){
for(let iWord in mDict[pali]){
if(mDict[pali][iWord].parts && mDict[pali][iWord].parts!=""){
arrParts[mDict[pali][iWord].parts]=1;
}
if(mDict[pali][iWord].parent && mDict[pali][iWord].parent!=""){
arrParent[mDict[pali][iWord].parent]=1;
}
}
}
//加入base拆分
if(mDict[wParent]){
let ending=getAutoEnding(pali,wParent);
for(let iWord in mDict[wParent]){
if(mDict[wParent][iWord].parts && mDict[wParent][iWord].parts!=""){
arrParts[mDict[wParent][iWord].parts]=1;
{
for(let end in ending){
arrParts[mDict[wParent][iWord].parts+"+["+end+"]"]=1;
}
}
}
}
}
output += "";
let outputPart="";
for(let sPart in arrParts){
if(wParts == sPart){
outputPart = "
"+sPart+" ";
}
else{
outputPart = sPart;
}
if(target==0){
output += "
"+outputPart+" ";
}
else{
output += "
"+outputPart+" ";
}
}
output += "
";
//base parts 信息
for(let sParent in arrParent){
if(mDict[sParent]){
let arrParts = new Array();
for(let iWord in mDict[sParent]){
if(mDict[sParent][iWord].parts && mDict[sParent][iWord].parts!=""){
arrParts[mDict[sParent][iWord].parts]=1;
}
}
if(arrParts.length>0){
output +="";
output +="
";
output += "
";
for(let sPart in arrParts){
output +="
"+sPart+" ";
}
output += "
";
output +="
";
}
}
}
return(output);
}
function show_word_menu_parts(id){
var word_parts_div=document.getElementById("parts_"+id);
if(word_parts_div){
var parts_div=document.getElementById("word_parts");
if(parts_div){
//word_menu_div.appendChild(menu_div);
$("#parts_"+id).html($("#word_parts").html());
}
}
}
//渲染单词拆分意思下拉菜单
function render_word_menu_partmean(id){
var wordID=id;
var sHtml="";
var pali = doc_word("#"+id).val("real");
var sOrg = doc_word("#"+id).val("org");
var listFactorForFactorMean = sOrg.split("+");
var currDefualtFM="";
for(iFactor in listFactorForFactorMean){
currDefualtFM+=findFirstMeanInDict(listFactorForFactorMean[iFactor])+"+";//拆分元素加号分隔
}
currDefualtFM=currDefualtFM.replace(/" "/g," ");
currDefualtFM=currDefualtFM.replace(/"+ "/g,"+");
currDefualtFM=currDefualtFM.replace(/" +"/g,"+");
currDefualtFM=currDefualtFM.substring(0,currDefualtFM.length-1);//去掉尾部的加号 kosalla
if(currDefualtFM.slice(-1,-2)=="+"){
currDefualtFM=currDefualtFM.substring(0,currDefualtFM.length-1);
}
sHtml +=""+gLocal.gui.empty1+" ";
sHtml +="["+gLocal.gui.auto+"]"+currDefualtFM+" ";
var arrPartMean=new Array();
if(mDict[pali]){
for(var i in mDict[pali]){
if(mDict[pali][i].partmean && mDict[pali][i].partmean.length>0){
arrPartMean[mDict[pali][i].partmean]=1;
}
}
}
for(var sPM in arrPartMean){
sHtml +=""+sPM+" ";
}
return(sHtml);
}
/*
渲染单词语基下拉菜单
id 单词id
return 无
*/
function render_word_menu_parent(id){
let output="";
let word_real=doc_word("#"+id).val("real");
let word_parent=doc_word("#"+id).val("parent");
let arrParent=new Array();
//检索语基
if(word_parent!=""){
arrParent[word_parent]=1;
}
if(mDict[word_real]){
for(let i in mDict[word_real]){
if(mDict[word_real][i].parent &&
mDict[word_real][i].parent.length>0){
arrParent[mDict[word_real][i].parent]=1;
}
}
}
let sWord = new Array();
for(let sParent in arrParent){
sWord.push(sParent);
}
//按照base长度升序
sWord.sort(sortWordLen);
if(!str_in_array(word_real,sWord)){
sWord.push(word_real);
}
for(var iWord in sWord){
var pali = sWord[iWord];
output += "";
if(word_parent==pali){
output += ""+pali+" ";
}
else{
output += pali;
}
output += " ";
}
return(output);
}
function show_word_menu_partmean(id){
var word_partmean_div=document.getElementById("partmean_"+id);
if(word_partmean_div){
var partmean_div=document.getElementById("word_partmean");
if(partmean_div){
//word_menu_div.appendChild(menu_div);
$("#partmean_"+id).html($("#word_partmean").html());
}
}
}
//语法按照信心指数排序
function sortWordConfidence(a, b)
{
return(b-a);
}
/*渲染语法菜单
//@param
target
0:主窗口
1:编辑窗口
*/
function render_word_menu_gramma(id,target=0){
var wordID=id;
var sHtml="";
var pali = doc_word("#"+id).val("real");
var arrGramma=new Array();
if(mDict[pali]){
for(var i in mDict[pali]){
var type = mDict[pali][i].type;
var gramma = mDict[pali][i].gramma;
if((type && type.length>0) || (gramma && gramma.length>0)){
var sCase=type+"#"+gramma;
if(arrGramma[sCase]){
if(mDict[pali][i].confidence>arrGramma[sCase]){
arrGramma[sCase]=mDict[pali][i].confidence;
}
}
else{
arrGramma[sCase]=1;
}
}
}
}
arrGramma.sort(sortWordConfidence);
for(var sGramma in arrGramma){
var sLocalCase= getLocalGrammaStr(sGramma);
if(target==0){
sHtml +=""+cutString(sLocalCase,30)+" ";
}
else{
sHtml += ""+cutString(sLocalCase,30)+" ";
}
}
return(sHtml);
}
function show_word_menu_gramma(id){
var gramma_div=document.getElementById("gramma_"+id);
if(gramma_div){
var word_gramma_div=document.getElementById("word_gramma");
if(word_gramma_div){
//word_menu_div.appendChild(menu_div);
$("#gramma_"+id).html($("#word_gramma").html());
}
}
}
function hiddenProgressDiv(){
document.getElementById("loading_bar").style.animation="opacityGo 1s both";
}
function editor_project_updataProjectInfo(){
var strInfo="";
var iInlineDictCount=gXmlBookDataInlineDict.getElementsByTagName("word").length;
var iWordCount=gXmlBookDataBody.getElementsByTagName("word").length;
strInfo+=gLocal.gui.wordnum+iWordCount+" ";
strInfo+=gLocal.gui.para+":"+gArrayDocParagraph.length+" ";
strInfo+=gLocal.gui.innerdict+":"+iInlineDictCount+" ";
strInfo+=gLocal.gui.vocabulary+CountVocabulary()+" ";
document.getElementById("id_editor_project_infomation").innerHTML=strInfo;
document.getElementById("doc_info_title").value=getNodeText(gXmlBookDataHead,"doc_title");
document.getElementById("editor_doc_title").innerHTML=getNodeText(gXmlBookDataHead,"doc_title");
document.getElementById("file_title").innerHTML=getNodeText(gXmlBookDataHead,"doc_title");
}
//import old ver file
var editor_importOldVerXmlHttp=null;
function editor_importOldVer(strFileName){
if(window.XMLHttpRequest){// code for IE7, Firefox, Opera, etc.
editor_importOldVerXmlHttp=new XMLHttpRequest();
}
else if(window.ActiveXObject){// code for IE6, IE5
editor_importOldVerXmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (editor_importOldVerXmlHttp!=null){
var d=new Date();
var strLink ="";
strLink = "com_fileopen.php?filename="+strFileName;
if(strLink.length>0){
editor_importOldVerXmlHttp.onreadystatechange=editor_import_old_ver_serverResponse;
editor_importOldVerXmlHttp.open("GET", strLink, true);
editor_importOldVerXmlHttp.send(null);
//document.getElementById('sutta_text').innerHTML="Importing..."+strFileName;
}
else{
//document.getElementById('sutta_text').innerHTML="无法识别的文件类型";
}
}
else{
alert("Your browser does not support XMLHTTP.");
}
}
function editor_import_old_ver_serverResponse(){
// 4 = "loaded"
if (editor_importOldVerXmlHttp.readyState==4){
document.getElementById('sutta_text').innerHTML="
";
if (editor_importOldVerXmlHttp.status==200){// 200 = "OK"
var xmlText = editor_importOldVerXmlHttp.responseText;
if (window.DOMParser){
parser=new DOMParser();
gXmlOldVerData=parser.parseFromString(xmlText,"text/xml");
}
else{ // Internet Explorer
gXmlOldVerData=new ActiveXObject("Microsoft.XMLDOM");
gXmlOldVerData.async="false";
gXmlOldVerData.loadXML(xmlText);
}
if (gXmlOldVerData == null){
alert("error:can not load. xml obj is null.");
return;
}
oldVerDataParse(gXmlOldVerData);
}
else{
document.getElementById('sutta_text').innerHTML="Problem retrieving data:" + editor_openProjectXmlHttp.statusText;
}
}
}
//在段落前设置或取消分页
function editor_page_break(obj,book,par){
if(obj.checked){
document.getElementById("par_"+book+"_"+par).style.pageBreakBefore="always"
}
else{
document.getElementById("par_"+book+"_"+par).style.pageBreakBefore="auto"
}
}
function editor_heading_change(obj,book,par){
document.getElementById("content").innerHTML="";
allBlock=gXmlBookDataBody.getElementsByTagName("block")
for(var iBlock=0;iBlockrootLevel){
opBegin=true;
parId="par_"+bookId+"_"+(paragraph-1);
if(obj.checked){
document.getElementById(parId).style.display="block";
}
else{
document.getElementById(parId).style.display="none";
}
}
else{
if(opBegin){
break;
}
}
}
}
}
function editor_right_tool_bar_slide_toggle(){
if(document.getElementById("right_tool_bar").style.left=="100%"){
document.getElementById("right_tool_bar").style.display="block";
document.getElementById("right_tool_bar").style.left="calc(100% - 25em)";
}
else{
document.getElementById("right_tool_bar").style.left="100%";
}
}
function right_panal_slide_toggle(idPanal){
if($("#"+idPanal).hasClass("act")){
document.getElementById("right_tool_bar").style.display="block";
document.getElementById("right_tool_bar").style.left="calc(100% - 25em)";
}
else{
document.getElementById("right_tool_bar").style.left="100%";
}
}
function editor_show_right_tool_bar(visible){
if(visible){
document.getElementById("right_tool_bar").style.display="block";
document.getElementById("right_tool_bar").style.left="calc(100% - 25em)";
}
else{
document.getElementById("right_tool_bar").style.left="100%";
}
}
function editor_goto_link(bookId,parNo,strLink=""){
parIndex = getParIndex(bookId,parNo);
scrollEventLock=true;
setNewView(parIndex-3,parIndex+6);
scrollEventLock=false;
if(strLink==""){
window.location.assign("#par_begin_"+bookId+"_"+(parNo-1));
}
else{
window.location.assign("#"+strLink);
}
}
function get_language_order(strLanguage){
for(iLan in dict_language_order){
if(dict_language_order[iLan]==strLanguage){
return(iLan);
}
}
return(1000);
}
function removeAllInlinDictItem(){
var count;
var xAllWord=gXmlBookDataInlineDict.getElementsByTagName("word");
count=xAllWord.length;
while(xAllWord.length){
gXmlBookDataInlineDict.removeChild(xAllWord[0]);
}
g_DictWordList=new Array();
return(count);
}
function editor_refresh_inline_dict(word){
currMatchingDictNum=0;
g_dictFindParentLevel=0;
g_dictFindAllDone=false;
g_dict_search_one_dict_done=editor_dict_one_dict_done;
g_dict_search_all_done=editor_dict_all_done;
g_dict_search_one_pass_done=null;
dict_mark_word_list_done();
dict_push_word_to_download_list(word,0);
var arrBuffer=dict_get_search_list();
if(arrBuffer.length>0){
g_CurrDictBuffer=JSON.stringify(arrBuffer);
dict_mark_word_list_done();
editor_dict_match();
}
else{
document.getElementById('editor_doc_notify').innerHTML="no new part";
}
}
function win_close(id){
document.getElementById(id).style.display="none";
}
//利用下拉菜单修改单词信息
function fieldListChanged(inWordId,inField,inChangeTo,sParent=null){
var xAllWord = gXmlBookDataBody.getElementsByTagName("word");
var wordIndex=getWordIndex(inWordId);
let arr_id_word = inWordId.split("-");
let book=arr_id_word[0].slice(1);
let paragraph = arr_id_word[1];
setNodeText(xAllWord[wordIndex],"status","7");
setNodeAttr(xAllWord[wordIndex],inField,"status","7");
if(inField=="om"){/*拆分意思去掉开头的[a]*/
inChangeTo=inChangeTo.replace("[a]","");
}
setNodeText(xAllWord[wordIndex],inField,inChangeTo);
if(sParent){
setNodeText(xAllWord[wordIndex],"parent",sParent);
}
//提交用户逐词解析数据库
user_wbw_push_word(inWordId);
user_wbw_commit();
//准备消息数据
let d=new Date();
let msg_doc_id;
if(doc_info.sendmsg){
if(doc_info.parent_id!=""){
msg_doc_id=doc_info.parent_id;
}
else{
msg_doc_id=doc_info.doc_id;
}
msg_push(1,"{\"id\":\""+inWordId+"\",\""+inField+"\":\""+inChangeTo+"\",\"status\":\"7\"}",msg_doc_id,d.getTime(),book,paragraph);
}
modifyWordDetailByWordIndex(wordIndex);
//modify other same word with auto-mark
var word = getNodeText(xAllWord[wordIndex],"real");
for(var i=wordIndex+1;i0){
gUserSetup=JSON.parse(data);
}
});
}
//修改用户设置
function editor_setup_save(key,value){
$.post("user_setup.php",
{
op:"save",
key:key,
value:value
},
function(data,status){
if(data.length>0){
gUserSetup=JSON.parse(data);
}
});
}
function tran_sen_save_click(blockid,senBegin,senEnd,obj){
let textareaid="ta_"+blockid+"_"+senBegin+"_"+senEnd;
let newText=$("#"+textareaid).val();
tran_sen_save(blockid,senBegin,senEnd,newText);
}
function tran_sen_save(blockid,senBegin,senEnd,input){
if(input.length>0){
//input=input.replace(/\n\n/g," ");
}
input=term_edit_to_std_str(input);
setTranText(blockid,senEnd,input);
doc_tran("#"+blockid).text(senBegin,senEnd,"status",7);
}
function tran_text_onchange(blockid,senBegin,senEnd,obj){
let newText=obj.value;
sen_save(blockid,senBegin,senEnd,newText);
tran_sen_save(blockid,senBegin,senEnd,newText);
}
/*
句子失去焦点
退出编辑状态
*/
function tran_sent_div_blur(blockId,senBegin,senEnd,obj){
obj.style.height="1.4em";
}
function tran_sent_div_onfocus(blockId,senBegin,senEnd,obj){
obj.style.height="5em";
}
//鼠标移到逐句翻译上 编辑状态
function tran_sent_div_mouseenter(blockId,wordSn){
/*
$("#tran_sent_text_div_"+blockId+"_"+wordSn).show();
if(_tran_show_preview_on_edit==true){
$("#tran_pre_"+blockId+"_"+wordSn).show();
}
else{
$("#tran_pre_"+blockId+"_"+wordSn).hide();
}
*/
}
function set_tran_show_mode(set,obj){
if(set==1){
_tran_show_preview_on_edit=obj.checked;
}else if(set==2){
_tran_show_textarea_esc_edit=obj.checked;
if(obj.checked){
$(".tran_sen_textarea").show();
}else{
$(".tran_sen_textarea").hide();
}
}
}
//按自动查词典按钮
var _para_list=new Array();
function menu_dict_match1(){
var book;
var para=new Array();
xBlock=gXmlBookDataBody.getElementsByTagName("block");
for(var iBlock=0;iBlock0){
auto_match_wbw(0);
}
}
//自动查词典
function auto_match_wbw(para_index){
$.get("dict_find_auto.php",
{
book:_para_list[para_index].book,
para:_para_list[para_index].para
},
function(data,status){
if(data.length>0){
var dict_data=new Array();
try{
dict_data=JSON.parse(data);
}
catch(error){
ntf_show("Error:"+error+" "+data);
}
var counter=0;
var xAllWord = gXmlBookDataBody.getElementsByTagName("word");
for(var x=0;x3){
//忽略已经被用户修改的词
continue;
}
let wid=getNodeText(xAllWord[x],"id");
let aid=wid.split("-");
let book=aid[0].substr(1);
let para=aid[1];
let num=aid[2];
for(var i=0;i0){
/*text of title*/
var xTitleText = xTitle[0].getElementsByTagName("text");
if(xTitleText.length>0){
for (var iTitleText=0;iTitleText0){
titleLangauge=getNodeText(xTitleTextInfo[0],"language");
titleAuthor=getNodeText(xTitleTextInfo[0],"tranAuthor");
}
var strTitle = getNodeText(xTitleText[iTitleText],"data");
setNodeText(xmlNewInfo,"type","heading");
setNodeText(xmlNewInfo,"paragraph",iPara.toString());
setNodeText(xmlNewInfo,"book",BookId);
setNodeText(xmlNewInfo,"author","kosalla");
setNodeText(xmlNewInfo,"language",titleLangauge);
setNodeText(xmlNewInfo,"edition",'0');
setNodeText(xmlNewInfo,"subedition",'0');
setNodeText(xmlNewInfo,"level",'1');
setNodeText(xmlNewInfo,"id",com_guid());
setNodeText(xmlNewData,"text",strTitle);
gXmlBookDataBody.appendChild(newBlock);
}
}
/*end of text of title*/
}
//end of title
xParagraph = x[i].getElementsByTagName("paragraph");
for (var j=0;j0){
for(var iTran=0;iTran0){
cloneBlock=newXmlBlock.cloneNode(true)
newBlock=cloneBlock.getElementsByTagName("block")[0]
xmlNewInfo = newBlock.getElementsByTagName("info")[0];
xmlNewData = newBlock.getElementsByTagName("data")[0];
setNodeText(xmlNewInfo,"type","wbw");
setNodeText(xmlNewInfo,"paragraph",iPara.toString());
setNodeText(xmlNewInfo,"book",BookId);
setNodeText(xmlNewInfo,"author","kosalla");
setNodeText(xmlNewInfo,"edition",'0');
setNodeText(xmlNewInfo,"subedition",'0');
setNodeText(xmlNewInfo,"id",com_guid());
xWord = xPali[0].getElementsByTagName("word");//如果只有一个palipar
/*遍历此段落中所有单词*/
var iSen=0;
var strTranWords="";
for(k=0;k0){
/*text of translate*/
var xTranText = xTran[0].getElementsByTagName("text");
if(xTranText.length>0){
for (iTranText=0;iTranText0){
tranLangauge=getNodeText(xTranTextInfo[0],"language");
tranAuthor=getNodeText(xTranTextInfo[0],"author");
}
var strTran = getNodeText(xTranText[iTranText],"data");
setNodeText(xmlNewInfo,"type","translate");
setNodeText(xmlNewInfo,"paragraph",iPara.toString());
setNodeText(xmlNewInfo,"book",BookId);
setNodeText(xmlNewInfo,"author",tranAuthor);
setNodeText(xmlNewInfo,"language",tranLangauge);
setNodeText(xmlNewInfo,"edition",'0');
setNodeText(xmlNewInfo,"subedition",'0');
setNodeText(xmlNewInfo,"id",com_guid());
newSen=newXmlBlock.createElement("sen");
setNodeText(newSen,"a","");
setNodeText(newSen,"text",strTran);
xmlNewData.appendChild(newSen);
gXmlBookDataBody.appendChild(newBlock);
}
}
/*end of text of translate*/
}
/*翻译块结束*/
/*文件内note块开始*/
xTran = xParagraph[j].getElementsByTagName("comm");
if(xTran.length>0){
/*text of translate*/
var xTranText = xTran[0].getElementsByTagName("text");
if(xTranText.length>0){
for (iTranText=0;iTranText0){
tranLangauge=getNodeText(xTranTextInfo[0],"language");
tranAuthor=getNodeText(xTranTextInfo[0],"author");
}
var strNote = getNodeText(xTranText[iTranText],"data");
setNodeText(xmlNewInfo,"type","note");
setNodeText(xmlNewInfo,"paragraph",iPara.toString());
setNodeText(xmlNewInfo,"book",BookId);
setNodeText(xmlNewInfo,"author",tranAuthor);
setNodeText(xmlNewInfo,"language",titleLangauge);
setNodeText(xmlNewInfo,"edition",'0');
setNodeText(xmlNewInfo,"subedition",'0');
setNodeText(xmlNewInfo,"id",com_guid());
newSen=newXmlBlock.createElement("sen");
setNodeText(newSen,"a","");
setNodeText(newSen,"text",strNote);
xmlNewData.appendChild(newSen);
gXmlBookDataBody.appendChild(newBlock);
}
}
/*end of text of translate*/
}
/*文件内翻译块结束*/
iPara++
}
}
projectDataParse(gXmlBookData)
updataToc()
refreshResource()
}
function add_part(part){
$("#input_org").val(part);
}