]> git.joonet.de Git - adminer.git/commitdiff
Edit select SQL query on Ctrl+click
authorJakub Vrana <jakub@vrana.cz>
Fri, 5 Apr 2013 01:15:18 +0000 (18:15 -0700)
committerJakub Vrana <jakub@vrana.cz>
Fri, 5 Apr 2013 01:15:18 +0000 (18:15 -0700)
adminer/include/adminer.inc.php
adminer/static/editing.js
adminer/static/functions.js
changes.txt

index f6f8c1b295919f488e8fbe2ecb2b43fabbf35d8b..fadc030347229abbf5318039b17d507e04787492 100644 (file)
@@ -165,9 +165,9 @@ username.form['auth[driver]'].onchange();
        */
        function selectQuery($query) {
                global $jush, $token;
-               return "<form action='" . h(ME) . "sql=' method='post'><p><span>"
+               return "<form action='" . h(ME) . "sql=' method='post'><p><span onclick=\"return !selectEditSql(event, this, '" . lang('Execute') . "');\">"
                        . "<code class='jush-$jush'>" . h(str_replace("\n", " ", $query)) . "</code>"
-                       . " <a href='" . h(ME) . "sql=" . urlencode($query) . "' onclick=\"return !selectEditSql(event, this.parentNode, '" . lang('Execute') . "');\">" . lang('Edit') . "</a>"
+                       . " <a href='" . h(ME) . "sql=" . urlencode($query) . "'>" . lang('Edit') . "</a>"
                        . "</span><input type='hidden' name='token' value='$token'></p></form>\n"; // </p> - required for IE9 inline edit
        }
        
index 6250eab98e0f88b174cc786a5364c037be126aa0..78a08f81b53bde0c2a4acdc938c5a69ac7a56db0 100644 (file)
@@ -203,11 +203,11 @@ function selectFieldChange(form) {
 * @param MouseEvent
 * @param HTMLSpanElement
 * @param string
-* @return boolean
 */
 function selectEditSql(event, el, label) {
-       if (isCtrl(event) || event.altKey) {
-               return false;
+       var a = parentTag(event.target || event.srcElement, 'a');
+       if (!isCtrl(event) || (a && a.href)) {
+               return;
        }
        var sql = el.firstChild;
        var input = document.createElement('input');
index fc05ec9e6a49b56dd0c7d05f6e42616fc9726cd0..22064fcbb385a85511cb955aa847e5c079235cd9 100644 (file)
@@ -40,12 +40,12 @@ function selectValue(select) {
 
 /** Get parent node with specified tag name.
  * @param HTMLElement
- * @param string
+ * @param string regular expression
  * @return HTMLElement
  */
 function parentTag(el, tag) {
        var re = new RegExp('^' + tag + '$', 'i');
-       while (!re.test(el.tagName)) {
+       while (el && !re.test(el.tagName)) {
                el = el.parentNode;
        }
        return el;
index 2a10c56479503c9ad157832276dda166af8416b8..85e1cdaa5c8a5d0702a6a96787683980246e7530 100644 (file)
@@ -1,6 +1,6 @@
 Adminer 3.6.4-dev:
 Display pagination on a fixed position
-Display select SQL edit form inline
+Display SQL edit form on Ctrl+click on the select query
 Recover original view, trigger, routine if creating fails
 Allow loading more data with inline edit (bug #3605531)
 Stay on the same page after deleting rows (bug #3605845)