wiki.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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 + 'opennamu_link')[for_a];
  17. for_a++
  18. ) {
  19. let link_data = document.getElementsByClassName(this.render_part_id_add + 'opennamu_link')[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(let for_b in link_list[for_a]) {
  38. document.getElementsByClassName(render_part_id_add + 'opennamu_link')[link_list[for_a][for_b]].id = "not_thing";
  39. }
  40. }
  41. }
  42. }
  43. }
  44. }
  45. do_part_toc() {
  46. if(document.getElementById('opennamu_TOC_content_1')) {
  47. for(
  48. let for_a = 1;
  49. document.getElementById('opennamu_heading_content_' + String(for_a));
  50. for_a++
  51. ) {
  52. let heading_data = document.getElementById('opennamu_heading_content_' + String(for_a));
  53. document.getElementById('opennamu_TOC_content_' + String(for_a)).innerHTML = heading_data.innerText;
  54. document.getElementById('opennamu_heading_content_' + String(for_a)).id = heading_data.innerText;
  55. }
  56. let toc_data_all = document.getElementsByClassName('opennamu_TOC');
  57. let toc_data = '';
  58. for(
  59. let for_a = 0;
  60. for_a < toc_data_all.length;
  61. for_a++
  62. ) {
  63. if(toc_data === '') {
  64. toc_data = toc_data_all[0].innerHTML;
  65. }
  66. document.getElementsByClassName('opennamu_TOC')[for_a].innerHTML = toc_data;
  67. }
  68. }
  69. }
  70. do_main() {
  71. this.do_part_link();
  72. this.do_part_toc();
  73. }
  74. }