Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.79 KB | None | 0 0
  1.  
  2. function addCollapse(node) {
  3. let arrow = document.createElement("div");
  4. arrow.className = "collapseArrow";
  5. arrow.textContent = (node.getAttribute("collapsed") === "false") ? "▲" : "▼";
  6. insertAsFirstChild(node, arrow);
  7.  
  8. arrow.onclick = collapse;
  9.  
  10. }
  11.  
  12. function collapse(event) {
  13.  
  14. let sect = queryAncestorSelector(event.target, ".cuestionario");
  15. // let pregunta = node.querySelector(".pregunta");
  16. let collapseArrow = sect.querySelector(".collapseArrow");
  17. //let sect = node.parentNode;
  18. let toCollapse = (sect.getAttribute('collapsed') === "false") ? "true" : "false";
  19.  
  20. cuestionario = sect.querySelector("encabezado-cuestionario").tema;
  21. event.preventDefault();
  22.  
  23. const url = `${base}/${cuestionario}`;
  24. const payload = {
  25. tema: cuestionario,
  26. collapsed: toCollapse,
  27.  
  28. };
  29. const request = {
  30. method: 'PUT',
  31. headers: cabeceras,
  32. body: JSON.stringify(payload),
  33. };
  34. fetch(url, request)
  35. .then(response => response.json())
  36. .then(r => {
  37. if (r.error == null) {
  38.  
  39. collapseArrow.textContent = (toCollapse === "true") ? "▼" : "▲";
  40. sect.setAttribute("collapsed", toCollapse);
  41. print(r);
  42.  
  43.  
  44. } else
  45. print(r);
  46. })
  47. .catch(error => printError(error));
  48. }
  49.  
  50. function addStar(node) {
  51. let star = document.createElement("div");
  52. star.className = "star";
  53. star.textContent = "★";
  54. insertAsFirstChild(node, star);
  55.  
  56. star.onclick = highlight;
  57.  
  58. }
  59.  
  60. function highlight(event) {
  61. let node = queryAncestorSelector(event.target, '.bloque');
  62. let sect = node.parentNode;
  63. console.log(node.getAttribute('highlight'));
  64. let toHighlight = (node.getAttribute('highlight') === 'false') ? 'true' : 'false';
  65. let pregunta = node.querySelector('.pregunta');
  66. cuestionario = sect.querySelector("encabezado-cuestionario").tema;
  67. event.preventDefault();
  68.  
  69. let url = `${base}/${cuestionario}/${pregunta.textContent}`;
  70. const payload = {
  71. highlight: toHighlight,
  72.  
  73. };
  74. const request = {
  75. method: 'PUT',
  76. headers: cabeceras,
  77. body: JSON.stringify(payload),
  78. };
  79. console.log(url);
  80. fetch(url, request)
  81. .then(response => response.json())
  82. .then(r => {
  83. if (r.error == null) {
  84.  
  85. node.setAttribute("highlight", toHighlight);
  86. if (toHighlight === 'true') {
  87. if(node!== sect.querySelector('.bloque'))
  88. insertBeforeChild(sect, sect.querySelector('.bloque'), node)
  89. }
  90. print(r);
  91.  
  92.  
  93. } else
  94. print(r);
  95. })
  96. .catch(error => printError(error));
  97.  
  98.  
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement