2017-05-20 22:00:45 +03:00
|
|
|
{% macro render_field(field, render_label=True) %}
|
2017-05-12 20:51:49 +02:00
|
|
|
{% if field.errors %}
|
|
|
|
<div class="form-group has-error">
|
|
|
|
{% else %}
|
|
|
|
<div class="form-group">
|
|
|
|
{% endif %}
|
2017-05-20 22:00:45 +03:00
|
|
|
{% if render_label %}
|
2017-05-12 20:51:49 +02:00
|
|
|
{{ field.label(class='control-label') }}
|
2017-05-20 22:00:45 +03:00
|
|
|
{% endif %}
|
2017-05-12 20:51:49 +02:00
|
|
|
{{ field(title=field.description,**kwargs) | safe }}
|
|
|
|
{% if field.errors %}
|
|
|
|
<div class="help-block">
|
|
|
|
{% if field.errors|length < 2 %}
|
|
|
|
{% for error in field.errors %}
|
|
|
|
{{ error }}
|
|
|
|
{% endfor %}
|
|
|
|
{% else %}
|
|
|
|
<ul>
|
|
|
|
{% for error in field.errors %}
|
|
|
|
<li>{{ error }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
{% endmacro %}
|
|
|
|
|
2017-05-14 14:55:40 +10:00
|
|
|
|
|
|
|
{% macro render_markdown_editor(field, field_name='') %}
|
|
|
|
{% if field.errors %}
|
2017-05-20 22:00:45 +03:00
|
|
|
<div class="form-group has-error">
|
2017-05-14 14:55:40 +10:00
|
|
|
{% else %}
|
2017-05-20 22:00:45 +03:00
|
|
|
<div class="form-group">
|
2017-05-14 14:55:40 +10:00
|
|
|
{% endif %}
|
2017-05-20 22:00:45 +03:00
|
|
|
<div class="markdown-editor" id="{{ field_name }}-markdown-editor" data-field-name="{{ field_name }}">
|
|
|
|
{{ field.label(class='control-label') }}
|
2017-08-31 14:19:22 +02:00
|
|
|
<a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet" class="small" target="_blank">Markdown supported</a>
|
2017-05-20 22:00:45 +03:00
|
|
|
<ul class="nav nav-tabs" role="tablist">
|
|
|
|
<li role="presentation" class="active">
|
2017-05-24 06:19:15 +00:00
|
|
|
<a href="#{{ field_name }}-tab" role="tab" data-toggle="tab">
|
2017-05-20 22:00:45 +03:00
|
|
|
Write
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li role="presentation">
|
2017-05-24 06:19:15 +00:00
|
|
|
<a href="#{{ field_name }}-preview" id="{{ field_name }}-preview-tab" role="tab" data-toggle="tab">
|
2017-05-20 22:00:45 +03:00
|
|
|
Preview
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<div class="tab-content">
|
|
|
|
<div role="tabpanel" class="tab-pane active" id="{{ field_name }}-tab" data-markdown-target="#{{ field_name }}-markdown-target">
|
2017-05-30 19:20:00 +03:00
|
|
|
{# Render this field manually, because we need to escape the inner text #}
|
|
|
|
<textarea class="form-control markdown-source" id="{{ field.id }}" name="{{ field.name }}">
|
2017-05-30 19:35:28 +03:00
|
|
|
{{- (field.data or "") | escape | replace('\r\n', '\n') | replace('\n', ' '|safe) -}}
|
2017-05-30 19:20:00 +03:00
|
|
|
</textarea>
|
|
|
|
{% if field.errors %}
|
|
|
|
<div class="help-block">
|
|
|
|
{% if field.errors|length < 2 %}
|
|
|
|
{% for error in field.errors %}
|
|
|
|
{{ error }}
|
|
|
|
{% endfor %}
|
|
|
|
{% else %}
|
|
|
|
<ul>
|
|
|
|
{% for error in field.errors %}
|
|
|
|
<li>{{ error }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
2017-05-20 22:00:45 +03:00
|
|
|
</div>
|
|
|
|
<div role="tabpanel" class="tab-pane" id="{{ field_name }}-preview">
|
|
|
|
<div class="well" id="{{ field_name }}-markdown-target"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2017-05-14 15:29:55 +10:00
|
|
|
</div>
|
2017-05-14 14:55:40 +10:00
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
|
2017-05-12 20:51:49 +02:00
|
|
|
{% macro render_upload(field) %}
|
|
|
|
{% if field.errors %}
|
|
|
|
<div class="form-group has-error">
|
|
|
|
{% else %}
|
|
|
|
<div class="form-group">
|
|
|
|
{% endif %}
|
|
|
|
<label class="control-label" for="torrent_file">Torrent file</label>
|
|
|
|
<div class="input-group">
|
|
|
|
<label for="{{ field.id }}" class="input-group-btn">
|
|
|
|
<span class="btn btn-default">Browse…</span>
|
|
|
|
</label>
|
|
|
|
<input type="text" class="form-control" readonly>
|
|
|
|
</div>
|
|
|
|
<div class="sr-only">
|
|
|
|
{{ field(title=field.description,**kwargs) | safe }}
|
|
|
|
</div>
|
|
|
|
{% if field.errors %}
|
|
|
|
<div class="help-block">
|
|
|
|
{% if field.errors|length < 2 %}
|
|
|
|
{% for error in field.errors %}
|
|
|
|
{{ error }}
|
|
|
|
{% endfor %}
|
|
|
|
{% else %}
|
|
|
|
<ul>
|
|
|
|
{% for error in field.errors %}
|
|
|
|
<li>{{ error }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
{% endmacro %}
|
2017-05-16 03:13:22 -04:00
|
|
|
|
2019-08-11 03:18:44 +02:00
|
|
|
{% macro render_menu_with_button(field, button_label='Apply') %}
|
2017-05-16 03:13:22 -04:00
|
|
|
{% if field.errors %}
|
|
|
|
<div class="form-group has-error">
|
|
|
|
{% else %}
|
|
|
|
<div class="form-group">
|
|
|
|
{% endif %}
|
|
|
|
{{ field.label(class='control-label') }}
|
2018-01-03 23:28:39 +01:00
|
|
|
<div class="input-group input-group-sm">
|
|
|
|
{{ field(title=field.description, class_="form-control",**kwargs) | safe }}
|
|
|
|
<div class="input-group-btn">
|
2019-08-11 03:18:44 +02:00
|
|
|
<button type="submit" class="btn btn-primary">{{ button_label }}</button>
|
2018-01-03 23:28:39 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
2017-05-16 03:13:22 -04:00
|
|
|
{% if field.errors %}
|
|
|
|
<div class="help-block">
|
|
|
|
{% if field.errors|length < 2 %}
|
|
|
|
{% for error in field.errors %}
|
|
|
|
{{ error }}
|
|
|
|
{% endfor %}
|
|
|
|
{% else %}
|
|
|
|
<ul>
|
|
|
|
{% for error in field.errors %}
|
|
|
|
<li>{{ error }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
2017-05-24 06:19:15 +00:00
|
|
|
{% endmacro %}
|