Skip to content

Commit

Permalink
[#2375] Pass extra_html string into input_block macro
Browse files Browse the repository at this point in the history
This prevents the info appearing before the errors.
  • Loading branch information
aron committed Aug 14, 2012
1 parent 634b57b commit 36bd991
Showing 1 changed file with 9 additions and 13 deletions.
22 changes: 9 additions & 13 deletions ckan/templates/macros/form.html
Expand Up @@ -20,9 +20,8 @@
{% macro input(name, id='', label='', value='', placeholder='', type='text', error="", classes=[], attrs={}) %}
{%- set extra_html = caller() if caller -%}

{% call input_block(id or name, label or name, error, classes) %}
{% call input_block(id or name, label or name, error, classes, extra_html=extra_html) %}
<input id="{{ id or name }}" type="{{ type }}" name="{{ name }}" value="{{ value | empty_and_escape }}" placeholder="{{ placeholder }}" {{ attributes(attrs) }} />
{{ extra_html }}
{% endcall %}
{% endmacro %}

Expand Down Expand Up @@ -84,13 +83,12 @@
{% do classes.append('control-select') %}

{%- set extra_html = caller() if caller -%}
{% call input_block(id or name, label or name, error, classes) %}
{% call input_block(id or name, label or name, error, classes, extra_html=extra_html) %}
<select id="{{ id or name }}" name="{{ name }}" {{ attributes(attrs) }}>
{% for option in options %}
<option value="{{ option.value }}"{% if option.value == selected %} selected{% endif %}>{{ option.text or option.value }}</option>
{% endfor %}
</select>
{{ extra_html }}
{% endcall %}
{% endmacro %}

Expand All @@ -117,10 +115,9 @@
{% do classes.append('control-full') %}

{%- set extra_html = caller() if caller -%}
{% call input_block(id or name, label or name, error, classes, control_classes=["editor"]) %}
{% call input_block(id or name, label or name, error, classes, control_classes=["editor"], extra_html=extra_html) %}
<textarea id="{{ id or name }}" name="{{ name }}" cols="20" rows="5" placeholder="{{ placeholder }}" {{ attributes(attrs) }}>{{ value | empty_and_escape }}</textarea>
<span class="editor-info-block">{% trans %}You can use <a href="http://daringfireball.net/projects/markdown/syntax" target="_blank">Markdown formatting</a> here{% endtrans %}</span>
{{ extra_html }}
{% endcall %}
{% endmacro %}

Expand All @@ -147,9 +144,8 @@
{% do classes.append('control-full') %}

{%- set extra_html = caller() if caller -%}
{% call input_block(id or name, label or name, error, classes) %}
{% call input_block(id or name, label or name, error, classes, extra_html=extra_html) %}
<textarea id="{{ id or name }}" name="{{ name }}" cols="20" rows="5" placeholder="{{ placeholder }}" {{ attributes(attrs) }}>{{ value | empty_and_escape }}</textarea>
{{ extra_html }}
{% endcall %}
{% endmacro %}

Expand Down Expand Up @@ -179,13 +175,12 @@
{% set classes = (classes|list) %}
{% do classes.append('error') if error %}
{%- set extra_html = caller() if caller -%}
{% call input_block(id or name, label or name, error='', classes=classes) %}
{% call input_block(id or name, label or name, error='', classes=classes, extra_html=extra_html) %}
<div class="input-prepend">
{% if prepend %}<span class="add-on">{{ prepend }}</span>{%- endif -%}
<input id="{{ id or name }}" type="{{ type }}" name="{{ name }}" value="{{ value | empty_and_escape }}" placeholder="{{ placeholder }}" {{ attributes(attrs) }} />
{% if error and error is iterable %}<span class="error-block">{{ error|join(', ') }}</span>{% endif %}
</div>
{{ extra_html }}
{% endcall %}
{% endmacro %}

Expand Down Expand Up @@ -222,7 +217,7 @@
{%- set extra_html = caller() if caller -%}
{%- do classes.append('control-custom') -%}

{% call input_block(label_id, label or name, error, classes, control_classes=["editor"]) %}
{% call input_block(label_id, label or name, error, classes, control_classes=["editor"], extra_html=extra_html) %}
<div class="input-prepend" {{ attributes(attrs) }}>
<label for="{{ label_id }}" class="add-on">Key</label><input id="{{ id or names[0] }}-key" name="{{ names[0] }}" value="{{ values[0] | empty_and_escape }}" 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] | empty_and_escape }}" placeholder="{{ placeholders[1] }}" />
Expand All @@ -232,7 +227,6 @@
</label>
{% endif %}
</div>
{{ extra_html }}
{% endcall %}
{% endmacro %}

Expand All @@ -246,6 +240,7 @@
error - A list of error strings for the field or just true.
classes - An array of custom classes for the outer element.
control_classes - An array of custom classes for the .control wrapper.
extra_html - An html string to be inserted after the errors eg. info text.

Example:

Expand All @@ -255,12 +250,13 @@
{% endcall %}

#}
{% macro input_block(for, label="", error="", classes=[], control_classes=[]) %}
{% macro input_block(for, label="", error="", classes=[], control_classes=[], extra_html="") %}
<div class="control-group{{ " error" if error }}{{ " " ~ classes | join(' ') }}">
<label class="control-label" for="{{ for }}">{{ label or _('Custom') }}</label>
<div class="controls{{ " " ~ control_classes | join(' ') }}">
{{ caller() }}
{% if error and error is iterable %}<span class="error-block">{{ error|join(', ') }}</span>{% endif %}
{{ extra_html }}
</div>
</div>
{% endmacro %}
Expand Down

0 comments on commit 36bd991

Please sign in to comment.