- Many text expects are now wrapped in setTimeout, as the fetch
promises settle async now.
- This makes the tests somewhat brittle, and we should maybe consider
reworking some of them. For example it is very hard to perform
a test like `expect(spy).to.have.not.been.called` in an async way.
(We could instead inspect the fakeServer requests() to know this.)
- Also includes some trickery for osm.js, which uses d3-xml (fetch)
now for unauthenticated calls and osmauth (xhr) for authenticated calls
(closes#5769)
This change allows pointer events to flow to the caret, and forwards
them back to the combo input. Also renames several event handlers
for clarity, and increases the double-click detection threshold.
(closes#5722, re: #5637, re: #5618)
dispatched with a value() string instead of a datum, which
causes issues for code expecting a datum always.
(such as localized.js brand picker or "Add Field" combo)
Fix for this coming in next commit.
Previously it was up to the caller to draw whatever they want into the
footer flash. With this change, uiFlash creates an icon and a text, so
the caller doesn't need to do as much work.
1. All services are disabled in testing now to prevent network accesses
2. Only services are enabled when needed to test something
3. Many changes throughout code to allow iD to run with services disabled
(e.g. check for osm service instead of assuming context.connection() will work)
4. Actually export the services so we can disable and enable them
(closes#3455)
Also fixed a minor bug in `iD.uiCmd` that was causing keyboard shortcuts
like '⌘⌫' to convert to 'Ctrl+Backspace+' (note extra trailing '+')
It affected only the tooltip display, not the key event binding.
* convert iD.Detect() iife to a module
* iD.Detect() should return loaded locale (except for 'en')
(The previous code was a hack to replace the detected locale with the loaded
locale. Now that Detect is a module, we can not replace the detected locale
from external code, but we can have Detect() return the locale we really want)