summaryrefslogtreecommitdiffstats
path: root/install/ui/src/freeipa/field.js
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-02-14 10:18:09 +0100
committerPetr Vobornik <pvoborni@redhat.com>2013-03-06 12:55:12 +0100
commit32a7801cf448c8a5659d92834b6db9dec381af75 (patch)
treebe17e6cfe5194dc3221f9c5329933a2485e786d3 /install/ui/src/freeipa/field.js
parent2546e4fd5603cabfe500e881949345ae847f2522 (diff)
downloadfreeipa-32a7801cf448c8a5659d92834b6db9dec381af75.tar.gz
freeipa-32a7801cf448c8a5659d92834b6db9dec381af75.tar.xz
freeipa-32a7801cf448c8a5659d92834b6db9dec381af75.zip
Combobox keyboard support
Combobox can be controlled just by using keyboard. When value list is closed, user can: * use UP and DOWN error to open list, it will focus the list and select previous/next value * when CB is non-editable, user can start typing, first character will open list, second will be entered into search input. Note: I wanted to copy the first char to the search box as well, but I did not figure out reliable method for converting keycode to char for non ASCII keyboard layouts * ESCAPE, ENTER, TAB keys are handled to allow keyboard operations in a container When value list is opened: * CB tries to keep focus on either search input or a select * when focus is lost, the value list is closed. So user can click anywhere on a page to close it - two comboboxes can't be opened on the same time * hitting TAB key switches between search and select * if CB is not searchable, hitting TAB will close the value list and select input textbox * hitting ESCAPE on will close the value list * hitting ENTER on search input will invoke search operation * hitting ENTER on select will close the value list * hitting UP/DOWN arrows will select previous/next values Additional modifications: * opening arrow and search button were made non-focusable. It fixes the 'wrong focus area' bug and simplifies keyboard usage. It doesn't affect mouse usage. https://fedorahosted.org/freeipa/ticket/3324
Diffstat (limited to 'install/ui/src/freeipa/field.js')
0 files changed, 0 insertions, 0 deletions