Skip to content

Commit

Permalink
[2474] Add a form macro for creating key/value fields
Browse files Browse the repository at this point in the history
  • Loading branch information
aron committed Jun 5, 2012
1 parent d744dca commit 31fc3ec
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions ckan/templates/macros/form.html
Expand Up @@ -20,7 +20,7 @@

#}
{% macro input(name, id='', label='', value='', placeholder='', type='text', data={}, errors={}, classes=[]) %}
<div class="control-group{% if classes %} {{ classes | join(' ') }}{% endif %}" py:with="error = errors.get('title', '')">
<div class="control-group{% if classes %} {{ classes | join(' ') }}{% endif %}">
<label class="control-label" for="{{ id or name }}">{{ label or name }}</label>
<div class="controls">
<input id="{{ id or name }}" name="{{ name }}" value="{{ data[name] or value | e }}" placeholder="{{ placeholder }}" />
Expand Down Expand Up @@ -48,7 +48,7 @@

#}
{% macro select(name, id='', label='', options='', selected='', errors={}, classes=[]) %}
<div class="control-group{% if classes %} {{ classes | join(' ') }}{% endif %}" py:with="error = errors.get('title', '')">
<div class="control-group{% if classes %} {{ classes | join(' ') }}{% endif %}">
<label class="control-label" for="{{ id or name }}">{{ label or name }}</label>
<div class="controls">
<select id="{{ id or name }}" name="{{ name }}">
Expand Down Expand Up @@ -82,7 +82,7 @@

#}
{% macro markdown(name, id='', label='', value='', placeholder='', data={}, errors={}, classes=[]) %}
<div class="control-group control-full{% if classes %} {{ classes | join(' ') }}{% endif %}" py:with="error = errors.get('title', '')">
<div class="control-group control-full{% if classes %} {{ classes | join(' ') }}{% endif %}">
<label class="control-label" for="{{ id or name }}">{{ label or name }}</label>
<div class="controls editor">
<textarea id="{{ id or name }}" name="{{ name }}" cols="20" rows="5" placeholder="{{ placeholder }}">{{ data[name] or value | e }}</textarea>
Expand Down Expand Up @@ -115,7 +115,7 @@

#}
{% macro prepend(name, id='', label='', prepend='', value='', placeholder='', type='text', data={}, errors={}, classes=[]) %}
<div class="control-group{% if classes %} {{ classes | join(' ') }}{% endif %}" py:with="error = errors.get('title', '')">
<div class="control-group{% if classes %} {{ classes | join(' ') }}{% endif %}">
<label class="control-label" for="{{ id or name }}">{{ label or name }}</label>
<div class="controls">
<div class="input-prepend">
Expand All @@ -126,3 +126,18 @@
</div>
</div>
{% endmacro %}

{% macro keyvalue(names=(), id="", label="", values=(), placeholders=(), error="", classes=[]) %}
<div class="control-group">
<label class="control-label" for="{{ id or names[0] }}-key">{{ label or _('Custom') }}</label>
<div class="controls">
<div class="input-prepend">
<label for="{{ id or names[0] }}-key" class="add-on">Key</label><input id="{{ id or names[0] }}-key" name="{{ names[0] }}" value="{{ values[0] | e }}" placeholder="{{ placeholders[0] }}" />
<label for="{{ id or names[1] }}-value" class="add-on">Value</label><input id="{{ id or names[1] }}-value" name="{{ names[1] }}" value="{{ values[1] | e }}" placeholder="{{ placeholders[1] }}" />
<label class="checkbox" for="{{ id or names[2] }}-remove">
<input type="checkbox" id="{{ id or names[2] }}-remove" name="{{ names[2] }}"{% if values[2] %} checked{% endif %} /> {{ _('Remove') }}
</label>
</div>
</div>
</div>
{% endmacro %}

0 comments on commit 31fc3ec

Please sign in to comment.