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.
248 lines
13 KiB
248 lines
13 KiB
{# Cell index: If certain fields get left out, the counter shouldn't change. #} |
|
{% set ci = 0 %} |
|
|
|
{# Every time a cell shall be left out the STRG-jumping feature, $ci_offset has |
|
to be incremented ($ci_offset++) #} |
|
{% set ci_offset = -1 %} |
|
|
|
<td class="text-center"> |
|
{# column name #} |
|
{% include 'columns_definitions/column_name.twig' with { |
|
'column_number': column_number, |
|
'ci': ci, |
|
'ci_offset': ci_offset, |
|
'column_meta': column_meta, |
|
'has_central_columns_feature': relation_parameters.centralColumnsFeature is not null, |
|
'max_rows': max_rows |
|
} only %} |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
<select class="column_type" name="field_type[{{ column_number }}]" id="field_{{ column_number }}_{{ ci - ci_offset }}" |
|
{{- column_meta['column_status'] is defined and not column_meta['column_status']['isEditable'] ? ' disabled' }}> |
|
{{ get_supported_datatypes(true, type_upper) }} |
|
</select> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
<input id="field_{{ column_number }}_{{ ci - ci_offset }}" type="text" name="field_length[{{ column_number }}]" size=" |
|
{{- length_values_input_size }}" value="{{ length }}" class="textfield"> |
|
<p class="enum_notice" id="enum_notice_{{ column_number }}_{{ ci - ci_offset }}"> |
|
<a href="#" class="open_enum_editor">{% trans 'Edit ENUM/SET values' %}</a> |
|
</p> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
<select name="field_default_type[{{ column_number }}]" id="field_{{ column_number }}_{{ ci - ci_offset }}" class="default_type"> |
|
<option value="NONE"{{ column_meta['DefaultType'] is defined and column_meta['DefaultType'] == 'NONE' ? ' selected' }}> |
|
{% trans %}None{% context %}for default{% endtrans %} |
|
</option> |
|
<option value="USER_DEFINED"{{ column_meta['DefaultType'] is defined and column_meta['DefaultType'] == 'USER_DEFINED' ? ' selected' }}> |
|
{% trans 'As defined:' %} |
|
</option> |
|
<option value="NULL"{{ column_meta['DefaultType'] is defined and column_meta['DefaultType'] == 'NULL' ? ' selected' }}> |
|
NULL |
|
</option> |
|
<option value="CURRENT_TIMESTAMP"{{ column_meta['DefaultType'] is defined and column_meta['DefaultType'] == 'CURRENT_TIMESTAMP' ? ' selected' }}> |
|
CURRENT_TIMESTAMP |
|
</option> |
|
</select> |
|
{% if char_editing == 'textarea' %} |
|
<textarea name="field_default_value[{{ column_number }}]" cols="15" class="textfield default_value">{{ default_value }}</textarea> |
|
{% else %} |
|
<input type="text" name="field_default_value[{{ column_number }}]" size="12" value="{{ default_value }}" class="textfield default_value"> |
|
{% endif %} |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
{# column collation #} |
|
<select lang="en" dir="ltr" name="field_collation[{{ column_number }}]" id="field_{{ column_number }}_{{ ci - ci_offset }}"> |
|
<option value=""></option> |
|
{% for charset in charsets %} |
|
<optgroup label="{{ charset.name }}" title="{{ charset.description }}"> |
|
{% for collation in charset.collations %} |
|
<option value="{{ collation.name }}" title="{{ collation.description }}" |
|
{{- collation.name == column_meta['Collation'] ? ' selected' }}> |
|
{{- collation.name -}} |
|
</option> |
|
{% endfor %} |
|
</optgroup> |
|
{% endfor %} |
|
</select> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
{# column attribute #} |
|
{% include 'columns_definitions/column_attribute.twig' with { |
|
'column_number': column_number, |
|
'ci': ci, |
|
'ci_offset': ci_offset, |
|
'column_meta': column_meta, |
|
'extracted_columnspec': extracted_columnspec, |
|
'submit_attribute': submit_attribute, |
|
'attribute_types': attribute_types |
|
} only %} |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
<input name="field_null[{{ column_number }}]" id="field_{{ column_number }}_{{ ci - ci_offset }}" type="checkbox" value="YES" class="allow_null" |
|
{{- column_meta['Null'] is not empty and column_meta['Null'] != 'NO' and column_meta['Null'] != 'NOT NULL' ? ' checked' }}> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
{% if change_column is defined and change_column is not empty %} |
|
{# column Adjust privileges, Only for 'Edit' Column(s) #} |
|
<td class="text-center"> |
|
<input name="field_adjust_privileges[{{ column_number }}]" id="field_{{ column_number }}_{{ ci - ci_offset }}" type="checkbox" value="NULL" class="allow_null" |
|
{%- if privs_available %} checked> |
|
{%- else %} title="{% trans "You don't have sufficient privileges to perform this operation; Please refer to the documentation for more details" %}" disabled> |
|
{%- endif %} |
|
{% set ci = ci + 1 %} |
|
</td> |
|
{% endif %} |
|
{% if not is_backup %} |
|
{# column indexes, See my other comment about this 'if'. #} |
|
<td class="text-center"> |
|
<select name="field_key[{{ column_number }}]" id="field_{{ column_number }}_{{ ci - ci_offset }}" data-index=""> |
|
<option value="none_{{ column_number }}">---</option> |
|
<option value="primary_{{ column_number }}" title="{% trans "Primary" %}" |
|
{{- column_meta['Key'] is defined and column_meta['Key'] == 'PRI' ? ' selected' }}> |
|
PRIMARY |
|
</option> |
|
<option value="unique_{{ column_number }}" title="{% trans "Unique" %}" |
|
{{- column_meta['Key'] is defined and column_meta['Key'] == 'UNI' ? ' selected' }}> |
|
UNIQUE |
|
</option> |
|
<option value="index_{{ column_number }}" title="{% trans "Index" %}" |
|
{{- column_meta['Key'] is defined and column_meta['Key'] == 'MUL' ? ' selected' }}> |
|
INDEX |
|
</option> |
|
<option value="fulltext_{{ column_number }}" title="{% trans "Fulltext" %}" |
|
{{- column_meta['Key'] is defined and column_meta['Key'] == 'FULLTEXT' ? ' selected' }}> |
|
FULLTEXT |
|
</option> |
|
<option value="spatial_{{ column_number }}" title="{% trans "Spatial" %}" |
|
{{- column_meta['Key'] is defined and column_meta['Key'] == 'SPATIAL' ? ' selected' }}> |
|
SPATIAL |
|
</option> |
|
</select> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
{% endif %} |
|
<td class="text-center"> |
|
<input name="field_extra[{{ column_number }}]" id="field_{{ column_number }}_{{ ci - ci_offset }}" type="checkbox" value="AUTO_INCREMENT" |
|
{{- column_meta['Extra'] is defined and column_meta['Extra']|lower == 'auto_increment' ? ' checked' }}> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
<textarea id="field_{{ column_number }}_{{ ci - ci_offset }}" rows="1" name="field_comments[{{ column_number }}]" maxlength="{{ max_length }}"> |
|
{{- column_meta['Field'] is defined and comments_map is iterable and comments_map[column_meta['Field']] is defined ? comments_map[column_meta['Field']] -}} |
|
</textarea> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
{# column virtuality #} |
|
{% if is_virtual_columns_supported %} |
|
<td class="text-center"> |
|
<select name="field_virtuality[{{ column_number }}]" id="field_{{ column_number }}_{{ ci - ci_offset }}" class="virtuality"> |
|
{% for key, value in options %} |
|
<option value="{{ key }}"{{ column_meta['Extra'] is defined and key != '' and column_meta['Extra']|slice(0, key|length) is same as (key) ? ' selected' }}> |
|
{{ value }} |
|
</option> |
|
{% endfor %} |
|
</select> |
|
|
|
{% if char_editing == 'textarea' %} |
|
<textarea name="field_expression[{{ column_number }}]" cols="15" class="textfield expression">{{ column_meta['Expression'] is defined ? column_meta['Expression'] }}</textarea> |
|
{% else %} |
|
<input type="text" name="field_expression[{{ column_number }}]" size="12" value="{{ column_meta['Expression'] is defined ? column_meta['Expression'] }}" placeholder="{% trans 'Expression' %}" class="textfield expression"> |
|
{% endif %} |
|
{% set ci = ci + 1 %} |
|
</td> |
|
{% endif %} |
|
{# move column #} |
|
{% if fields_meta is defined %} |
|
{% set current_index = 0 %} |
|
{% set cols = move_columns|length - 1 %} |
|
{% set break = false %} |
|
{% for mi in 0..cols %} |
|
{% if move_columns[mi].name == column_meta['Field'] and not break %} |
|
{% set current_index = mi %} |
|
{% set break = true %} |
|
{% endif %} |
|
{% endfor %} |
|
|
|
<td class="text-center"> |
|
<select id="field_{{ column_number }}_{{ ci - ci_offset }}" name="field_move_to[{{ column_number }}]" size="1" width="5em"> |
|
<option value="" selected="selected"> </option> |
|
<option value="-first"{{ current_index == 0 ? ' disabled="disabled"' }}> |
|
{% trans 'first' %} |
|
</option> |
|
{% for mi in 0..move_columns|length - 1 %} |
|
<option value="{{ move_columns[mi].name }}" |
|
{{- current_index == mi or current_index == mi + 1 ? ' disabled' }}> |
|
{{ 'after %s'|trans|format(backquote(move_columns[mi].name|e)) }} |
|
</option> |
|
{% endfor %} |
|
</select> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
{% endif %} |
|
|
|
{% if relation_parameters.browserTransformationFeature is not null and relation_parameters.columnCommentsFeature is not null and browse_mime %} |
|
<td class="text-center"> |
|
<select id="field_{{ column_number }}_{{ ci - ci_offset }}" size="1" name="field_mimetype[{{ column_number }}]"> |
|
<option value=""> </option> |
|
{% if available_mime['mimetype'] is defined and available_mime['mimetype'] is iterable %} |
|
{% for media_type in available_mime['mimetype'] %} |
|
<option value="{{ media_type|replace({'/': '_'}) }}" |
|
{{- column_meta['Field'] is defined and mime_map[column_meta['Field']]['mimetype'] is defined |
|
and mime_map[column_meta['Field']]['mimetype'] == media_type|replace({'/': '_'}) ? ' selected' }}> |
|
{{ media_type|lower }} |
|
</option> |
|
{% endfor %} |
|
{% endif %} |
|
</select> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
<select id="field_{{ column_number }}_{{ ci - ci_offset }}" size="1" name="field_transformation[{{ column_number }}]"> |
|
<option value="" title="{% trans 'None' %}"></option> |
|
{% if available_mime['transformation'] is defined and available_mime['transformation'] is iterable %} |
|
{% for mimekey, transform in available_mime['transformation'] %} |
|
{% set parts = transform|split(':') %} |
|
<option value="{{ available_mime['transformation_file'][mimekey] }}" title="{{ get_description(available_mime['transformation_file'][mimekey]) }}" |
|
{{- column_meta['Field'] is defined and mime_map[column_meta['Field']]['transformation'] is defined |
|
and mime_map[column_meta['Field']]['transformation'] matches '@' ~ available_mime['transformation_file_quoted'][mimekey] ~ '3?@i' ? ' selected'}}> |
|
{{ get_name(available_mime['transformation_file'][mimekey]) ~ ' (' ~ parts[0]|lower ~ ':' ~ parts[1] ~ ')' }} |
|
</option> |
|
{% endfor %} |
|
{% endif %} |
|
</select> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
<input id="field_{{ column_number }}_{{ ci - ci_offset }}" type="text" name="field_transformation_options[{{ column_number }}]" size="16" class="textfield" value=" |
|
{{- column_meta['Field'] is defined and mime_map[column_meta['Field']]['transformation_options'] is defined ? mime_map[column_meta['Field']]['transformation_options'] }}"> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
<select id="field_{{ column_number }}_{{ ci - ci_offset }}" size="1" name="field_input_transformation[{{ column_number }}]"> |
|
<option value="" title="{% trans 'None' %}"></option> |
|
{% if available_mime['input_transformation'] is defined and available_mime['input_transformation'] is iterable %} |
|
{% for mimekey, transform in available_mime['input_transformation'] %} |
|
{% set parts = transform|split(':') %} |
|
<option value="{{ available_mime['input_transformation_file'][mimekey] }}" title="{{ get_description(available_mime['input_transformation_file'][mimekey]) }}" |
|
{{- column_meta['Field'] is defined and mime_map[column_meta['Field']]['input_transformation'] is defined |
|
and mime_map[column_meta['Field']]['input_transformation'] matches '@' ~ available_mime['input_transformation_file_quoted'][mimekey] ~ '3?@i' ? ' selected' }}> |
|
{{ get_name(available_mime['input_transformation_file'][mimekey]) ~ ' (' ~ parts[0]|lower ~ ':' ~ parts[1] ~ ')' }} |
|
</option> |
|
{% endfor %} |
|
{% endif %} |
|
</select> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
<td class="text-center"> |
|
<input id="field_{{ column_number }}_{{ ci - ci_offset }}" type="text" name="field_input_transformation_options[{{ column_number }}]" size="16" class="textfield" value=" |
|
{{- column_meta['Field'] is defined and mime_map[column_meta['Field']]['input_transformation_options'] is defined ? mime_map[column_meta['Field']]['input_transformation_options'] }}"> |
|
{% set ci = ci + 1 %} |
|
</td> |
|
{% endif %}
|
|
|