aboutsummaryrefslogtreecommitdiffstats
path: root/templates/staff/jams/edit_ending.html
diff options
context:
space:
mode:
Diffstat (limited to 'templates/staff/jams/edit_ending.html')
-rw-r--r--templates/staff/jams/edit_ending.html152
1 files changed, 0 insertions, 152 deletions
diff --git a/templates/staff/jams/edit_ending.html b/templates/staff/jams/edit_ending.html
deleted file mode 100644
index a0c5e8ff..00000000
--- a/templates/staff/jams/edit_ending.html
+++ /dev/null
@@ -1,152 +0,0 @@
-{% extends "main/base.html" %}
-{% block title %}Staff | Jams | Edit (Ending Comments){% endblock %}
-{% block og_title %}Staff | Jams | Edit (Ending Comments){% endblock %}
-{% block og_description %}Edit the ending comments for a code jam{% endblock %}
-
-{% block page_classes %}uses-rst{% endblock %}
-
-{% block content %}
- <div class="uk-container uk-container-small uk-section">
- <h1 class="uk-text-center">Code Jam: Edit (Ending Comments)</h1>
-
- <form action="{{ url_for("staff.jams.edit.ending", jam=jam.number) }}" method="post" class="uk-form-horizontal">
- <div>
- <div class="uk-form-label">
- <label class="uk-form-label">Comments (RST)</label>
- </div>
-
- <div class="uk-form-controls uk-form-controls-text">
- <div id="editor" class="uk-textarea">{{ jam.end_rst }}</div>
- </div>
-
- <input type="hidden" name="end_rst" id="end_rst" value="{{ jam.end_rst }}" />
- </div>
-
- <input type="hidden" name="csrf_token" id="csrf_token" value="{{ csrf_token() }}"/>
-
- <div class="uk-align-center uk-text-center">
- <a id="back" class="uk-button uk-button-default" href="{{ url_for("staff.jams.index") }}">
- <i class="uk-icon fa-fw far fa-arrow-left"></i> &nbsp;Back
- </a>
- <button class="uk-button uk-button-secondary" type="button" id="preview">
- <i class="uk-icon fa-fw far fa-eye"></i> &nbsp;Preview
- </button>
- <button id="done" class="uk-button uk-button-primary" type="submit" disabled>
- <i class="uk-icon fa-fw far fa-check"></i> &nbsp;Done
- </button>
- </div>
- </form>
- </div>
-
- <div id="preview-modal" class="uk-flex-top" uk-modal>
- <div class="uk-modal-dialog">
- <button class="uk-modal-close-default" type="button" uk-close></button>
-
- <div class="uk-modal-body">
- <h2>Code Jam {{ jam.number }}: {{ jam.title }} <a href="{{ jam.repo }}" id="preview-url"><i class="uk-icon fa-fw fab fa-gitlab"></i></a></h2>
- <p class="uk-text-meta">Theme: <span id="preview-theme">{{ jam.theme }}</span></p>
-
- <div id="preview-div">
- {{ jam.end_rst | safe }}
- </div>
- </div>
-
- <div class="uk-modal-footer">
- <div class="uk-text-center">
- <button class="uk-button uk-button-default uk-modal-close" type="button" id="state-cancel">
- <i class="uk-icon fa-fw far fa-arrow-left"></i> &nbsp;Close
- </button>
- </div>
- </div>
- </div>
- </div>
-
- <script type="application/javascript">
- "use strict";
-
- 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;
-
- editor.session.setAnnotations([]);
- }
-
- if (callback !== undefined) {
- callback();
- }
- });
-
- let data = editor.getValue();
-
- if (data.replace("\s", "").length < 1) {
- document.getElementById("done").disabled = true;
-
- 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);
-
- oReq.send(JSON.stringify({"data": editor.getValue()}));
-
- return 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();
-
- if (timer !== undefined) {
- clearTimeout(timer);
- }
- timer = setTimeout(do_preview, 1000);
- });
- };
- </script>
-{% endblock %}