2
0

term_sys_tool2.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  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. <style>
  120. .bg0{
  121. background-color:#FF9;
  122. }
  123. .bg1{
  124. background-color:#AAA;
  125. }
  126. </style>
  127. </head>
  128. <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;">
  129. <!-- tool bar begin-->
  130. <div class='toolbar' >
  131. <script language="javascript">
  132. if(!g_is_mobile){
  133. document.write("<button id=\"B_Navi\" onclick=\"setNaviVisibility()\" type=\"button\">≡</button> ");
  134. }
  135. </script>
  136. <script language="javascript">
  137. </script>
  138. <span id="debug"></span>
  139. </div>
  140. <!--tool bar end -->
  141. <div class="main" style="width:100%;height:100%;text-align:center; ">
  142. <div style="text-align:center; float:left;width:40%;height:80%;">
  143. My Text Is In
  144. <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>
  145. </div>
  146. <div style="text-align:center; float:left;width:15%; display: flex;">
  147. <select id="m_str" style="align:center; font-size: 120%">
  148. <option value="ṃ,Ṃ">ṃ</option>
  149. <option value="ṁ,Ṁ">ṁ</option>
  150. <option value="ŋ,Ŋ">ŋ</option>
  151. </select>
  152. </br>
  153. </br>
  154. <button id="transfer" style="align:center; font-size: 200%; width:70px" type="button" onclick="glossary_replace()">→</button>
  155. </div>
  156. <div style="display: flex;flex-direction: column;">
  157. <span>
  158. <button id="add_drop" type="button" onclick="add_button('output_str_0')">+</button>
  159. I Need the Text In
  160. </span>
  161. <span id="output_span"; style="text-align:center;height:80%;">
  162. </span>
  163. <div style="height: 30em; border: 0.2em solid silver;display: flex;">
  164. <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>
  165. </div>
  166. </div>
  167. <div class="debugMsg" id="xmldata"><!--调试信息-->
  168. </div>
  169. <!--right side end-->
  170. </div>
  171. <div id="modifywin">
  172. </div>
  173. </body>
  174. </html>
  175. <script language="javascript">
  176. //function make_dropdown_opt(dropdown_id){
  177. var opt_str="";
  178. var iCount_term_select=3
  179. for(i_opt in term_list_str[0]){
  180. if(iCount_term_select % 3==0){
  181. opt_str+="<div class='term_select_div'>"
  182. }
  183. if(i_opt=="id"){}
  184. else{
  185. opt_str+="<span class='term_select_span'>";
  186. opt_str+="<input id='"+i_opt+"_checkbox' type='checkbox' class='checkbox_1em' onclick='item_select(this)'>";
  187. opt_str+=i_opt+"</span>";
  188. g_unselected_array.push(i_opt);
  189. }
  190. if(iCount_term_select % 3==2 || iCount_term_select==term_list_str[0].length-1){
  191. opt_str+="</div>"
  192. }
  193. iCount_term_select++
  194. }
  195. document.getElementById("output_span").innerHTML=opt_str
  196. //}
  197. </script>