Fix display field in Designer

Introduced by: a23f2ba51a

Signed-off-by: William Desportes <williamdes@wdes.fr>
This commit is contained in:
William Desportes 2019-11-20 12:28:12 +01:00
parent 5aa55122b7
commit 770f30aa86
No known key found for this signature in database
GPG Key ID: 90A0EF1B8251A889
4 changed files with 25 additions and 9 deletions

View File

@ -141,10 +141,10 @@ class Designer
/**
* Returns HTML for including some variable to be accessed by JavaScript
*
* @param array $script_tables array on foreign key support for each table
* @param array $script_contr initialization data array
* @param array $script_display_field display fields of each table
* @param int $display_page page number of the selected page
* @param array $script_tables array on foreign key support for each table
* @param array $script_contr initialization data array
* @param Designer\DesignerTable[] $script_display_field displayed tables in designer with their display fields
* @param int $display_page page number of the selected page
*
* @return string html
*/
@ -154,13 +154,19 @@ class Designer
array $script_display_field,
$display_page
) {
$displayedFields = [];
foreach ($script_display_field as $designerTable) {
if ($designerTable->getDisplayField() !== null) {
$displayedFields[$designerTable->getTableName()] = $designerTable->getDisplayField();
}
}
$cfgRelation = $this->relation->getRelationsParam();
$designerConfig = new \stdClass();
$designerConfig->db = $_GET['db'];
$designerConfig->scriptTables = $script_tables;
$designerConfig->scriptContr = $script_contr;
$designerConfig->server = $GLOBALS['server'];
$designerConfig->scriptDisplayField = $script_display_field;
$designerConfig->scriptDisplayField = $displayedFields;
$designerConfig->displayPage = (int) $display_page;
$designerConfig->tablesEnabled = $cfgRelation['pdfwork'];
return Template::get('database/designer/js_fields')->render([

View File

@ -77,6 +77,16 @@ class DesignerTable
return $this->tableEngine;
}
/**
* Get the displayed field
*
* @return string
*/
public function getDisplayField()
{
return $this->displayField;
}
/**
* Get the db and table separated with a dot
*

View File

@ -61,11 +61,11 @@
</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 = Relation_getDisplayField(get_db, t_n) %}
{% set display_field = designerTable.getDisplayField() %}
{% for j in 0..tab_column[t_n]['COLUMN_ID']|length - 1 %}
{% set tmp_column = t_n ~ '.' ~ tab_column[t_n]['COLUMN_NAME'][j] %}
{% set click_field_param = [
db_url,
designerTable.getTableName()|escape('url'),
tab_column[t_n]['COLUMN_NAME'][j]|url_encode
] %}
{% if not designerTable.supportsForeignkeys() %}
@ -76,7 +76,7 @@
{% 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_{{ t_n }}.{{ tab_column[t_n]['COLUMN_NAME'][j] }}" class="tab_field
<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 %}

View File

@ -107,7 +107,7 @@ canvas.designer * {
}
.tab_field_3 {
background-color: #FFE6E6; /*#DDEEFF*/
background-color: #FFE6E6 !important; /*#DDEEFF*/
color: #000;
cursor: default;
}