You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
4.0 KiB
98 lines
4.0 KiB
{# Get inputbox based on different column types (Foreign key, geometrical, enum) #} |
|
{% if foreigners and search_column_in_foreigners(foreigners, column_name) %} |
|
{% if foreign_data['disp_row'] is iterable %} |
|
<select name="criteriaValues[{{ column_index }}]" |
|
id="{{ column_id }}{{ column_index }}"> |
|
{{ foreign_dropdown( |
|
foreign_data['disp_row'], |
|
foreign_data['foreign_field'], |
|
foreign_data['foreign_display'], |
|
'', |
|
foreign_max_limit |
|
) }} |
|
</select> |
|
{% elseif foreign_data['foreign_link'] == true %} |
|
<input type="text" |
|
id="{{ column_id }}{{ column_index }}" |
|
name="criteriaValues[{{ column_index }}]" |
|
id="field_{{ column_name_hash }}[{{ column_index }}]" |
|
class="textfield" |
|
{% if criteria_values[column_index] is defined %} |
|
value="{{ criteria_values[column_index] }}" |
|
{% endif %}> |
|
<a class="ajax browse_foreign" href="{{ url('/browse-foreigners') }}" data-post=" |
|
{{- get_common({'db': db, 'table': table}, '', false) -}} |
|
&field={{ column_name|url_encode }}&fieldkey= |
|
{{- column_index }}&fromsearch=1"> |
|
{{ get_icon('b_browse', 'Browse foreign values'|trans) }} |
|
</a> |
|
{% endif %} |
|
{% elseif column_type in get_gis_datatypes() %} |
|
<input type="text" |
|
name="criteriaValues[{{ column_index }}]" |
|
size="40" |
|
class="textfield" |
|
id="field_{{ column_index }}"> |
|
{% if in_fbs %} |
|
{% set edit_str = get_icon('b_edit', 'Edit/Insert'|trans) %} |
|
<span class="open_search_gis_editor"> |
|
{{ link_or_button(url('/gis-data-editor'), [], edit_str, [], '_blank') }} |
|
</span> |
|
{% endif %} |
|
{% elseif column_type starts with 'enum' |
|
or (column_type starts with 'set' and in_zoom_search_edit) %} |
|
{% set in_zoom_search_edit = false %} |
|
{% set value = parse_enum_set_values(column_type) %} |
|
{% set cnt_value = value|length %} |
|
{# |
|
Enum in edit mode --> dropdown |
|
Enum in search mode --> multiselect |
|
Set in edit mode --> multiselect |
|
Set in search mode --> input (skipped here, so the 'else' section would handle it) |
|
#} |
|
{% if (column_type starts with 'enum' and not in_zoom_search_edit) |
|
or (column_type starts with 'set' and in_zoom_search_edit) %} |
|
<select name="criteriaValues[{{ column_index }}]" |
|
id="{{ column_id }}{{ column_index }}"> |
|
{% else %} |
|
<select name="criteriaValues[{{ column_index }}]" |
|
id="{{ column_id }}{{ column_index }}" |
|
multiple="multiple" |
|
size="{{ min(3, cnt_value) }}"> |
|
{% endif %} |
|
{# Add select options #} |
|
<option value=""></option> |
|
{% for i in 0..cnt_value - 1 %} |
|
{% if criteria_values[column_index] is defined |
|
and criteria_values[column_index] is iterable |
|
and value[i] in criteria_values[column_index] %} |
|
<option value="{{ value[i]|raw }}" selected> |
|
{{ value[i]|raw }} |
|
</option> |
|
{% else %} |
|
<option value="{{ value[i]|raw }}"> |
|
{{ value[i]|raw }} |
|
</option> |
|
{% endif %} |
|
{% endfor %} |
|
</select> |
|
{% else %} |
|
{% set the_class = 'textfield' %} |
|
{% if column_type == 'date' %} |
|
{% set the_class = the_class ~ ' datefield' %} |
|
{% elseif column_type == 'datetime' or column_type starts with 'timestamp' %} |
|
{% set the_class = the_class ~ ' datetimefield' %} |
|
{% elseif column_type starts with 'bit' %} |
|
{% set the_class = the_class ~ ' bit' %} |
|
{% endif %} |
|
<input type="text" |
|
name="criteriaValues[{{ column_index }}]" |
|
data-type="{{ column_data_type }}" |
|
{{ html_attributes|raw }} |
|
size="40" |
|
class="{{ the_class }}" |
|
id="{{ column_id }}{{ column_index }}" |
|
{% if criteria_values[column_index] is defined %} |
|
value="{{ criteria_values[column_index] }}" |
|
{%- endif %}> |
|
{% endif %}
|
|
|