Issues without a `subtitle` value would silently error when trying to
access the `auto` key of a null value which meant the elements weren't
showing up in the UI straight away.
Consolidate localization behavior and init to a coreLocalizer function and singleton
Explicitly support `en-US` locale
Rename coreData to coreFileFetcher and export a singleton rather than using a property of coreContext
Add `apiConnections` property of coreContext to simplify adding a source switcher
Replace some init functions with re-callable, promise-supporting `ensureLoaded` functions
Make coreContext itself load the UI if a container has been specified at init time
Fix code tests
- ES6ify (now using class syntax to define QAItem objects)
- Fix bug with KeepRight marker rendering not updating properly
- Use `qa-` prefix for the UI element classes to differentiate from iD
validation error related UI element classes
- Move away from "error" where possible in source
- Move away from snake_case naming where possible
Note that some function/method names have been untouched to make life
easier for v3 development. Have added note comments where appropriate.
- Remove translation description strings, will be using supplied
translations once the API is updated
- Change the way elements and details are presented since they can't be
easily integrated into the 3rd party description strings
This is just step one in the process while we wait for the API to supply
further strings and filtering to reduce the amount of string data
requested (since we don't need it all).
Strings are requested when the layer is first enabled and cached for the
current language (plus English as a backup).
Also marked the `closed:` tags as readonly since these are filled in
automatically.
- Gives a count of each error type closed instead of making a list of
joined coordinates which quickly fills the maximum value length.
- This is more useful since a changeset already gives the area worked
on while these counts give insight into the type of changes made.
- Similar to iD own validation tags
- Unconnected level crossings
- Unconnected highway features/barries
- Unexpected punctuation/symbols in tag values
- Unbalanced parentheses/quotes in name values
- Invalid date formats
- Access tagging that permits all transport modes
- Elements with a "name" tag and no main tagging
- Relations missing a "type" value