Create table keyboard shortcuts: Ctrl+Up, Ctrl+Down
This commit is contained in:
parent
57ec8f0266
commit
4a5eb8b408
|
@ -231,7 +231,7 @@ function edit_fields($fields, $collations, $type = "TABLE", $allowed = 0, $forei
|
|||
<?php } ?>
|
||||
<td><?php echo "<input type='image' name='add[" . (support("move_col") ? 0 : count($fields)) . "]' src='../adminer/static/plus.gif' alt='+' title='" . lang('Add next') . "'>"; ?><script type="text/javascript">row_count = <?php echo count($fields); ?>;</script>
|
||||
</thead>
|
||||
<?php
|
||||
<tbody onkeydown="return editingKeydown(event);"><?php // no newline for JavaScript
|
||||
foreach ($fields as $i => $field) {
|
||||
$i++;
|
||||
$orig = $field[($_POST ? "orig" : "field")];
|
||||
|
|
|
@ -240,6 +240,33 @@ function editingLengthBlur(edit) {
|
|||
edit.style.display = 'none';
|
||||
}
|
||||
|
||||
/** Find node position
|
||||
* @param Node
|
||||
* @return number
|
||||
*/
|
||||
function nodePosition(el) {
|
||||
var pos = 0;
|
||||
while (el = el.previousSibling) {
|
||||
pos++;
|
||||
}
|
||||
return pos;
|
||||
}
|
||||
|
||||
/** Change focus by Ctrl+Up or Down
|
||||
* @param KeyboardEvent
|
||||
* @return boolean
|
||||
*/
|
||||
function editingKeydown(event) {
|
||||
var target = event.target || event.srcElement;
|
||||
if ((event.keyCode == 40 || event.keyCode == 38) && event.ctrlKey && !event.altKey && !event.metaKey) { // shiftKey allowed
|
||||
if ((el = target.parentNode.parentNode[(event.keyCode == 40 ? 'nextSibling' : 'previousSibling')]) && (el = el.childNodes[nodePosition(target.parentNode)]) && (el = el.childNodes[nodePosition(target)])) {
|
||||
el.focus();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Show or hide selected table column
|
||||
* @param boolean
|
||||
* @param number
|
||||
|
|
|
@ -7,6 +7,7 @@ History: edit all
|
|||
MS SQL: auto primary and foreign key
|
||||
SQLite: display 0
|
||||
Create table default data type: int
|
||||
Create table keyboard shortcuts: Ctrl+Up, Ctrl+Down
|
||||
Homepage customization
|
||||
Use IN for search in numeric fields (Editor)
|
||||
Work without session.use_cookies (bug #3138640)
|
||||
|
|
Loading…
Reference in a new issue