{% for designerTable in tables %} {% set i = loop.index0 %} {% set t_n_url = designerTable.getDbTableString()|escape('url') %} {% set db = designerTable.getDatabaseName() %} {% set db_url = db|escape('url') %} {% set t_n = designerTable.getDbTableString() %} {% set table_name = designerTable.getTableName()|escape('html') %} <input name="t_x[{{ t_n_url }}]" type="hidden" id="t_x_{{ t_n_url }}_" /> <input name="t_y[{{ t_n_url }}]" type="hidden" id="t_y_{{ t_n_url }}_" /> <input name="t_v[{{ t_n_url }}]" type="hidden" id="t_v_{{ t_n_url }}_" /> <input name="t_h[{{ t_n_url }}]" type="hidden" id="t_h_{{ t_n_url }}_" /> <table id="{{ t_n_url }}" db_url="{{ designerTable.getDatabaseName()|escape('url') }}" table_name_url="{{ designerTable.getTableName()|escape('url') }}" cellpadding="0" cellspacing="0" class="table table-sm table-striped table-hover w-auto designer_tab" style="position:absolute; {{ text_dir == 'rtl' ? 'right' : 'left' }}: {{- tab_pos[t_n] is defined ? tab_pos[t_n]['X'] : random(range(20, 700)) }}px; top: {{- tab_pos[t_n] is defined ? tab_pos[t_n]['Y'] : random(range(20, 550)) }}px; display: {{- tab_pos[t_n] is defined or display_page == -1 ? 'block' : 'none' }}; z-index: 1;"> <!--"--> <thead> <tr class="header"> {% if has_query %} <td class="select_all"> <input class="select_all_1" type="checkbox" style="margin: 0;" value="select_all_{{ t_n_url }}" id="select_all_{{ i }}" title="{% trans 'Select all' %}" table_name="{{ table_name }}" db_name="{{ db }}"> </td> {% endif %} <td class="small_tab" title="{% trans 'Show/hide columns' %}" id="id_hide_tbody_{{ t_n_url }}" table_name="{{ t_n_url }}">{{ tab_pos[t_n] is not defined or tab_pos[t_n]['V'] is not empty ? 'v' : '&gt;' }}</td> <td class="small_tab_pref small_tab_pref_1" db="{{ designerTable.getDatabaseName() }}" db_url="{{ designerTable.getDatabaseName()|escape('url') }}" table_name="{{ designerTable.getTableName() }}" table_name_url="{{ designerTable.getTableName()|escape('url') }}"> <img src="{{ image('designer/exec_small.png') }}" title="{% trans 'See table structure' %}"> </td> <td id="id_zag_{{ t_n_url }}" class="tab_zag text-nowrap tab_zag_noquery" table_name="{{ t_n_url }}" query_set="{{ has_query ? 1 : 0 }}"> <span class="owner">{{ designerTable.getDatabaseName() }}</span> {{ designerTable.getTableName() }} </td> {% if has_query %} <td class="tab_zag tab_zag_query" id="id_zag_{{ t_n_url }}_2" table_name="{{ t_n_url }}"> </td> {% endif %} </tr> </thead> <tbody id="id_tbody_{{ t_n_url }}" {{- tab_pos[t_n] is defined and tab_pos[t_n]['V'] is empty ? ' style="display: none"' }}> {% set display_field = designerTable.getDisplayField() %} {% for j in 0..tab_column[t_n]['COLUMN_ID']|length - 1 %} {% set col_name = tab_column[t_n]['COLUMN_NAME'][j] %} {% set tmp_column = t_n ~ '.' ~ tab_column[t_n]['COLUMN_NAME'][j] %} {% set click_field_param = [ designerTable.getTableName()|escape('url'), tab_column[t_n]['COLUMN_NAME'][j]|url_encode ] %} {% if not designerTable.supportsForeignkeys() %} {% set click_field_param = click_field_param|merge([tables_pk_or_unique_keys[tmp_column] is defined ? 1 : 0]) %} {% else %} {# if foreign keys are supported, it's not necessary that the index is a primary key #} {% set click_field_param = click_field_param|merge([tables_all_keys[tmp_column] is defined ? 1 : 0]) %} {% endif %} {% set click_field_param = click_field_param|merge([db]) %} <tr id="id_tr_{{ designerTable.getTableName()|escape('url') }}.{{ tab_column[t_n]['COLUMN_NAME'][j] }}" class="tab_field {{- display_field == tab_column[t_n]['COLUMN_NAME'][j] ? '_3' }}" click_field_param=" {{- click_field_param|join(',') }}"> {% if has_query %} <td class="select_all"> <input class="select_all_store_col" value="{{ t_n_url }}{{ tab_column[t_n]['COLUMN_NAME'][j]|url_encode }}" type="checkbox" id="select_{{ t_n_url }}._{{ tab_column[t_n]['COLUMN_NAME'][j]|url_encode }}" style="margin: 0;" title="{{ 'Select "%s"'|trans|format(col_name) }}" id_check_all="select_all_{{ i }}" db_name="{{ db }}" table_name="{{ table_name }}" col_name="{{ col_name }}"> </td> {% endif %} <td width="10px" colspan="3" id="{{ t_n_url }}. {{- tab_column[t_n]['COLUMN_NAME'][j]|url_encode }}"> <div class="text-nowrap"> {% set type = columns_type[t_n ~ '.' ~ tab_column[t_n]['COLUMN_NAME'][j]] %} <img src="{{ image(type) }}.png" alt="*"> {{ tab_column[t_n]['COLUMN_NAME'][j] }} : {{ tab_column[t_n]['TYPE'][j] }} </div> </td> {% if has_query %} <td class="small_tab_pref small_tab_pref_click_opt" {# Escaped 2 times to be able to use it in innerHtml #} option_col_name_modal="<strong>{{ 'Add an option for column "%s".'|trans|format(col_name)|escape('html')|escape('html') }}</strong>" db_name="{{ db }}" table_name="{{ table_name }}" col_name="{{ col_name }}" db_table_name_url="{{ t_n_url }}"> <img src="{{ image('designer/exec_small.png') }}" title="{% trans 'Options' %}" /> </td> {% endif %} </tr> {% endfor %} </tbody> </table> {% endfor %}