aboutsummaryrefslogtreecommitdiff
path: root/gn2/wqflask/templates/gn_editor_settings.html
blob: a87e3dc808636f37100d2449eb6d4bcdb47ee180 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<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 %}