- Dragging the sidebar below a minimum size collapses it
- A button in the top toolbar lets you uncollapse the sidebar, complete with icon and tooltip
- Double-clicking the divider toggles the sidebar collapse
- Collapse-toggling is animated
- Selecting a feature or ending an add-feature mode auto-opens the sidebar
- Photoviewer UI has been moved from init.js to photoviewer.js
- The photoviewer now has a slight margin to set it away from the sidebar
- The undo/redo, save, and progress indicator controls are now floated to the right
- The save count has been redesigned to visually integrate with the save button
- When the sidebar is collapsed, the mode buttons are centered
- Full right-to-left layout support for all of the above
-Adds ability to resize OpenStreetCam and Bing Streetside layers
-Also slightly increases the width of the resize handles
-Also limits max resize so it won't go larger than the map
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
(see #3777)
* When entering Save mode, map content transitions inactive: appears grayscale
and dims slightly so colorblind users perceive a change. The sidebar controls
still let the user review their edits, or return to editing to address any
warnings.
* Adjusted the language a little bit "Save" -> "Upload" to make it clear that
an Upload needs to happen. No more 2 Save buttons.
* if 509 Bandwidth Exceeded / 429 Too Many Requests, prompt for login
(closes#2262)
* if 400 Bad Request / 401 Unauthorized / 403 Forbidden - logout and retry
(closes#3546)
* 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)