1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-10 16:44:17 +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 * @param HTMLElement
*/ */
function setupSubmitHighlightInput(input) { function setupSubmitHighlightInput(input) {
if (!/submit|image|file/.test(input.type)) { if (!/submit|button|image|file/.test(input.type)) {
addEvent(input, 'focus', inputFocus); addEvent(input, 'focus', inputFocus);
addEvent(input, 'blur', inputBlur); addEvent(input, 'blur', inputBlur);
} }
@@ -783,6 +783,7 @@ function setupSubmitHighlightInput(input) {
* @this HTMLInputElement * @this HTMLInputElement
*/ */
function inputFocus() { function inputFocus() {
console.log('functions');
alterClass(findDefaultSubmit(this), 'default', true); alterClass(findDefaultSubmit(this), 'default', true);
} }

View File

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