setting.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. var setting;
  2. function setting_head_render(file) {
  3. let html = '<svg class="head_icon" style="height: 3em;width: 3em;">';
  4. html += '<use xlink:href="../head/images/"' + file + "></use>";
  5. html += "</svg>";
  6. $("#head_img").html(html);
  7. }
  8. function setting_onload() {
  9. $.post("get_setting.php", {}, function (data, status) {
  10. try {
  11. setting = JSON.parse(data);
  12. let html;
  13. //通用设置
  14. html = "";
  15. html += gLocal.gui.interface_language + ":";
  16. $("#setting_general").html(html);
  17. //通用设置结束
  18. //Library 设置
  19. html = "";
  20. html += "<h3>"+gLocal.gui.script+gLocal.gui.display+"</h3>";
  21. html += "<div>"+gLocal.gui.main_code +"&nbsp;"+ setting_render_paliscript("lib.first_script") + "</div>";
  22. html += "<div>"+gLocal.gui.sub_pcode +"&nbsp;"+ setting_render_paliscript("lib.second_script") + "</div>";
  23. $("#setting_library").html(html);
  24. //Library 设置结束
  25. //Studio 设置
  26. html = "";
  27. html += gLocal.gui.translation_language + ":";
  28. $("#setting_studio").html(html);
  29. //Studio 设置结束
  30. let dict_lang_others = new Array();
  31. for (const iterator of setting["_dict.lang"]) {
  32. if (setting["dict.lang"].indexOf(iterator) == -1) {
  33. dict_lang_others.push(iterator);
  34. }
  35. }
  36. html = "";
  37. html += gLocal.gui.magic_dict_language + ":";
  38. html += "<div style='display:flex;'>";
  39. html += "<fieldset style='width:10em;'>";
  40. html += "<legend>" + gLocal.gui.priority + "</legend>";
  41. html += "<ul id='ul_dict_lang1' class='dict_lang'>";
  42. let i = 0;
  43. for (const iterator of setting["dict.lang"]) {
  44. html +=
  45. "<li id='dict_lang1_li_" +
  46. i +
  47. "' value='" +
  48. iterator +
  49. "'>" +
  50. lang_get_org_name(iterator) +
  51. "</li>";
  52. i++;
  53. }
  54. html += "</ul>";
  55. html += "</fieldset>";
  56. html += "<fieldset style='width:10em;'>";
  57. html += "<legend>" + gLocal.gui.no_need + "</legend>";
  58. html += "<ul id='ul_dict_lang2' class='dict_lang'>";
  59. i = 0;
  60. for (const iterator of dict_lang_others) {
  61. html +=
  62. "<li id='dict_lang2_li_" +
  63. i +
  64. "' value='" +
  65. iterator +
  66. "'>" +
  67. lang_get_org_name(iterator) +
  68. "</li>";
  69. i++;
  70. }
  71. html += "</ul>";
  72. html += "</fieldset>";
  73. html += "</div>";
  74. $("#setting_dictionary").html(html);
  75. $("#ul_dict_lang1, #ul_dict_lang2")
  76. .sortable({
  77. connectWith: ".dict_lang",
  78. })
  79. .disableSelection();
  80. $("#ul_dict_lang1").sortable({
  81. update: function (event, ui) {
  82. let sortedIDs = $("#ul_dict_lang1").sortable("toArray");
  83. let newLang = new Array();
  84. for (const iSorted of sortedIDs) {
  85. newLang.push($("#" + iSorted).attr("value"));
  86. }
  87. setting["dict.lang"] = newLang;
  88. setting_save();
  89. },
  90. });
  91. } catch (e) {}
  92. });
  93. }
  94. function li_remove() {
  95. $(this).parent().remove();
  96. }
  97. var get_callback;
  98. function setting_get(key, callback) {
  99. get_callback = callback;
  100. $.post(
  101. "../ucenter/get_setting.php",
  102. {
  103. key: key,
  104. },
  105. function (data, status) {
  106. try {
  107. let arrSetting = JSON.parse(data);
  108. if (arrSetting.hasOwnProperty(key)) {
  109. get_callback(arrSetting[key]);
  110. } else {
  111. get_callback(false);
  112. }
  113. } catch (e) {
  114. get_callback(false);
  115. }
  116. }
  117. );
  118. }
  119. function setting_save() {
  120. $.post(
  121. "set_setting.php",
  122. {
  123. data: JSON.stringify(setting),
  124. },
  125. function (data, status) {
  126. ntf_show(data);
  127. }
  128. );
  129. }
  130. function setting_paliscript_change(set) {
  131. let x = document.getElementById(set);
  132. setting[set] = x.options[x.selectedIndex].text;
  133. setting_save();
  134. }
  135. function setting_render_paliscript(set) {
  136. let html = "";
  137. html += "<select id='" + set + "' onchange=\"setting_paliscript_change('" + set + "')\">";
  138. for (const iterator of setting["lib.pali_script"]) {
  139. html += "<option value='" + iterator + "'";
  140. if (iterator == setting[set]) {
  141. html += "selected='selected'";
  142. }
  143. html += ">";
  144. html += iterator;
  145. html += "</option>";
  146. }
  147. html += "</select>";
  148. return html;
  149. }