term_sys_tool.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  5. <title>Paḷi Code Transfer</title>
  6. <script language="javascript" src="../app/js/vn.js"></script>
  7. <script language="javascript" src="../app/js/xml.js"></script>
  8. <script language="javascript" src="../app/js/filenew.js"></script>
  9. <script language="javascript" src="../app/js/editor.js"></script>
  10. <script language="javascript" src="../app/term_sys_list.js"></script>
  11. <script language="javascript" src="../app/charcode/sinhala.js"></script>
  12. <script language="javascript" src="../app/charcode/unicode.js"></script>
  13. <link type="text/css" rel="stylesheet" href="../app/css/style.css"/>
  14. <script language="javascript">
  15. var g_selected_array=new Array();
  16. var g_unselected_array=new Array();
  17. var g_add_drop_str=new Array();
  18. var g_replace_list=new Array();
  19. function item_select(obj){
  20. switch(obj.checked){
  21. case true:
  22. var id_array=obj.id.split("_");
  23. id_array.pop();
  24. g_selected_array.push(id_array.join("_"))
  25. var i_selected=0;
  26. for(i_selected in g_unselected_array){
  27. if(g_unselected_array[i_selected]==id_array.join("_")){
  28. g_unselected_array.splice(i_selected,1)
  29. }
  30. }
  31. break;
  32. case false:
  33. var id_array=obj.id.split("_");
  34. id_array.pop();
  35. g_unselected_array.push(id_array.join("_"))
  36. var i_selected=0;
  37. for(i_selected in g_selected_array){
  38. if(g_selected_array[i_selected]==id_array.join("_")){
  39. g_selected_array.splice(i_selected,1)
  40. }
  41. }
  42. break;
  43. }
  44. refresh_replace_list();
  45. }
  46. function add_button(dropdown_id){
  47. var add_button_str="";
  48. var add_drop_str="";
  49. var i_add=Number(dropdown_id.split("_")[2])+1;
  50. add_button_str+="<button id='add_drop' onclick=\"add_button('output_str_"+i_add+"')\">+</button>"
  51. add_drop_str+="<select id='output_str_"+i_add+"' class='term_sys_dropdown'; onchange=\"item_change(this,"+i_add+")\";>";
  52. add_drop_str+="<option value='0'>None</option>"
  53. for(str_add in g_unselected_array){
  54. add_drop_str+="<option value='"+g_unselected_array[str_add]+"'>"+g_unselected_array[str_add]+"</option>";
  55. }
  56. add_drop_str+="</select>";
  57. g_add_drop_str.push(add_drop_str);
  58. add_drop_str="";
  59. for(i_output in g_add_drop_str){
  60. add_drop_str+=g_add_drop_str[i_output];
  61. }
  62. document.getElementById("output_div").innerHTML=add_drop_str;
  63. document.getElementById("add_drop").outerHTML=add_button_str;
  64. }
  65. function refresh_replace_list(){
  66. g_replace_list=new Array();
  67. for(i_refresh in term_list_str){
  68. var replace_obj=new Object;
  69. replace_obj.id="【"+term_list_str[i_refresh].id+"】";
  70. replace_obj.value=""
  71. for(j_refresh in g_selected_array){
  72. var term_str=eval("term_list_str[i_refresh]."+g_selected_array[j_refresh]+"");
  73. if(term_str!=""){
  74. replace_obj.value+=term_str
  75. if(j_refresh<g_selected_array.length-1){
  76. replace_obj.value+="#"
  77. }
  78. }
  79. }
  80. replace_obj.value="#"+replace_obj.value+"#";
  81. replace_obj.value=replace_obj.value.replace(/##/g,"");
  82. if(replace_obj.value.lastIndexOf("#")==replace_obj.value.length-1 && replace_obj.value.length!=0){
  83. replace_obj.value=replace_obj.value.slice(0,replace_obj.value.length-1)
  84. }
  85. if(replace_obj.value.indexOf("#")==0){
  86. replace_obj.value=replace_obj.value.slice(1)
  87. }
  88. if(replace_obj.value.lastIndexOf("#")!=-1){
  89. term_str=replace_obj.value.split("#");
  90. var head=term_str[0]
  91. term_str.shift();//删除第一个数组
  92. if(term_str.length>1){
  93. replace_obj.value=head+"(";
  94. replace_obj.value+=term_str.join(",");
  95. replace_obj.value+=")"
  96. replace_obj.value.replace(/,\)/g,")");
  97. }
  98. else if(term_str.length==1 && term_str[0]!=""){
  99. replace_obj.value=head+"(";
  100. replace_obj.value+=term_str[0];
  101. replace_obj.value+=")"
  102. }
  103. }
  104. g_replace_list.push(replace_obj);
  105. //g_replace_list[i_refresh].id=replace_obj.id.toString();
  106. //g_replace_list[i_refresh].value=replace_obj.value.toString();
  107. }
  108. }
  109. function glossary_replace(){
  110. var output=document.getElementById("txtInput").value;
  111. for(i_term in g_replace_list){
  112. //var id_RE=new RegExp(g_replace_list[i_term].id.toString(),"g")
  113. eval("output=output.replace(/"+g_replace_list[i_term].id+"/g,g_replace_list[i_term].value);");
  114. //output=output.replace(id_RE,g_replace_list[i_term].value);
  115. }
  116. document.getElementById("txtOutput").innerHTML=output;
  117. }
  118. </script>
  119. </head>
  120. <body class="mainbody" id="mbody" style="font-family: 'Noto Sans','Noto Sans CJK TC', 'Noto Sans CJK SC', 'Noto Sans TC', 'Noto Sans SC', 'Noto Sans CJK', Verdana, sans-serif; font-size:18px;">
  121. <!-- tool bar begin-->
  122. <div class='toolbar' >
  123. <script language="javascript">
  124. if(!g_is_mobile){
  125. document.write("<button id=\"B_Navi\" onclick=\"setNaviVisibility()\" type=\"button\">≡</button> ");
  126. }
  127. </script>
  128. <script language="javascript">
  129. </script>
  130. <span id="debug"></span>
  131. </div>
  132. <!--tool bar end -->
  133. <div class="main" style="width:100%;height:100%;text-align:center; ">
  134. <div style="text-align:center; float:left;width:40%;height:80%;">
  135. My Text Is In
  136. <textarea id="txtInput" rows="30" cols="" style="float:left; font-family: 'Noto Sans','Noto Sans CJK TC', 'Noto Sans CJK SC', 'Noto Sans TC', 'Noto Sans SC', 'Noto Sans CJK', Verdana, sans-serif; font-size:16px; width:100%;height:100%;" ></textarea>
  137. </div>
  138. <div style="text-align:center; float:left;width:15%; display: flex;">
  139. <select id="m_str" style="align:center; font-size: 120%">
  140. <option value="ṃ,Ṃ">ṃ</option>
  141. <option value="ṁ,Ṁ">ṁ</option>
  142. <option value="ŋ,Ŋ">ŋ</option>
  143. </select>
  144. </br>
  145. </br>
  146. <button id="transfer" style="align:center; font-size: 200%; width:70px" type="button" onclick="glossary_replace()">→</button>
  147. </div>
  148. <div style="display: flex;flex-direction: column;">
  149. <span>
  150. <button id="add_drop" type="button" onclick="add_button('output_str_0')">+</button>
  151. I Need the Text In
  152. </span>
  153. <span id="output_span"; style="text-align:center;height:80%;">
  154. </span>
  155. <div style="height: 30em; border: 0.2em solid silver;display: flex;">
  156. <textarea id="txtOutput" style="font-family: 'Noto Sans','Noto Sans CJK TC', 'Noto Sans CJK SC', 'Noto Sans TC', 'Noto Sans SC', 'Noto Sans CJK', Verdana, sans-serif; font-size:16px; text-align: left; width:100%;height:100%"></textarea>
  157. </div>
  158. </div>
  159. <div class="debugMsg" id="xmldata"><!--调试信息-->
  160. </div>
  161. <!--right side end-->
  162. </div>
  163. <div id="modifywin">
  164. </div>
  165. </body>
  166. </html>
  167. <script language="javascript">
  168. //function make_dropdown_opt(dropdown_id){
  169. var opt_str="";
  170. var iCount_term_select=3
  171. for(i_opt in term_list_str[0]){
  172. if(iCount_term_select % 3==0){
  173. opt_str+="<div class='term_select_div'>"
  174. }
  175. if(i_opt=="id"){}
  176. else{
  177. opt_str+="<span class='term_select_span'>";
  178. opt_str+="<input id='"+i_opt+"_checkbox' type='checkbox' class='checkbox_1em' onclick='item_select(this)'>";
  179. opt_str+=i_opt+"</span>";
  180. g_unselected_array.push(i_opt);
  181. }
  182. if(iCount_term_select % 3==2 || iCount_term_select==term_list_str[0].length-1){
  183. opt_str+="</div>"
  184. }
  185. iCount_term_select++
  186. }
  187. document.getElementById("output_span").innerHTML=opt_str
  188. //}
  189. </script>