Skip to content

Commit

Permalink
Allow to insert Tab in SQL textareas and send the form by Ctrl+Enter
Browse files Browse the repository at this point in the history
  • Loading branch information
vrana committed Jul 13, 2010
1 parent ed7ed84 commit 9929cc6
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 4 deletions.
2 changes: 1 addition & 1 deletion adminer/include/functions.inc.php
Expand Up @@ -124,7 +124,7 @@ function html_select($name, $options, $value = "", $onchange = true) {
* @return null
*/
function textarea($name, $value, $rows = 10, $cols = 80) {
echo "<textarea name='$name' rows='$rows' cols='$cols' style='width: 98%;' spellcheck='false'>" . h($value) . "</textarea>"; // spellcheck - not valid before HTML5
echo "<textarea name='$name' rows='$rows' cols='$cols' style='width: 98%;' spellcheck='false' onkeydown='return textareaKeydown(this, event);'>" . h($value) . "</textarea>"; // spellcheck - not valid before HTML5
}


Expand Down
6 changes: 3 additions & 3 deletions adminer/sql.inc.php
Expand Up @@ -138,14 +138,14 @@
}
textarea("query", $q, 20);
echo ($_POST ? "" : "<script type='text/javascript'>document.getElementsByTagName('textarea')[0].focus();</script>\n");
echo "<p>" . (ini_bool("file_uploads") ? lang('File upload') . ': <input type="file" name="sql_file">' : lang('File uploads are disabled.'));

?>
<p>
<input type="hidden" name="token" value="<?php echo $token; ?>">
<input type="submit" value="<?php echo lang('Execute'); ?>">
<?php echo checkbox("error_stops", 1, $_POST["error_stops"], lang('Stop on error')); ?>

<?php
echo "<p>" . (ini_bool("file_uploads") ? lang('File upload') . ': <input type="file" name="sql_file">' : lang('File uploads are disabled.'));
echo checkbox("error_stops", 1, $_POST["error_stops"], lang('Stop on error'));

print_fieldset("webfile", lang('From server'), $_POST["webfile"]);
$compress = array();
Expand Down
26 changes: 26 additions & 0 deletions adminer/static/functions.js
Expand Up @@ -123,6 +123,32 @@ function selectAddRow(field) {



/** Handle Tab and Ctrl+Enter in textarea
* @param HTMLTextAreaElement
* @param KeyboardEvent
* @return boolean
*/
function textareaKeydown(target, event) {
if (event.keyCode == 9 && !event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) {
// inspired by http://pallieter.org/Projects/insertTab/
if (target.setSelectionRange) {
var start = target.selectionStart;
target.value = target.value.substr(0, start) + '\t' + target.value.substr(target.selectionEnd);
target.setSelectionRange(start + 1, start + 1);
return false;
} else if (target.createTextRange) {
document.selection.createRange().text = '\t';
return false;
}
}
if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10) && !event.altKey && !event.metaKey) { // shiftKey allowed
target.form.submit();
}
return true;
}



/** Display edit field
* @param HTMLElement
* @param MouseEvent
Expand Down
1 change: 1 addition & 0 deletions changes.txt
Expand Up @@ -10,6 +10,7 @@ Remember export parameters in cookie
Allow semicolon as CSV separator
Schemas, sequences and types support (PostgreSQL)
Autofocus username in login form
Allow to insert Tab in SQL textareas and send the form by Ctrl+Enter
Disable spellchecking in SQL textareas
Display auto_increment value of inserted item
Allow disabling auto_increment value export
Expand Down

0 comments on commit 9929cc6

Please sign in to comment.