summaryrefslogtreecommitdiff
path: root/themes/okadmin/templates/partials/inputs.liquid
blob: 3a33f956c8965e89696c13392da1928ce38e97a9 (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
{% for pair in resource.spec %}
  {% assign name = pair[0] %}
  {% assign spec = pair[1] %}
  {% assign type = spec.type %}

  <div class="property {{type}}">
    <label for="{{name}}">{{name | capitalize}}</label>

    {% if type == 'string' %}
      <input
        {% if spec.disabled %}
          disabled="true"
        {% endif %}
          name="{{name}}" type="text" value="{{spec.value}}">
    {% elsif type == 'text' %}
      <textarea
        {% if spec.disabled %}
          disabled="true"
        {% endif %}
        name="{{name}}">{{spec.value}}</textarea>
    {% elsif type == 'enum' %}
      <select
        {% if spec.disabled %}
          disabled="true"
        {% endif %}
        name="{{name}}">
        {% for option in spec.options %}
          <option value="{{option}}" {% if option == spec.value %}selected{% endif %}>{{option}}</option>
        {% endfor %}
      </select>
    {% elsif type == 'video' %}
      <div class="video group {% if spec.value.url %}loaded{% endif %}">
        <input name="{{name}}[url]" type="text" value="{{spec.value.url}}" class="url" placeholder="Enter a video URL">
        <input name="{{name}}[type]" type="text" value="{{spec.value.type}}" class="video-type" hidden>
        <input name="{{name}}[token]" type="text" value="{{spec.value.token}}" class="video-token" hidden>
        <label>Title</label>
        <input name="{{name}}[title]" type="text" value="{{spec.value.title}}" class="video-title">
        <label>Thumbnail</label>
        <input name="{{name}}[thumb]" type="text" value="{{spec.value.thumb}}" class="video-thumb">
      </div>
    {% elsif type == 'captioned-image-list' %}
      <ol>
        {% for image in spec.value %}
          <li class="image-element">
            <img src="{{image.uri}}" alt="{{image.caption}}">
            <input type="hidden" name="{{name}}[][uri]" value="{{image.uri}}">
            <div class="clear"></div>
            <input type="text" name="{{name}}[][caption]" value="{{image.caption}}">
            <button class="remove-image">-</button>
          </li>
        {% endfor %}
      </ol>
      <input class="file-upload" style="display: none;" type="file" accept="image/*">
      <button class="add-image">+</button>
    {% else %}
      <p><pre style="color: red">Admin template doesn't support '{{type}}' properties!</pre></p>
    {% endif %}
  </div>

{% endfor %}