Skip to content
Snippets Groups Projects
Commit 10b22ac7 authored by Thorge Petersen's avatar Thorge Petersen
Browse files

Refactored autocomplete macro

parent d9ab0059
Branches
Tags
1 merge request!52Added applicableLegislation and hvdCategory support
......@@ -165,20 +165,23 @@ is_required=false) %}
{# Creates a select with an input field for autocomplete #}
{% macro select_autocomplete(name, id='', label='', options='', selected='', error='', classes=[], attrs={},
is_required=false, is_multiple=false) %}
{% set classes = (classes|list) %}
{% do classes.append('control-select') %}
is_required=false, is_multiple=false, is_extra=false, index=0) %}
{% set classes = classes|default([]) + ['control-select'] %}
{%- set extra_html = caller() if caller -%}
{% call input_block(id or name, label or name, error, classes, extra_html=extra_html, is_required=is_required)
%}
{% call input_block(id or name, label or name, error, classes, extra_html=extra_html, is_required=is_required) %}
<div class="row-fluid">
<div class="span6">
<select id="{{ id or name }}" name="{{ name }}" {{ attributes(attrs) }} data-module="autocomplete" {% if is_multiple %} multiple {% endif %}>
{% if is_extra %}
<input id="field-{{ name }}-key" type="hidden" name="extras__{{ index }}__key" value="{{ id or name }}" />
{% endif %}
<select id="{{ 'field-' ~ (id or name) ~ '-value' if is_extra else (id or name) }}" name="{{ 'extras__' ~ index ~ '__value' if is_extra else (name) }}"
{{ attributes(attrs) }} data-module="autocomplete"{% if is_multiple %} multiple{% endif %}>
{% for option in options %}
<option value="{{ option.key }}" {% if option.key in selected %} selected {% endif %}>{{ option.text or
option.value }} </option>
<option value="{{ option.key }}"{% if option.key in selected %} selected="selected"{% endif %}>
{{ option.text or option.value }}
</option>
{% endfor %}
</select>
</div>
......@@ -194,7 +197,6 @@ is_required=false) %}
{% endmacro %}
{#
Creates all the markup required for a Markdown textarea element. Handles
matching labels to inputs, selected item and error messages.
......
......@@ -337,11 +337,6 @@ dataset_is_draft)) %}
</div>
</div>
{% block scripts %}
{% asset 'ckanext-odsh/odsh_datepicker_script' %}
{% asset 'ckanext-odsh/odsh_form_script' %}
{% endblock scripts %}
{# field reference #}
{% set field = 'reference' %}
{% set error_reference = h.odsh_extract_error(field, errors) %}
......@@ -352,10 +347,15 @@ dataset_is_draft)) %}
{% set field = 'applicableLegislation' %}
{% set error_reference = h.odsh_extract_error(field, errors) %}
{% set value = h.odsh_extract_value_from_extras(data.extras,field) or '' %}
{{ form.select_autocomplete(field, label=_('Applicable Legislation'), selected=value, options=h.odsh_load_applicable_legislations(), error=error_reference, is_required=False, classes=['control-full', 'field-applicableLegislation'], is_multiple=True)}}
{{ form.select_autocomplete(field, label=_('Applicable Legislation'), selected=value, options=h.odsh_load_applicable_legislations(), error=error_reference, is_required=False, classes=['control-full', 'field-applicableLegislation'], is_multiple=True, is_extra=True, index=5)}}
{# field hvdCategory #}
{% set field = 'hvdCategory' %}
{% set error_reference = h.odsh_extract_error(field, errors) %}
{% set value = h.odsh_extract_value_from_extras(data.extras,field) or '' %}
{{ form.select_autocomplete(field, label=_('HVD Category'), selected=value, options=h.odsh_load_hvd_categories(), error=error_reference, is_required=False, classes=['control-full', 'field-hvdCategory'], is_multiple=True)}}
{{ form.select_autocomplete(field, label=_('HVD Category'), selected=value, options=h.odsh_load_hvd_categories(), error=error_reference, is_required=False, classes=['control-full', 'field-hvdCategory'], is_multiple=True, is_extra=True, index=6)}}
{% block scripts %}
{% asset 'ckanext-odsh/odsh_datepicker_script' %}
{% asset 'ckanext-odsh/odsh_form_script' %}
{% endblock scripts %}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment