diff --git a/libraries/classes/CentralColumns.php b/libraries/classes/CentralColumns.php index 22fb42e255..14de6e180c 100644 --- a/libraries/classes/CentralColumns.php +++ b/libraries/classes/CentralColumns.php @@ -764,47 +764,10 @@ class CentralColumns */ private function getHtmlForEditTableRow(array $row, int $row_num): string { - $tableHtml = '' - . '' - . '' - . $this->template->render('columns_definitions/column_name', [ - 'column_number' => $row_num, - 'ci' => 0, - 'ci_offset' => 0, - 'column_meta' => [ - 'Field' => $row['col_name'], - ], - 'cfg_relation' => ['centralcolumnswork' => false], - 'max_rows' => $this->maxRows, - ]) - . ''; - $tableHtml .= - '' - . $this->template->render('columns_definitions/column_type', [ - 'column_number' => $row_num, - 'ci' => 1, - 'ci_offset' => 0, - 'type_upper' => mb_strtoupper($row['col_type']), - 'column_meta' => [], - ]) - . ''; - $tableHtml .= - '' - . $this->template->render('columns_definitions/column_length', [ - 'column_number' => $row_num, - 'ci' => 2, - 'ci_offset' => 0, - 'length_values_input_size' => 8, - 'length_to_display' => $row['col_length'], - ]) - . ''; $meta = []; if (! isset($row['col_default']) || $row['col_default'] == '') { $meta['DefaultType'] = 'NONE'; - } elseif ($row['col_default'] === 'CURRENT_TIMESTAMP' - || $row['col_default'] === 'current_timestamp()' - ) { + } elseif ($row['col_default'] === 'CURRENT_TIMESTAMP' || $row['col_default'] === 'current_timestamp()') { $meta['DefaultType'] = 'CURRENT_TIMESTAMP'; } elseif ($row['col_default'] === 'NULL') { $meta['DefaultType'] = $row['col_default']; @@ -812,77 +775,20 @@ class CentralColumns $meta['DefaultType'] = 'USER_DEFINED'; $meta['DefaultValue'] = $row['col_default']; } - $tableHtml .= - '' - . $this->template->render('columns_definitions/column_default', [ - 'column_number' => $row_num, - 'ci' => 3, - 'ci_offset' => 0, - 'type_upper' => mb_strtoupper((string) $row['col_default']), - 'column_meta' => $meta, - 'char_editing' => $this->charEditing, - ]) - . ''; - $tableHtml .= ''; - $tableHtml .= '' . "\n"; - $tableHtml .= ''; - $tableHtml .= - '' - . $this->template->render('columns_definitions/column_attribute', [ - 'column_number' => $row_num, - 'ci' => 5, - 'ci_offset' => 0, - 'extracted_columnspec' => [ - 'attribute' => $row['col_attribute'], - ], - 'column_meta' => [], - 'submit_attribute' => false, - 'attribute_types' => $this->dbi->types->getAttributes(), - ]) - . ''; - $tableHtml .= - '' - . $this->template->render('columns_definitions/column_null', [ - 'column_number' => $row_num, - 'ci' => 6, - 'ci_offset' => 0, - 'column_meta' => [ - 'Null' => $row['col_isNull'], - ], - ]) - . ''; - $tableHtml .= - '' - . $this->template->render('columns_definitions/column_extra', [ - 'column_number' => $row_num, - 'ci' => 7, - 'ci_offset' => 0, - 'column_meta' => ['Extra' => $row['col_extra']], - ]) - . ''; - $tableHtml .= ''; - - return $tableHtml; + return $this->template->render('database/central_columns/edit_table_row', [ + 'row_num' => $row_num, + 'row' => $row, + 'max_rows' => $this->maxRows, + 'meta' => $meta, + 'char_editing' => $this->charEditing, + 'charsets' => $charsets, + 'collations' => $collations, + 'attribute_types' => $this->dbi->types->getAttributes(), + ]); } /** diff --git a/templates/database/central_columns/edit_table_row.twig b/templates/database/central_columns/edit_table_row.twig new file mode 100644 index 0000000000..f63ef575e6 --- /dev/null +++ b/templates/database/central_columns/edit_table_row.twig @@ -0,0 +1,90 @@ + + + + {% include 'columns_definitions/column_name.twig' with { + 'column_number': row_num, + 'ci': 0, + 'ci_offset': 0, + 'column_meta': {'Field': row['col_name']}, + 'cfg_relation': {'centralcolumnswork': false}, + 'max_rows': max_rows + } only %} + + + + {% include 'columns_definitions/column_type.twig' with { + 'column_number': row_num, + 'ci': 1, + 'ci_offset': 0, + 'column_meta': [], + 'type_upper': row['col_type']|upper + } only %} + + + + {% include 'columns_definitions/column_length.twig' with { + 'column_number': row_num, + 'ci': 2, + 'ci_offset': 0, + 'length_values_input_size': 8, + 'length_to_display': row['col_length'] + } only %} + + + + {% include 'columns_definitions/column_default.twig' with { + 'column_number': row_num, + 'ci': 3, + 'ci_offset': 0, + 'column_meta': meta, + 'type_upper': row['col_default']|upper, + 'default_value': '', + 'char_editing': char_editing + } only %} + + + + + + + + {% include 'columns_definitions/column_attribute.twig' with { + 'column_number': row_num, + 'ci': 5, + 'ci_offset': 0, + 'column_meta': [], + 'extracted_columnspec': {'attribute': row['col_attribute']}, + 'submit_attribute': false, + 'attribute_types': attribute_types + } only %} + + + + {% include 'columns_definitions/column_null.twig' with { + 'column_number': row_num, + 'ci': 6, + 'ci_offset': 0, + 'column_meta': {'Null': row['col_isNull']} + } only %} + + + + {% include 'columns_definitions/column_extra.twig' with { + 'column_number': row_num, + 'ci': 7, + 'ci_offset': 0, + 'column_meta': {'Extra': row['col_extra']} + } only %} + +