diff options
author | pekepeke | 2008-11-10 14:44:19 +0000 |
---|---|---|
committer | pekepeke | 2008-11-10 14:44:19 +0000 |
commit | 09f7ffc64d12a50a61dadd1e1ef57ea24a0f162a (patch) | |
tree | 091489542a4ed1d37b6933fd638c85b288c8d0f7 /walk-input.js | |
parent | 6bb9b12da9888d30f1fc904c844188affc0e7692 (diff) | |
download | vimperator-plugins-09f7ffc64d12a50a61dadd1e1ef57ea24a0f162a.tar.bz2 |
revert
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@23155 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'walk-input.js')
-rw-r--r-- | walk-input.js | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/walk-input.js b/walk-input.js index eb0b8ea..885a96c 100644 --- a/walk-input.js +++ b/walk-input.js @@ -19,38 +19,33 @@ // </html> (function() { -var walkinput = function(forward) { +var walkinput = function() { var win = document.commandDispatcher.focusedWindow; var d = win.document; var xpath = '//input[@type="text" or @type="password" or @type="search" or not(@type)] | //textarea'; var list = d.evaluate(xpath, d, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); - if (list.snapshotLength == 0) - return; + if (list.snapshotLength == 0) return; var focused = document.commandDispatcher.focusedElement; var current = null; var next = null; - var prev = null; for (let i = 0; i < list.snapshotLength; ++i) { let e = list.snapshotItem(i); if (e == focused) { current = e; - } else if (current && !next) { + } else if (current && next == null) { next = e; - } else if (!current) { - prev = e; } } - - if (forward) { - (next || list.snapshotItem(0)).focus(); + if (next) { + next.focus(); } else { - (prev || list.snapshotItem(list.snapshotLength - 1)).focus(); + list.snapshotItem(0).focus(); } }; -mappings.add([modes.NORMAL, modes.INSERT], ['<M-i>', '<A-i>'], - 'Walk Input Fields (Forward)', function () walkinput(true)); -mappings.add([modes.NORMAL, modes.INSERT], ['<M-I>', '<A-I>'], - 'Walk Input Fields (Backward)', function () walkinput(false)); +liberator.modules.mappings.add([liberator.modules.modes.NORMAL], ['<M-i>'], 'Walk Input Fields', walkinput); +liberator.modules.mappings.add([liberator.modules.modes.INSERT], ['<M-i>'], 'Walk Input Fields', walkinput); +liberator.modules.mappings.add([liberator.modules.modes.NORMAL], ['<A-i>'], 'Walk Input Fields', walkinput); +liberator.modules.mappings.add([liberator.modules.modes.INSERT], ['<A-i>'], 'Walk Input Fields', walkinput); })(); |