]> git.joonet.de Git - adminer.git/commitdiff
AdminerSqlGemini: Handle Ctrl+Enter
authorJakub Vrana <jakub@vrana.cz>
Tue, 25 Mar 2025 05:56:00 +0000 (06:56 +0100)
committerJakub Vrana <jakub@vrana.cz>
Tue, 25 Mar 2025 05:56:00 +0000 (06:56 +0100)
plugins/sql-gemini.php

index 37817a50319871ff68813e7a2f05b4a6b480a973..449c751acfa994307a6906b8eb9c00b291a7eb18 100644 (file)
@@ -55,13 +55,15 @@ class AdminerSqlGemini {
                ?>
 <p><input type='button' value='Gemini'>
 <script <?php echo Adminer\nonce(); ?>>
+const gemini = qsl('input');
+
 function setSqlareaValue(value) {
        qs('textarea.sqlarea').value = value;
        qs('pre.sqlarea').textContent = value;
        qs('pre.sqlarea').oninput(); // syntax highlighting
 }
 
-qsl('input').onclick = function () {
+gemini.onclick = () => {
        setSqlareaValue('-- Just a sec...'); // this is the phrase used by Google Gemini
        ajax(
                '',
@@ -69,6 +71,13 @@ qsl('input').onclick = function () {
                'gemini=' + encodeURIComponent(this.form['gemini'].value)
        );
 }
+
+qsl('textarea').onkeydown = event => {
+       if (isCtrl(event) && (event.keyCode == 13 || event.keyCode == 10)) {
+               gemini.onclick();
+               event.stopPropagation();
+       }
+};
 </script>
 <?php
        }