wiki.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. "use strict";
  2. class opennamu_render_wiki {
  3. constructor(
  4. render_part_id_add
  5. ) {
  6. this.render_part_id_add = render_part_id_add;
  7. }
  8. do_part_image() {
  9. }
  10. do_part_link() {
  11. let render_part_id_add = this.render_part_id_add;
  12. let link_list = {};
  13. let link_list_sub = [];
  14. for(
  15. let for_a = 0;
  16. document.getElementsByClassName(this.render_part_id_add + 'opennamuLink')[for_a];
  17. for_a++
  18. ) {
  19. let link_data = document.getElementsByClassName(this.render_part_id_add + 'opennamuLink')[for_a];
  20. link_list_sub.push(link_data.title);
  21. if(!link_list[link_data.title]) {
  22. link_list[link_data.title] = [for_a];
  23. } else {
  24. link_list[link_data.title].push(for_a);
  25. }
  26. }
  27. let data_form = new FormData();
  28. data_form.append('title_list', JSON.stringify(link_list_sub));
  29. let xhr = new XMLHttpRequest();
  30. xhr.open("POST", "/api/w/test/doc_tool/exist");
  31. xhr.send(data_form);
  32. xhr.onreadystatechange = function() {
  33. if(this.readyState === 4 && this.status === 200) {
  34. let xhr_data = JSON.parse(this.responseText);
  35. for(let for_a in link_list) {
  36. if(!xhr_data[for_a]) {
  37. for(var for_b in link_list[for_a]) {
  38. document.getElementsByClassName(render_part_id_add + 'opennamuLink')[link_list[for_a][for_b]].id = "not_thing";
  39. }
  40. }
  41. }
  42. }
  43. }
  44. }
  45. do_part_toc() {
  46. for(
  47. let for_a = 1;
  48. document.getElementById('opennamuHeadingContent' + String(for_a));
  49. for_a++
  50. ) {
  51. let heading_data = document.getElementById('opennamuHeadingContent' + String(for_a));
  52. document.getElementById('opennamuTOCcontent' + String(for_a)).innerHTML = heading_data.innerText;
  53. document.getElementById('opennamuHeadingContent' + String(for_a)).id = heading_data.innerText;
  54. }
  55. let toc_data_all = document.getElementsByClassName('opennamuTOC');
  56. let toc_data = '';
  57. for(
  58. let for_a = 0;
  59. for_a < toc_data_all.length;
  60. for_a++
  61. ) {
  62. if(toc_data === '') {
  63. toc_data = toc_data_all[0].innerHTML;
  64. }
  65. document.getElementsByClassName('opennamuTOC')[for_a].innerHTML = toc_data;
  66. }
  67. }
  68. do_main() {
  69. this.do_part_link();
  70. this.do_part_toc();
  71. }
  72. }