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