setting.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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. html = "";
  14. html += gLocal.gui.interface_language + ":";
  15. $("#setting_general").html(html);
  16. html = "";
  17. html += gLocal.gui.translation_language + ":";
  18. $("#setting_studio").html(html);
  19. let dict_lang_others = new Array();
  20. for (const iterator of setting["_dict.lang"]) {
  21. if (setting["dict.lang"].indexOf(iterator) == -1) {
  22. dict_lang_others.push(iterator);
  23. }
  24. }
  25. html = "";
  26. html += gLocal.gui.magic_dict_language + ":";
  27. html += "<div style='display:flex;'>";
  28. html += "<fieldset style='width:10em;'>";
  29. html += "<legend>" + gLocal.gui.priority + "</legend>";
  30. html += "<ul id='ul_dict_lang1' class='dict_lang'>";
  31. let i = 0;
  32. for (const iterator of setting["dict.lang"]) {
  33. html +=
  34. "<li id='dict_lang1_li_" +
  35. i +
  36. "' value='" +
  37. iterator +
  38. "'>" +
  39. lang_get_org_name(iterator) +
  40. "</li>";
  41. i++;
  42. }
  43. html += "</ul>";
  44. html += "</fieldset>";
  45. html += "<fieldset style='width:10em;'>";
  46. html += "<legend>" + gLocal.gui.no_need + "</legend>";
  47. html += "<ul id='ul_dict_lang2' class='dict_lang'>";
  48. i = 0;
  49. for (const iterator of dict_lang_others) {
  50. html +=
  51. "<li id='dict_lang2_li_" +
  52. i +
  53. "' value='" +
  54. iterator +
  55. "'>" +
  56. lang_get_org_name(iterator) +
  57. "</li>";
  58. i++;
  59. }
  60. html += "</ul>";
  61. html += "</fieldset>";
  62. html += "</div>";
  63. $("#setting_dictionary").html(html);
  64. $("#ul_dict_lang1, #ul_dict_lang2")
  65. .sortable({
  66. connectWith: ".dict_lang",
  67. })
  68. .disableSelection();
  69. $("#ul_dict_lang1").sortable({
  70. update: function (event, ui) {
  71. let sortedIDs = $("#ul_dict_lang1").sortable("toArray");
  72. let newLang = new Array();
  73. for (const iSorted of sortedIDs) {
  74. newLang.push($("#" + iSorted).attr("value"));
  75. }
  76. setting["dict.lang"] = newLang;
  77. setting_save();
  78. },
  79. });
  80. } catch (e) {}
  81. });
  82. }
  83. function li_remove() {
  84. $(this).parent().remove();
  85. }
  86. var get_callback;
  87. function setting_get(key, callback) {
  88. get_callback = callback;
  89. $.post(
  90. "../ucenter/get_setting.php",
  91. {
  92. key: key,
  93. },
  94. function (data, status) {
  95. try {
  96. let arrSetting = JSON.parse(data);
  97. if (arrSetting.hasOwnProperty(key)) {
  98. get_callback(arrSetting[key]);
  99. } else {
  100. get_callback(false);
  101. }
  102. } catch (e) {
  103. get_callback(false);
  104. }
  105. }
  106. );
  107. }
  108. function setting_save() {
  109. $.post(
  110. "set_setting.php",
  111. {
  112. data: JSON.stringify(setting),
  113. },
  114. function (data, status) {
  115. ntf_show(data);
  116. }
  117. );
  118. }