main.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. function open_foot(name) {
  2. var o_data = document.getElementById('c' + name);
  3. name = name.replace(/\.([0-9]+)$/, '');
  4. var g_data = document.getElementById(name);
  5. if(o_data.innerHTML === '') {
  6. o_data.innerHTML += '<sup><a onclick="open_foot(\'' + name + '\')" href="#' + name + '">(Go)</a></sup> ' + g_data.innerHTML;
  7. } else {
  8. o_data.innerHTML = '';
  9. }
  10. }
  11. function topic_load(name, sub) {
  12. function addZero(i) {
  13. if(i < 10) {
  14. i = "0" + i;
  15. }
  16. return i;
  17. }
  18. setTimeout(function() {
  19. var test = setInterval(function() {
  20. var d = new Date();
  21. d.setSeconds(d.getSeconds() - 3);
  22. var date = d.getFullYear() + '-' + addZero(d.getMonth() + 1) + '-' + addZero(d.getDate());
  23. date += ' ' + addZero(d.getHours()) + ':' + addZero(d.getMinutes()) + ':' + addZero(d.getSeconds());
  24. var url = "/api/topic/" + name + "/sub/" + sub + "?time=" + date;
  25. var xhr = new XMLHttpRequest();
  26. var doc_data = document.getElementById("plus");
  27. xhr.open("GET", url, true);
  28. xhr.send(null);
  29. xhr.onreadystatechange = function() {
  30. if(this.readyState === 4 && this.status === 200 && this.responseText !== "{}\n") {
  31. doc_data.innerText += '(New)\n\n';
  32. clearInterval(test);
  33. }
  34. }
  35. }, 1000)
  36. }, 4000);
  37. }
  38. function folding(num) {
  39. var fol = document.getElementById('folding_' + num);
  40. if(fol.style.display === 'inline-block' || fol.style.display === 'block') {
  41. fol.style.display = 'none';
  42. } else {
  43. fol.style.display = 'block';
  44. }
  45. }
  46. function do_preview(name) {
  47. var o_data = document.getElementById('content');
  48. var p_data = document.getElementById('see_preview');
  49. var s_data = new FormData();
  50. s_data.append('data', o_data.value);
  51. var url = "/api/w/" + name;
  52. var xhr = new XMLHttpRequest();
  53. xhr.open("POST", url, true);
  54. xhr.send(s_data);
  55. xhr.onreadystatechange = function() {
  56. if(this.readyState === 4 && this.status === 200) {
  57. p_data.innerHTML = JSON.parse(this.responseText)['data'];
  58. }
  59. }
  60. }