Commit Graph

13 Commits

Author SHA1 Message Date
Bryan Housel 5f2d80c7a6 pacify eslint 2019-01-08 10:58:47 -05:00
Bryan Housel 4f0a608439 Merge pull request #5637 from openstreetmap/5618
fix autocomplete combobox bug
2018-12-26 15:15:29 -05:00
Max Grossman e3407d4168 do not use mouseover, use mousedown!
ref #5596
2018-12-20 09:05:23 -05:00
Max Grossman 2dab19e9ae default to value() if neither d and choice are null in the accept function
ref #5618
2018-12-20 08:52:16 -05:00
Max Grossman 5a1dfeec72 open combobox if anywhere on box clicked...
ref #5596
2018-12-20 08:47:37 -05:00
Bryan Housel e08bfb2add Simplify accept/cancel event dispatchers, store datum in _choice 2018-12-12 15:26:18 -05:00
Bryan Housel fc1f7e4d46 Trigger a change event when accepting combo option with return, tab
(closes #4900, closes #5449)

Some browsers need an explicit `change` event triggered on the input field
when a value has been changed by the combo and accepted by pressing return
or tab.  This was only an issue on combos that aren't part of uiFields,
since the uiFields are all setup to respond to `change`,`input`,`blur` etc.
2018-12-11 23:25:47 -05:00
Bryan Housel 39b3f1df68 Avoid creating comboboxes
(closes #5568)

Several strategies in here:
- Move uiCombobox() from inside the render function to class variable
- Don't render stuff like the raw tag editor when it's collapsed
- Don't show as many fields/combos on hover
- Don't instantiate fields (like universal/more) until they're actually shown
- Bind the combo on enter selection not on update selection
2018-12-11 16:07:00 -05:00
Bryan Housel 6732ca6eda Comboboxes no longer show on focus.. update tests 2018-12-11 01:19:51 -05:00
Bryan Housel ff646fa2c8 Dispatch a 'cancel' event if the user hits escape 2018-12-11 00:09:55 -05:00
Bryan Housel 6cf1d63b48 Make sure dropdown doesn't remain visible
(closes #5575)

Also improves keyboard navigation, and adds some scrollintoview
workarounds to make sure that the selected option is visible
while also not causing the whole page to move.
2018-12-10 23:54:06 -05:00
Bryan Housel 15a54cab17 Use context.container instead of passing it in 2018-12-10 14:14:27 -05:00
Bryan Housel e5dedeff8b Move lib/d3.combobox.js -> ui/combobox.js
As with other things from this lib/ folder, little original code remains
and turning these things into reusable d3 plugins is not a priority.
2018-12-10 12:38:21 -05:00