diff options
author | 2018-06-20 14:07:14 +0100 | |
---|---|---|
committer | 2018-06-20 14:07:14 +0100 | |
commit | 95e9754858505ef35cff6ab0f78eceb3c074222c (patch) | |
tree | 144842183984bdc5cc28545596b8c93ddb3f6657 /templates | |
parent | Merge branch 'momo/fix-jam-question-add' into 'master' (diff) |
Fix RST editor loading on pages that use it
Diffstat (limited to 'templates')
-rw-r--r-- | templates/staff/jams/edit_ending.html | 128 | ||||
-rw-r--r-- | templates/staff/jams/edit_info.html | 256 | ||||
-rw-r--r-- | templates/staff/jams/forms/preamble_edit.html | 128 | ||||
-rw-r--r-- | templates/staff/tables/edit.html | 18 |
4 files changed, 269 insertions, 261 deletions
diff --git a/templates/staff/jams/edit_ending.html b/templates/staff/jams/edit_ending.html index 4e70776e..a0c5e8ff 100644 --- a/templates/staff/jams/edit_ending.html +++ b/templates/staff/jams/edit_ending.html @@ -64,87 +64,89 @@ <script type="application/javascript"> "use strict"; - let csrf_token = "{{ csrf_token() }}"; - let modal = UIkit.modal(document.getElementById("preview-modal")); - let preview_url = "{{ url_for("staff.render") }}"; + window.onload = () => { + let csrf_token = "{{ csrf_token() }}"; + let modal = UIkit.modal(document.getElementById("preview-modal")); + let preview_url = "{{ url_for("staff.render") }}"; + + function do_preview(callback) { + let oReq = new XMLHttpRequest(); + + oReq.addEventListener("load", function () { + let response = JSON.parse(this.responseText); + + if (response.error !== undefined) { + document.getElementById("done").disabled = true; + + if (response.error_lines !== undefined) { + editor.session.setAnnotations(response.error_lines); + document.getElementById("preview-div").innerHTML = "<h3>Error - see editor margin</h3>"; + } else { + console.log("Error: " + response.error); + document.getElementById("preview-div").innerHTML = "<h3>Error</h3><p>" + response.error + "<p>"; + } + } else { + document.getElementById("done").disabled = false; + document.getElementById("preview-div").innerHTML = response.data; - function do_preview(callback) { - let oReq = new XMLHttpRequest(); + editor.session.setAnnotations([]); + } - oReq.addEventListener("load", function() { - let response = JSON.parse(this.responseText); + if (callback !== undefined) { + callback(); + } + }); - if (response.error !== undefined) { + let data = editor.getValue(); + + if (data.replace("\s", "").length < 1) { document.getElementById("done").disabled = true; - if (response.error_lines !== undefined) { - editor.session.setAnnotations(response.error_lines); - document.getElementById("preview-div").innerHTML ="<h3>Error - see editor margin</h3>"; - } else { - console.log("Error: " + response.error); - document.getElementById("preview-div").innerHTML ="<h3>Error</h3><p>" + response.error + "<p>"; + if (callback !== undefined) { + UIkit.notification({ + "message": "Please enter some text to preview", + "status": "danger", + "pos": "bottom-center", + "timeout": 5000 + }); } - } else { - document.getElementById("done").disabled = false; - document.getElementById("preview-div").innerHTML = response.data; - - editor.session.setAnnotations([]); + return false; } - if (callback !== undefined) { - callback(); - } - }); + oReq.open("POST", preview_url); - let data = editor.getValue(); + oReq.setRequestHeader("Content-type", "application/json"); + oReq.setRequestHeader("X-CSRFToken", csrf_token); - if (data.replace("\s", "").length < 1) { - document.getElementById("done").disabled = true; + oReq.send(JSON.stringify({"data": editor.getValue()})); - if (callback !== undefined) { - UIkit.notification({ - "message": "Please enter some text to preview", - "status": "danger", - "pos": "bottom-center", - "timeout": 5000 - }); - } return false; } - oReq.open("POST", preview_url); + document.getElementById("preview").onclick = function () { + do_preview(function () { + modal.show(); + }) + }; - oReq.setRequestHeader("Content-type", "application/json"); - oReq.setRequestHeader("X-CSRFToken", csrf_token); + let editor = ace.edit("editor"); + let timer; - oReq.send(JSON.stringify({"data": editor.getValue()})); + editor.session.setMode("ace/mode/rst"); + editor.session.setUseWrapMode(true); - return false; - } + editor.setTheme("ace/theme/iplastic"); + editor.setShowPrintMargin(false); - document.getElementById("preview").onclick = function() { - do_preview(function() { - modal.show(); - }) - }; - - let editor = ace.edit("editor"); - let timer; - - editor.session.setMode("ace/mode/rst"); - editor.session.setUseWrapMode(true); - - editor.setTheme("ace/theme/iplastic"); - editor.setShowPrintMargin(false); - - editor.on("input", function() { - document.getElementById("done").disabled = true; - document.getElementById("end_rst").value = editor.getValue(); + editor.on("input", function () { + document.getElementById("done").disabled = true; + document.getElementById("end_rst").value = editor.getValue(); - if (timer !== undefined) { - clearTimeout(timer); - } - timer = setTimeout(do_preview, 1000); - }); + if (timer !== undefined) { + clearTimeout(timer); + } + timer = setTimeout(do_preview, 1000); + }); + }; </script> {% endblock %} diff --git a/templates/staff/jams/edit_info.html b/templates/staff/jams/edit_info.html index 471f7aaf..75df1957 100644 --- a/templates/staff/jams/edit_info.html +++ b/templates/staff/jams/edit_info.html @@ -133,175 +133,177 @@ <script type="application/javascript"> "use strict"; - let csrf_token = "{{ csrf_token() }}"; - let info_modal = UIkit.modal(document.getElementById("preview-info-modal")); - let task_modal = UIkit.modal(document.getElementById("preview-task-modal")); - let preview_url = "{{ url_for("staff.render") }}"; + window.onload = () => { + let csrf_token = "{{ csrf_token() }}"; + let info_modal = UIkit.modal(document.getElementById("preview-info-modal")); + let task_modal = UIkit.modal(document.getElementById("preview-task-modal")); + let preview_url = "{{ url_for("staff.render") }}"; + + function do_preview_info(callback) { + let oReq = new XMLHttpRequest(); + + oReq.addEventListener("load", function () { + let response = JSON.parse(this.responseText); + + if (response.error !== undefined) { + document.getElementById("done").disabled = true; + + if (response.error_lines !== undefined) { + info_editor.session.setAnnotations(response.error_lines); + document.getElementById("preview-info-div").innerHTML = "<h3>Error - see editor margin</h3>"; + } else { + console.log("Error: " + response.error); + document.getElementById("preview-info-div").innerHTML = "<h3>Error</h3><p>" + response.error + "<p>"; + } + } else { + document.getElementById("done").disabled = false; + document.getElementById("preview-info-div").innerHTML = response.data; - function do_preview_info(callback) { - let oReq = new XMLHttpRequest(); + info_editor.session.setAnnotations([]); + } - oReq.addEventListener("load", function() { - let response = JSON.parse(this.responseText); + if (callback !== undefined) { + callback(); + } + }); - if (response.error !== undefined) { + let data = info_editor.getValue(); + + if (data.replace("\s", "").length < 1) { document.getElementById("done").disabled = true; - if (response.error_lines !== undefined) { - info_editor.session.setAnnotations(response.error_lines); - document.getElementById("preview-info-div").innerHTML ="<h3>Error - see editor margin</h3>"; - } else { - console.log("Error: " + response.error); - document.getElementById("preview-info-div").innerHTML ="<h3>Error</h3><p>" + response.error + "<p>"; + if (callback !== undefined) { + UIkit.notification({ + "message": "Please enter some text to preview", + "status": "danger", + "pos": "bottom-center", + "timeout": 5000 + }); } - } else { - document.getElementById("done").disabled = false; - document.getElementById("preview-info-div").innerHTML = response.data; - - info_editor.session.setAnnotations([]); + return false; } - if (callback !== undefined) { - callback(); - } - }); + oReq.open("POST", preview_url); - let data = info_editor.getValue(); + oReq.setRequestHeader("Content-type", "application/json"); + oReq.setRequestHeader("X-CSRFToken", csrf_token); - if (data.replace("\s", "").length < 1) { - document.getElementById("done").disabled = true; + oReq.send(JSON.stringify({"data": data})); - if (callback !== undefined) { - UIkit.notification({ - "message": "Please enter some text to preview", - "status": "danger", - "pos": "bottom-center", - "timeout": 5000 - }); - } return false; } - oReq.open("POST", preview_url); + function do_preview_task(callback) { + let oReq = new XMLHttpRequest(); - oReq.setRequestHeader("Content-type", "application/json"); - oReq.setRequestHeader("X-CSRFToken", csrf_token); + oReq.addEventListener("load", function () { + let response = JSON.parse(this.responseText); - oReq.send(JSON.stringify({"data": data})); + if (response.error !== undefined) { + document.getElementById("done").disabled = true; - return false; - } + if (response.error_lines !== undefined) { + task_editor.session.setAnnotations(response.error_lines); + document.getElementById("preview-task-div").innerHTML = "<h3>Error - see editor margin</h3>"; + } else { + console.log("Error: " + response.error); + document.getElementById("preview-task-div").innerHTML = "<h3>Error</h3><p>" + response.error + "<p>"; + } + } else { + document.getElementById("done").disabled = false; + document.getElementById("preview-task-div").innerHTML = response.data; - function do_preview_task(callback) { - let oReq = new XMLHttpRequest(); + task_editor.session.setAnnotations([]); + } - oReq.addEventListener("load", function() { - let response = JSON.parse(this.responseText); + if (callback !== undefined) { + callback(); + } + }); - if (response.error !== undefined) { + let data = task_editor.getValue(); + + if (data.replace("\s", "").length < 1) { document.getElementById("done").disabled = true; - if (response.error_lines !== undefined) { - task_editor.session.setAnnotations(response.error_lines); - document.getElementById("preview-task-div").innerHTML ="<h3>Error - see editor margin</h3>"; - } else { - console.log("Error: " + response.error); - document.getElementById("preview-task-div").innerHTML ="<h3>Error</h3><p>" + response.error + "<p>"; + if (callback !== undefined) { + UIkit.notification({ + "message": "Please enter some text to preview", + "status": "danger", + "pos": "bottom-center", + "timeout": 5000 + }); } - } else { - document.getElementById("done").disabled = false; - document.getElementById("preview-task-div").innerHTML = response.data; - - task_editor.session.setAnnotations([]); + return false; } - if (callback !== undefined) { - callback(); - } - }); + oReq.open("POST", preview_url); - let data = task_editor.getValue(); + oReq.setRequestHeader("Content-type", "application/json"); + oReq.setRequestHeader("X-CSRFToken", csrf_token); - if (data.replace("\s", "").length < 1) { - document.getElementById("done").disabled = true; + oReq.send(JSON.stringify({"data": data})); - if (callback !== undefined) { - UIkit.notification({ - "message": "Please enter some text to preview", - "status": "danger", - "pos": "bottom-center", - "timeout": 5000 - }); - } return false; } - oReq.open("POST", preview_url); - - oReq.setRequestHeader("Content-type", "application/json"); - oReq.setRequestHeader("X-CSRFToken", csrf_token); + document.getElementById("preview-task-button").onclick = function () { + do_preview_task(function () { + task_modal.show(); + }) + }; - oReq.send(JSON.stringify({"data": data})); + document.getElementById("preview-info-button").onclick = function () { + do_preview_info(function () { + info_modal.show(); + }) + }; - return false; - } + document.getElementById("theme").oninput = function () { + document.getElementById("preview-task-theme").textContent = this.value; + document.getElementById("preview-info-theme").textContent = this.value; + }; - document.getElementById("preview-task-button").onclick = function() { - do_preview_task(function() { - task_modal.show(); - }) - }; - - document.getElementById("preview-info-button").onclick = function() { - do_preview_info(function() { - info_modal.show(); - }) - }; - - document.getElementById("theme").oninput = function() { - document.getElementById("preview-task-theme").textContent = this.value; - document.getElementById("preview-info-theme").textContent = this.value; - }; - - document.getElementById("repo").oninput = function() { - document.getElementById("preview-task-url").href = this.value; - document.getElementById("preview-info-url").href = this.value; - }; + document.getElementById("repo").oninput = function () { + document.getElementById("preview-task-url").href = this.value; + document.getElementById("preview-info-url").href = this.value; + }; - let info_editor = ace.edit("info_editor"); - let task_editor = ace.edit("task_editor"); - let info_timer, task_timer; + let info_editor = ace.edit("info_editor"); + let task_editor = ace.edit("task_editor"); + let info_timer, task_timer; - info_editor.session.setMode("ace/mode/rst"); - info_editor.session.setUseWrapMode(true); + info_editor.session.setMode("ace/mode/rst"); + info_editor.session.setUseWrapMode(true); - info_editor.setTheme("ace/theme/iplastic"); - info_editor.setShowPrintMargin(false); + info_editor.setTheme("ace/theme/iplastic"); + info_editor.setShowPrintMargin(false); - info_editor.on("input", function() { - document.getElementById("done").disabled = true; - document.getElementById("info_rst").value = info_editor.getValue(); + info_editor.on("input", function () { + document.getElementById("done").disabled = true; + document.getElementById("info_rst").value = info_editor.getValue(); - if (info_timer !== undefined) { - clearTimeout(info_timer); - } - info_timer = setTimeout(do_preview_info, 1000); - }); + if (info_timer !== undefined) { + clearTimeout(info_timer); + } + info_timer = setTimeout(do_preview_info, 1000); + }); - task_editor.session.setMode("ace/mode/rst"); - task_editor.session.setUseWrapMode(true); + task_editor.session.setMode("ace/mode/rst"); + task_editor.session.setUseWrapMode(true); - task_editor.setTheme("ace/theme/iplastic"); - task_editor.setShowPrintMargin(false); + task_editor.setTheme("ace/theme/iplastic"); + task_editor.setShowPrintMargin(false); - task_editor.on("input", function() { - document.getElementById("done").disabled = true; - document.getElementById("task_rst").value = task_editor.getValue(); + task_editor.on("input", function () { + document.getElementById("done").disabled = true; + document.getElementById("task_rst").value = task_editor.getValue(); - if (task_timer !== undefined) { - clearTimeout(task_timer); - } - task_timer = setTimeout(do_preview_task, 1000); - }); + if (task_timer !== undefined) { + clearTimeout(task_timer); + } + task_timer = setTimeout(do_preview_task, 1000); + }); + }; </script> {% endblock %} diff --git a/templates/staff/jams/forms/preamble_edit.html b/templates/staff/jams/forms/preamble_edit.html index c2245b35..85747713 100644 --- a/templates/staff/jams/forms/preamble_edit.html +++ b/templates/staff/jams/forms/preamble_edit.html @@ -62,87 +62,89 @@ <script type="application/javascript"> "use strict"; - let csrf_token = "{{ csrf_token() }}"; - let modal = UIkit.modal(document.getElementById("preview-modal")); - let preview_url = "{{ url_for("staff.render") }}"; + window.onload = () => { + let csrf_token = "{{ csrf_token() }}"; + let modal = UIkit.modal(document.getElementById("preview-modal")); + let preview_url = "{{ url_for("staff.render") }}"; + + function do_preview(callback) { + let oReq = new XMLHttpRequest(); + + oReq.addEventListener("load", function () { + let response = JSON.parse(this.responseText); + + if (response.error !== undefined) { + document.getElementById("done").disabled = true; + + if (response.error_lines !== undefined) { + editor.session.setAnnotations(response.error_lines); + document.getElementById("preview-div").innerHTML = "<h3>Error - see editor margin</h3>"; + } else { + console.log("Error: " + response.error); + document.getElementById("preview-div").innerHTML = "<h3>Error</h3><p>" + response.error + "<p>"; + } + } else { + document.getElementById("done").disabled = false; + document.getElementById("preview-div").innerHTML = response.data; - function do_preview(callback) { - let oReq = new XMLHttpRequest(); + editor.session.setAnnotations([]); + } - oReq.addEventListener("load", function() { - let response = JSON.parse(this.responseText); + if (callback !== undefined) { + callback(); + } + }); - if (response.error !== undefined) { + let data = editor.getValue(); + + if (data.replace("\s", "").length < 1) { document.getElementById("done").disabled = true; - if (response.error_lines !== undefined) { - editor.session.setAnnotations(response.error_lines); - document.getElementById("preview-div").innerHTML ="<h3>Error - see editor margin</h3>"; - } else { - console.log("Error: " + response.error); - document.getElementById("preview-div").innerHTML ="<h3>Error</h3><p>" + response.error + "<p>"; + if (callback !== undefined) { + UIkit.notification({ + "message": "Please enter some text to preview", + "status": "danger", + "pos": "bottom-center", + "timeout": 5000 + }); } - } else { - document.getElementById("done").disabled = false; - document.getElementById("preview-div").innerHTML = response.data; - - editor.session.setAnnotations([]); + return false; } - if (callback !== undefined) { - callback(); - } - }); + oReq.open("POST", preview_url); - let data = editor.getValue(); + oReq.setRequestHeader("Content-type", "application/json"); + oReq.setRequestHeader("X-CSRFToken", csrf_token); - if (data.replace("\s", "").length < 1) { - document.getElementById("done").disabled = true; + oReq.send(JSON.stringify({"data": editor.getValue()})); - if (callback !== undefined) { - UIkit.notification({ - "message": "Please enter some text to preview", - "status": "danger", - "pos": "bottom-center", - "timeout": 5000 - }); - } return false; } - oReq.open("POST", preview_url); + document.getElementById("preview").onclick = function () { + do_preview(function () { + modal.show(); + }) + }; - oReq.setRequestHeader("Content-type", "application/json"); - oReq.setRequestHeader("X-CSRFToken", csrf_token); + let editor = ace.edit("editor"); + let timer; - oReq.send(JSON.stringify({"data": editor.getValue()})); + editor.session.setMode("ace/mode/rst"); + editor.session.setUseWrapMode(true); - return false; - } + editor.setTheme("ace/theme/iplastic"); + editor.setShowPrintMargin(false); - document.getElementById("preview").onclick = function() { - do_preview(function() { - modal.show(); - }) - }; - - let editor = ace.edit("editor"); - let timer; - - editor.session.setMode("ace/mode/rst"); - editor.session.setUseWrapMode(true); - - editor.setTheme("ace/theme/iplastic"); - editor.setShowPrintMargin(false); - - editor.on("input", function() { - document.getElementById("done").disabled = true; - document.getElementById("preamble_rst").value = editor.getValue(); + editor.on("input", function () { + document.getElementById("done").disabled = true; + document.getElementById("preamble_rst").value = editor.getValue(); - if (timer !== undefined) { - clearTimeout(timer); - } - timer = setTimeout(do_preview, 1000); - }); + if (timer !== undefined) { + clearTimeout(timer); + } + timer = setTimeout(do_preview, 1000); + }); + }; </script> {% endblock %} diff --git a/templates/staff/tables/edit.html b/templates/staff/tables/edit.html index 421f6c45..b3b9faae 100644 --- a/templates/staff/tables/edit.html +++ b/templates/staff/tables/edit.html @@ -32,17 +32,19 @@ <script type="application/javascript"> "use strict"; - let editor = ace.edit("editor"); + window.onload = () => { + let editor = ace.edit("editor"); - editor.session.setMode("ace/mode/json"); - editor.session.setUseWrapMode(true); + editor.session.setMode("ace/mode/json"); + editor.session.setUseWrapMode(true); - editor.setTheme("ace/theme/iplastic"); - editor.setShowPrintMargin(false); + editor.setTheme("ace/theme/iplastic"); + editor.setShowPrintMargin(false); - editor.on("input", function() { - document.getElementById("json").value = editor.getValue(); - }); + editor.on("input", function () { + document.getElementById("json").value = editor.getValue(); + }); + }; </script> </div> {% endblock %} |