| 54 issue_status.style.display = 'inline-block' |
54 issue_status.style.display = 'inline-block' |
| 55 variant_status.style.display = 'none' |
55 variant_status.style.display = 'none' |
| 56 } |
56 } |
| 57 } |
57 } |
| 58 |
58 |
| |
59 function initMarkdownEditor(id) { |
| |
60 const btn_preview = document.getElementById(`${id}-btn-preview`); |
| |
61 const btn_edit = document.getElementById(`${id}-btn-edit`); |
| |
62 const textarea = document.getElementById(`${id}`); |
| |
63 const preview = document.getElementById(`${id}-preview`); |
| |
64 btn_preview.addEventListener('click', () => { |
| |
65 textarea.style.display = 'none'; |
| |
66 preview.style.display = 'block'; |
| |
67 textarea.dataset.original = textarea.value; |
| |
68 btn_preview.style.display = 'none'; |
| |
69 btn_edit.style.display = 'inline-block'; |
| |
70 const req = new XMLHttpRequest(); |
| |
71 req.addEventListener("load", (evt) => { |
| |
72 if (evt.target.status === 200) { |
| |
73 preview.innerHTML = evt.target.responseText; |
| |
74 } else { |
| |
75 // revert the button click as fallback |
| |
76 setTimeout(() => btn_edit.click(), 100); |
| |
77 } |
| |
78 }); |
| |
79 let url = baseHref + 'issues/preview-markdown'; |
| |
80 req.open("POST", url); |
| |
81 req.setRequestHeader("Content-Type", "text/plain"); |
| |
82 req.send(textarea.value); |
| |
83 }); |
| |
84 btn_edit.addEventListener('click', () => { |
| |
85 textarea.readOnly = false; |
| |
86 textarea.value = textarea.dataset.original; |
| |
87 textarea.style.display = 'block'; |
| |
88 preview.style.display = 'none'; |
| |
89 textarea.focus(); |
| |
90 btn_preview.style.display = 'inline-block'; |
| |
91 btn_edit.style.display = 'none'; |
| |
92 }); |
| |
93 btn_edit.style.display = 'none'; |
| |
94 preview.style.display = 'none'; |
| |
95 } |
| |
96 |
| 59 window.addEventListener("load", () => { |
97 window.addEventListener("load", () => { |
| 60 toggleVariantStatus(); |
98 toggleVariantStatus(); |
| 61 const sbox = document.getElementById('linkable-issues'); |
99 const sbox = document.getElementById('linkable-issues'); |
| 62 if (!sbox) return; |
100 if (!sbox) return; |
| 63 configureSearchBox('linkable-issues', sbox.dataset.project); |
101 configureSearchBox('linkable-issues', sbox.dataset.project); |