Skip to content

Commit a483c79

Browse files
Merge pull request #18678 from kamil-tekiela/Optimize-autocomplete
Optimize autocomplete
2 parents 7cace99 + 8cf36be commit a483c79

2 files changed

Lines changed: 23 additions & 19 deletions

File tree

js/src/modules/functions.ts

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1212,24 +1212,15 @@ function codeMirrorAutoCompleteOnInputRead (instance) {
12121212
columns: []
12131213
};
12141214

1215-
for (var column in columns) {
1216-
if (columns.hasOwnProperty(column)) {
1217-
var displayText = columns[column].Type;
1218-
if (columns[column].Key === 'PRI') {
1219-
displayText += ' | Primary';
1220-
} else if (columns[column].Key === 'UNI') {
1221-
displayText += ' | Unique';
1222-
}
1223-
1224-
// @ts-ignore
1225-
table.columns.push({
1226-
text: column,
1227-
displayText: column + ' | ' + displayText,
1228-
columnName: column,
1229-
columnHint: displayText,
1230-
render: columnHintRender
1231-
});
1232-
}
1215+
for (let column of columns) {
1216+
// @ts-ignore
1217+
table.columns.push({
1218+
text: column.field,
1219+
displayText: column.field + ' | ' + column.columnHint,
1220+
columnName: column.field,
1221+
columnHint: column.columnHint,
1222+
render: columnHintRender
1223+
});
12331224
}
12341225
}
12351226

src/Controllers/Database/SqlAutoCompleteController.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
use PhpMyAdmin\ResponseRenderer;
1212
use PhpMyAdmin\Template;
1313

14+
use function array_map;
15+
use function array_values;
16+
1417
/**
1518
* Table/Column autocomplete in SQL editors.
1619
*/
@@ -29,7 +32,17 @@ public function __invoke(ServerRequest $request): void
2932
if ($db) {
3033
$tableNames = $this->dbi->getTables($db);
3134
foreach ($tableNames as $tableName) {
32-
$sqlAutocomplete[$tableName] = $this->dbi->getColumns($db, $tableName);
35+
$sqlAutocomplete[$tableName] = array_map(
36+
static fn (array $field): array => [
37+
'field' => $field['Field'],
38+
'columnHint' => $field['Type'] . match ($field['Key']) {
39+
'PRI' => ' | Primary',
40+
'UNI' => ' | Unique',
41+
default=> ''
42+
},
43+
],
44+
array_values($this->dbi->getColumns($db, $tableName)),
45+
);
3346
}
3447
}
3548
}

0 commit comments

Comments
 (0)