mirror of
https://github.com/vrana/adminer.git
synced 2025-08-06 14:46:36 +02:00
Autocomplete SQL commands
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
## Adminer dev
|
||||
- Autocomplete SQL commands
|
||||
- Do not edit NULL values by Modify (bug #967)
|
||||
- PostgreSQL: Support COPY FROM stdin in SQL query (bug #942)
|
||||
- MySQL: Display number of found rows in group queries (regression from 5.1.1)
|
||||
|
@@ -994,6 +994,7 @@ class Adminer {
|
||||
function syntaxHighlighting(array $tables): void {
|
||||
// this is matched by compile.php
|
||||
echo script_src("../externals/jush/modules/jush.js");
|
||||
echo script_src("../externals/jush/modules/jush-autocomplete-sql.js");
|
||||
echo script_src("../externals/jush/modules/jush-textarea.js");
|
||||
echo script_src("../externals/jush/modules/jush-txt.js");
|
||||
echo script_src("../externals/jush/modules/jush-js.js");
|
||||
@@ -1009,6 +1010,13 @@ class Adminer {
|
||||
foreach (array("bac", "bra", "sqlite_quo", "mssql_bra") as $val) {
|
||||
echo "jushLinks.$val = jushLinks." . JUSH . ";\n";
|
||||
}
|
||||
$tablesColumns = array_fill_keys(array_keys($tables), array());
|
||||
foreach (driver()->allFields() as $table => $fields) {
|
||||
foreach ($fields as $field) {
|
||||
$tablesColumns[$table][] = $field["field"];
|
||||
}
|
||||
}
|
||||
echo "autocompleter = jush.autocompleteSql('" . idf_escape("") . "', " . json_encode($tablesColumns) . ");\n";
|
||||
}
|
||||
echo "</script>\n";
|
||||
}
|
||||
|
@@ -1,5 +1,7 @@
|
||||
'use strict'; // Adminer specific functions
|
||||
|
||||
let autocompleter; // set in adminer.inc.php
|
||||
|
||||
/** Load syntax highlighting
|
||||
* @param string first three characters of database system version
|
||||
* @param [string]
|
||||
@@ -44,7 +46,7 @@ function syntaxHighlighting(version, vendor) {
|
||||
adminerHighlighter = els => jush.highlight_tag(els, 0);
|
||||
for (const tag of qsa('textarea')) {
|
||||
if (/(^|\s)jush-/.test(tag.className)) {
|
||||
const pre = jush.textarea(tag);
|
||||
const pre = jush.textarea(tag, autocompleter);
|
||||
if (pre) {
|
||||
setupSubmitHighlightInput(pre);
|
||||
tag.onchange = () => {
|
||||
|
2
externals/jush
vendored
2
externals/jush
vendored
Submodule externals/jush updated: d599d55910...182e95066c
Reference in New Issue
Block a user