]> git.joonet.de Git - adminer.git/commitdiff
Open database to a new window after selecting it with Ctrl
authorJakub Vrana <jakub@vrana.cz>
Thu, 4 Apr 2013 17:35:15 +0000 (10:35 -0700)
committerJakub Vrana <jakub@vrana.cz>
Thu, 4 Apr 2013 17:35:15 +0000 (10:35 -0700)
adminer/include/adminer.inc.php
adminer/static/editing.js
changes.txt

index 0795e0649c2b1cc284a2fbc3c53939d05ac43084..f6f8c1b295919f488e8fbe2ecb2b43fabbf35d8b 100644 (file)
@@ -808,8 +808,13 @@ username.form['auth[driver]'].onchange();
                ?>
 <form action="">
 <p id="dbs">
-<?php hidden_fields_get(); ?>
-<?php echo ($databases ? html_select("db", array("" => "(" . lang('database') . ")") + $databases, DB, "this.form.submit();") : '<input name="db" value="' . h(DB) . '" autocapitalize="off">'); ?>
+<?php
+hidden_fields_get();
+echo ($databases
+       ? '<select name="db" onmousedown="dbMouseDown(event, this);" onchange="dbChange(this);">' . optionlist(array("" => "(" . lang('database') . ")") + $databases, DB) . '</select>'
+       : '<input name="db" value="' . h(DB) . '" autocapitalize="off">'
+);
+?>
 <input type="submit" value="<?php echo lang('Use'); ?>"<?php echo ($databases ? " class='hidden'" : ""); ?>>
 <?php
                if ($missing != "db" && DB != "" && $connection->select_db(DB)) {
index 047cba16a5b92e566ca29aa6d29ca7f12c8751cb..6250eab98e0f88b174cc786a5364c037be126aa0 100644 (file)
@@ -75,6 +75,37 @@ function loginDriver(driver) {
 
 
 
+var dbCtrl;
+var dbPrevious;
+
+/** Check if database should be opened to a new window
+* @param MouseEvent
+* @param HTMLSelectElement
+*/
+function dbMouseDown(event, el) {
+       dbCtrl = isCtrl(event);
+       if (dbPrevious == undefined) {
+               dbPrevious = el.value;
+       }
+}
+
+/** Load database after selecting it
+* @param HTMLSelectElement
+*/
+function dbChange(el) {
+       if (dbCtrl) {
+               el.form.target = '_blank';
+       }
+       el.form.submit();
+       el.form.target = '';
+       if (dbCtrl && dbPrevious != undefined) {
+               el.value = dbPrevious;
+               dbPrevious = undefined;
+       }
+}
+
+
+
 /** Handle Tab and Esc in textarea
 * @param HTMLTextAreaElement
 * @param KeyboardEvent
index d3fe1b36f15498b891159f7a703f08b183fea92e..2a10c56479503c9ad157832276dda166af8416b8 100644 (file)
@@ -5,6 +5,7 @@ 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)
 Handle max_input_vars
+Open database to a new window after selecting it with Ctrl
 Disable autocapitalize in identifiers on mobile browsers
 MySQL: Compatibility with MySQL 5.6
 MySQL: Move ALTER export to plugin