1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-06 22:56:46 +02:00

AdminerSqlGemini: Highlight button

This commit is contained in:
Jakub Vrana
2025-03-25 07:13:43 +01:00
parent a1080ea8dc
commit 19b7358452
2 changed files with 19 additions and 7 deletions

View File

@@ -773,7 +773,7 @@ function setupSubmitHighlight(parent) {
* @param HTMLElement
*/
function setupSubmitHighlightInput(input) {
if (!/submit|image|file/.test(input.type)) {
if (!/submit|button|image|file/.test(input.type)) {
addEvent(input, 'focus', inputFocus);
addEvent(input, 'blur', inputBlur);
}
@@ -783,6 +783,7 @@ function setupSubmitHighlightInput(input) {
* @this HTMLInputElement
*/
function inputFocus() {
console.log('functions');
alterClass(findDefaultSubmit(this), 'default', true);
}

View File

@@ -55,7 +55,8 @@ class AdminerSqlGemini {
?>
<p><input type='button' value='Gemini'>
<script <?php echo Adminer\nonce(); ?>>
const gemini = qsl('input');
const geminiText = qsl('textarea');
const geminiButton = qsl('input');
function setSqlareaValue(value) {
qs('textarea.sqlarea').value = value;
@@ -63,18 +64,28 @@ function setSqlareaValue(value) {
qs('pre.sqlarea').oninput(); // syntax highlighting
}
gemini.onclick = () => {
geminiButton.onclick = () => {
setSqlareaValue('-- Just a sec...'); // this is the phrase used by Google Gemini
ajax(
'',
req => setSqlareaValue(req.responseText),
'gemini=' + encodeURIComponent(this.form['gemini'].value)
'gemini=' + encodeURIComponent(geminiText.value)
);
}
};
qsl('textarea').onkeydown = event => {
geminiText.onfocus = event => {
alterClass(findDefaultSubmit(geminiText), 'default');
alterClass(geminiButton, 'default', true);
event.stopImmediatePropagation();
};
geminiText.onblur = () => {
alterClass(geminiButton, 'default');
};
geminiText.onkeydown = event => {
if (isCtrl(event) && (event.keyCode == 13 || event.keyCode == 10)) {
gemini.onclick();
geminiButton.onclick();
event.stopPropagation();
}
};