render_namumark.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. function get_link_state(data) {
  2. var link_list = [];
  3. var link_list_2 = {}
  4. for(var i = 0; document.getElementsByClassName(data + 'link_finder')[i]; i++) {
  5. var data_class = document.getElementsByClassName(data + 'link_finder')[i];
  6. if(!data_class.href.match(/^#/)) {
  7. link_list.push(data_class.title);
  8. if(!link_list_2[data_class.title]) {
  9. link_list_2[data_class.title] = [i];
  10. } else {
  11. link_list_2[data_class.title].push(i);
  12. }
  13. }
  14. }
  15. var data_form = new FormData();
  16. data_form.append('title_list', JSON.stringify(link_list));
  17. var xhr = new XMLHttpRequest();
  18. xhr.open("POST", "/api/w/test?v=exist");
  19. xhr.send(data_form);
  20. xhr.onreadystatechange = function() {
  21. console.log(this)
  22. if(this.readyState === 4 && this.status === 200) {
  23. var data_xhr = JSON.parse(this.responseText);
  24. console.log(data_xhr)
  25. for(var key in link_list_2) {
  26. if(!data_xhr[key]) {
  27. for(var key_2 in link_list_2[key]) {
  28. document.getElementsByClassName(data + 'link_finder')[link_list_2[key][key_2]].id = "not_thing";
  29. }
  30. }
  31. }
  32. }
  33. }
  34. }
  35. function load_image_link(data) {
  36. data.innerHTML = '' +
  37. '<img style="' + data.getAttribute('under_style') + '" ' +
  38. 'alt="' + data.getAttribute('under_alt') + '" ' +
  39. 'src="' + data.getAttribute('under_src') + '">' +
  40. '';
  41. }
  42. function get_file_state_extermal(data, data_exter) {
  43. if(document.cookie.match(main_css_regex_data('main_css_image_set'))) {
  44. var data_image_set = document.cookie.match(main_css_regex_data('main_css_image_set'))[1];
  45. } else {
  46. var data_image_set = '0';
  47. }
  48. var data_class = document.getElementsByClassName(data + 'file_finder');
  49. for(var key in data_exter) {
  50. var key = data_exter[key];
  51. if(data_image_set === '1') {
  52. document.getElementsByClassName(data + 'file_finder')[key].innerHTML = '' +
  53. '<a href="' + data_class[key].getAttribute('under_src') + '" ' +
  54. 'title="' + data_class[key].getAttribute('under_src') + '">' +
  55. '(External image link)' +
  56. '</a>' +
  57. '';
  58. } else if(data_image_set === '2') {
  59. document.getElementsByClassName(data + 'file_finder')[key].innerHTML = '' +
  60. '<a href="javascript:void(0);" ' +
  61. 'onclick="load_image_link(this); this.onclick = \'\';" ' +
  62. 'under_style="' + data_class[key].getAttribute('under_style') + '" ' +
  63. 'under_alt="' + data_class[key].getAttribute('under_alt') + '" ' +
  64. 'under_src="' + data_class[key].getAttribute('under_src') + '" ' +
  65. 'title="' + data_class[key].getAttribute('under_src') + '">' +
  66. '(External image load)' +
  67. '</a>' +
  68. '';
  69. } else {
  70. document.getElementsByClassName(data + 'file_finder')[key].innerHTML = '' +
  71. '<img style="' + data_class[key].getAttribute('under_style') + '" ' +
  72. 'alt="' + data_class[key].getAttribute('under_alt') + '" ' +
  73. 'src="' + data_class[key].getAttribute('under_src') + '">' +
  74. '';
  75. }
  76. }
  77. }
  78. function get_file_state_intermal(data, data_inter) {
  79. var data_dict = {};
  80. var data_list = [];
  81. for(var key in data_inter) {
  82. var data_class = document.getElementsByClassName(data + 'file_finder')[key];
  83. var file_org = data_class.getAttribute('under_alt');
  84. var file_type = file_org.split('.');
  85. var file_name = file_type.slice(0, file_type.length - 1).join('.');
  86. file_type = file_type[file_type.length - 1];
  87. if(!data_dict[file_org]) {
  88. data_dict[file_org] = {};
  89. }
  90. data_dict[file_org]['file_name'] = file_name;
  91. data_dict[file_org]['file_type'] = file_type;
  92. data_list.push(file_name);
  93. if(!data_dict[file_org]['list']) {
  94. data_dict[file_org]['list'] = [key];
  95. } else {
  96. data_dict[file_org]['list'].push(key);
  97. }
  98. }
  99. if(document.cookie.match(main_css_regex_data('main_css_image_set'))) {
  100. var data_image_set = document.cookie.match(main_css_regex_data('main_css_image_set'))[1];
  101. } else {
  102. var data_image_set = '0';
  103. }
  104. var data_form = new FormData();
  105. data_form.append('title_list', JSON.stringify(data_list));
  106. var xhr = new XMLHttpRequest();
  107. xhr.open("POST", '/api/sha224/test');
  108. xhr.send(data_form);
  109. xhr.onreadystatechange = function() {
  110. if(this.readyState === 4 && this.status === 200) {
  111. var file_sha224 = JSON.parse(this.responseText);
  112. var data_list_2 = [];
  113. for(var key in data_dict) {
  114. data_dict[key]['file_sha224'] = file_sha224[data_dict[key]['file_name']]
  115. data_list_2.push(data_dict[key]['file_sha224'] + '.' + data_dict[key]['file_type'])
  116. }
  117. var data_form_2 = new FormData();
  118. data_form_2.append('title_list', JSON.stringify(data_list_2));
  119. var xhr_2 = new XMLHttpRequest();
  120. xhr_2.open("POST", '/api/image/test');
  121. xhr_2.send(data_form_2);
  122. xhr_2.onreadystatechange = function() {
  123. if(this.readyState === 4 && this.status === 200) {
  124. var file_data = JSON.parse(this.responseText);
  125. var data_class = document.getElementsByClassName(data + 'file_finder');
  126. for(var key_3 in data_dict) {
  127. if(!file_data[data_dict[key_3]['file_sha224'] + '.' + data_dict[key_3]['file_type']]) {
  128. for(var key_4 in data_dict[key_3]['list']) {
  129. var key_4 = data_dict[key_3]['list'][key_4];
  130. document.getElementsByClassName(data + 'file_finder')[key_4].innerHTML = '' +
  131. '<a href="' + data_class[key_4].getAttribute('under_href') + '" ' +
  132. 'id="not_thing">' +
  133. '(' + data_class[key_4].getAttribute('under_alt') + ')' +
  134. '</a>' +
  135. '';
  136. }
  137. } else {
  138. if(data_image_set === '1') {
  139. for(var key_4 in data_dict[key_3]['list']) {
  140. var key_4 = data_dict[key_3]['list'][key_4];
  141. document.getElementsByClassName(data + 'file_finder')[key_4].innerHTML = '' +
  142. '<a href="/image/' + data_dict[key_3]['file_sha224'] + '.' + data_dict[key_3]['file_type'] + '">' +
  143. '(' + data_class[key_4].getAttribute('under_alt') + ')' +
  144. '</a>' +
  145. '';
  146. }
  147. } else if(data_image_set === '2') {
  148. for(var key_4 in data_dict[key_3]['list']) {
  149. var key_4 = data_dict[key_3]['list'][key_4];
  150. document.getElementsByClassName(data + 'file_finder')[key_4].innerHTML = '' +
  151. '<a href="javascript:void(0);" ' +
  152. 'onclick="load_image_link(this); this.onclick = \'\';" ' +
  153. 'under_style="' + data_class[key_4].getAttribute('under_style') + '" ' +
  154. 'under_alt="' + data_class[key_4].getAttribute('under_alt') + '" ' +
  155. 'under_src="/image/' + data_dict[key_3]['file_sha224'] + '.' + data_dict[key_3]['file_type'] + '">' +
  156. '(' + data_class[key_4].getAttribute('under_alt') + ' load)' +
  157. '</a>' +
  158. '';
  159. }
  160. } else {
  161. for(var key_4 in data_dict[key_3]['list']) {
  162. var key_4 = data_dict[key_3]['list'][key_4];
  163. document.getElementsByClassName(data + 'file_finder')[key_4].innerHTML = '' +
  164. '<img style="' + data_class[key_4].getAttribute('under_style') + '" ' +
  165. 'alt="' + data_class[key_4].getAttribute('under_alt') + '" ' +
  166. 'src="/image/' + data_dict[key_3]['file_sha224'] + '.' + data_dict[key_3]['file_type'] + '">' +
  167. '' +
  168. '';
  169. }
  170. }
  171. }
  172. }
  173. }
  174. }
  175. }
  176. }
  177. }
  178. function get_file_state(data, i = 0) {
  179. var data_exter = [];
  180. var data_inter = [];
  181. for(var i = 0; document.getElementsByClassName(data + 'file_finder')[i]; i++) {
  182. var data_class = document.getElementsByClassName(data + 'file_finder')[i];
  183. if(data_class.getAttribute('under_href') === 'out_link') {
  184. data_exter.push(i);
  185. } else {
  186. data_inter.push(i);
  187. }
  188. }
  189. get_file_state_extermal(data, data_exter);
  190. get_file_state_intermal(data, data_inter);
  191. }
  192. function load_include(name_doc, name_ob, data_include, name_org = '') {
  193. var change = '';
  194. for(var key in data_include) {
  195. change += '' +
  196. '@' + data_include[key][0].replace('&', '<amp>') + '@,' +
  197. data_include[key][1].replace(',', '<comma>').replace('&', '<amp>') + ',' +
  198. ''
  199. }
  200. var url = '' +
  201. "/api/w/" + encodeURI(name_doc) +
  202. "?include=" + name_ob +
  203. "&change=" + change +
  204. '&name_org=' + name_org +
  205. '';
  206. var xhr = new XMLHttpRequest();
  207. xhr.open("GET", url);
  208. xhr.send();
  209. xhr.onreadystatechange = function() {
  210. if(this.readyState === 4 && this.status === 200) {
  211. if(this.responseText === "{}\n") {
  212. document.getElementById(name_ob).innerHTML = "";
  213. document.getElementsByClassName(name_ob)[0].href = "/w/" + do_url_change(name_doc);
  214. document.getElementsByClassName(name_ob)[0].id = "not_thing";
  215. } else {
  216. var data_load = JSON.parse(this.responseText);
  217. document.getElementById(name_ob).innerHTML = data_load['data'];
  218. eval(data_load['js_data']);
  219. }
  220. }
  221. }
  222. }
  223. function page_count() {
  224. var url = "/api/title_index";
  225. var xhr = new XMLHttpRequest();
  226. xhr.open("GET", url);
  227. xhr.send();
  228. xhr.onreadystatechange = function() {
  229. if(this.readyState === 4 && this.status === 200) {
  230. var i = 0;
  231. while(document.getElementsByClassName('all_page_count')[i]) {
  232. document.getElementsByClassName('all_page_count')[i].innerHTML = JSON.parse(this.responseText)['count'];
  233. i += 1;
  234. }
  235. }
  236. }
  237. }
  238. function do_open_folding(data, element = '') {
  239. var fol = document.getElementById(data);
  240. if(fol.style.display === '' || (fol.style.display === 'inline-block' || fol.style.display === 'block')) {
  241. document.getElementById(data).style.display = 'none';
  242. } else {
  243. document.getElementById(data).style.display = 'block';
  244. }
  245. if(element != '') {
  246. var fol_data = element.innerHTML;
  247. if(fol_data != '⊖') {
  248. element.innerHTML = '⊖';
  249. } else {
  250. element.innerHTML = '⊕';
  251. }
  252. }
  253. }
  254. function do_open_foot(name, num = 0) {
  255. var found_include = name.match(/^(include_(?:[0-9]+)\-)/);
  256. if(found_include) {
  257. var include_name = name.replace(/^(?:include_(?:[0-9]+)\-)/, '');
  258. var front_data = found_include[1];
  259. } else {
  260. var include_name = name;
  261. var front_data = '';
  262. }
  263. if(
  264. document.cookie.match(main_css_regex_data('main_css_footnote_set')) &&
  265. document.cookie.match(main_css_regex_data('main_css_footnote_set'))[1] === '1'
  266. ) {
  267. if(num === 1) {
  268. document.getElementById(front_data + 'r' + include_name).focus();
  269. } else {
  270. var get_data = document.getElementById(front_data + include_name).innerHTML;
  271. var org_data = document.getElementById(front_data + 'd' + include_name).innerHTML;
  272. if(org_data === '') {
  273. document.getElementById(front_data + 'd' + include_name).innerHTML = '' +
  274. '<a href="#' + front_data + 'c' + include_name + '">(Go)</a> ' + get_data +
  275. '';
  276. document.getElementById(front_data + 'd' + include_name).className = 'spead_footnote';
  277. } else {
  278. document.getElementById(front_data + 'd' + include_name).innerHTML = '';
  279. document.getElementById(front_data + 'd' + include_name).className = '';
  280. }
  281. }
  282. } else {
  283. document.getElementById(front_data + 'r' + include_name).style.color = 'red';
  284. document.getElementById(front_data + 'c' + include_name).style.color = (num === 1 ? 'inherit' : 'red');
  285. document.getElementById(front_data + (num === 1 ? 'r' : 'c') + include_name).focus();
  286. }
  287. }