aboutsummaryrefslogtreecommitdiff
path: root/gn2/wqflask/templates/gn_editor_settings.html
diff options
context:
space:
mode:
Diffstat (limited to 'gn2/wqflask/templates/gn_editor_settings.html')
-rw-r--r--gn2/wqflask/templates/gn_editor_settings.html195
1 files changed, 195 insertions, 0 deletions
diff --git a/gn2/wqflask/templates/gn_editor_settings.html b/gn2/wqflask/templates/gn_editor_settings.html
new file mode 100644
index 00000000..1e2cae10
--- /dev/null
+++ b/gn2/wqflask/templates/gn_editor_settings.html
@@ -0,0 +1,195 @@
+<section>
+ <h4>
+ <i>Select a theme</i>
+ </h4>
+ <form>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="theme"
+ id="twilightTheme"
+ value="twilight"
+ checked>
+ <label class="form-check-label" for="twilight">twilight</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="theme"
+ id="draculaTheme"
+ value="dracula">
+ <label class="form-check-label" for="draculaTheme">dracula</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="theme"
+ id="normalTheme"
+ value="textmate"
+ checked>
+ <label class="form-check-label" for="normalTheme">Text</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="theme"
+ id="monokaiTheme"
+ value="monokai">
+ <label class="form-check-label" for="monokaiTheme">Monokai</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="theme"
+ id="customTheme"
+ value="xcode">
+ <label class="form-check-label" for="customTheme">xcode</label>
+ </div>
+ <br>
+ <div class="form-group" style="padding-top:10px">
+ <h4>
+ <i>Select Font Size</i>
+ </h4>
+ <input type="range"
+ class="form-control-range"
+ id="fontSizeRange"
+ name="fontSizeRange"
+ min="10"
+ max="36"
+ step="1"
+ value="16">
+ <em><span id="fontSizeValue">16</span> px</em>
+ </div>
+ <br>
+ <div>
+ <h4>
+ <i>Select Wrap Option:</i>
+ </h4>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="wrap"
+ id="normalTheme"
+ value="true"
+ checked>
+ <label class="form-check-label" for="normalTheme">True</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="wrap"
+ id="monokaiTheme"
+ value="false">
+ <label class="form-check-label" for="monokaiTheme">False</label>
+ </div>
+ </div>
+ <div>
+ <h4>
+ <i>Cursor Styles:</i>
+ </h4>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="cursor"
+ id="aceCursor"
+ value="ace"
+ checked>
+ <label class="form-check-label" for="aceCursor">ace</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="cursor"
+ id="slimCursor"
+ value="slim">
+ <label class="form-check-label" for="slimCursor">slim</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="cursor"
+ id="smoothCursor"
+ value="smooth">
+ <label class="form-check-label" for="smoothCursor">smooth</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="cursor"
+ id="wideCursor"
+ value="wide">
+ <label class="form-check-label" for="wideCursor">wide</label>
+ </div>
+ </div>
+ </form>
+ <br>
+ <h4>
+ <i>Choose KeyBoard Binding:</i>
+ </h4>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="keyboard"
+ id="default"
+ value="default"
+ checked>
+ <label class="form-check-label" for="default">Default</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="keyboard"
+ id="vscode"
+ value="vscode">
+ <label class="form-check-label" for="vscode">Vscode</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="keyboard"
+ id="emacs"
+ value="emacs">
+ <label class="form-check-label" for="emacs">Emacs</label>
+ </div>
+ <div class="form-check">
+ <input class="form-check-input"
+ type="radio"
+ name="keyboard"
+ id="vim"
+ value="vim">
+ <label class="form-check-label" for="vim">Vim</label>
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-sm-offset-1">
+ <button class="btn btn-primary" id="settingBtn">Save Settings</button>
+ </div>
+ </div>
+</section>
+{% block js %}
+ <script>
+ $('#fontSizeRange').on('input', function () {
+ var fontSize = $(this).val();
+ $('#fontSizeValue').text(fontSize);
+ });
+
+ htmx.on("#settingBtn", "click", function () {
+ var formData = {
+ theme: `ace/theme/${$('input[name="theme"]:checked').val()}`,
+ fontSize: parseInt($("#fontSizeRange").val()),
+ wrap:$('input[name="wrap"]:checked').val()== "false" ? false : true,
+ cursorStyle: $('input[name="cursor"]:checked').val(),
+ keyboardHandler:($('input[name="keyboard"]:checked').val() == "default"?
+ null: `ace/keyboard/${$('input[name="keyboard"]:checked').val()}`
+ )
+
+ }
+ htmx.find("#output").dispatchEvent(
+ new CustomEvent("updateEditor", {
+ bubbles: true,
+ detail: {action: 'didInitialize', payload: formData},
+ }),
+ );
+ })
+ </script>
+{% endblock %}