Commit Graph

2681 Commits

Author SHA1 Message Date
Bryan Housel
4c563f4edf Add validation options
Check:  [] My Edits  [] Everything
Where:  [] In View   [] Everywhere
2019-04-11 11:55:17 -04:00
Bryan Housel
0a77a494aa Merge branch 'master' into validation_and_change_perf 2019-04-10 14:22:20 -04:00
Bryan Housel
9100ce3ee4 Don't validate vertices which extend beyond the downloaded map
(closes #5938)
2019-04-10 13:40:06 -04:00
Bryan Housel
f309e925d8 Memoize disabled for all the other operations too
see 81127d71f
2019-04-10 11:28:41 -04:00
Bryan Housel
81127d71f3 Cache disabled() results in straighten action for consistent response
What could happen was:
- user could right click on a line
- this would trigger `disabled()` checks for each operation buttons
- the line was not fully downloaded, so would return `disabled()` 'not_downloaded'
  (and also start download of the missing tiles)
- then the tooltip would pop into existence, calling `tooltip()`
- which calls `disabled()` again
- but this time it's fine and the `disabled()` is false
- so you'd see a greyed out button but the tooltip said everyting is ok and
  you can click the button anyway

I fixed this by just caching the disabled test.  This is probably ok anyway
because these tests can be expensive, and then the user will see a consistent
message like "The line is not yet fully downloaded".

If the user clicks off the line and back onto it, iD will reenter select mode,
rebuild the menu, redo the disabled test, and they will see the button enabled.
2019-04-10 10:19:23 -04:00
Bryan Housel
e30090996b Add loadTileAtLoc to fetch data tile for a specific location
(closes #4890)

This lets iD request needed tiles outside of the viewport, for example to
properly straighten lines or validate features that may have unloaded
connections.
2019-04-09 23:49:31 -04:00
Quincy Morgan
89d8f887be Allow disconnecting multiple selected vertices at once (close #6164) 2019-04-09 14:04:52 -07:00
Quincy Morgan
ae80c88f37 Render relation route icon lines dynamically (close #5926) 2019-04-08 19:58:50 -07:00
Bryan Housel
95a1bbaf97 Add downloaded debug flag and visualization for tiles downloaded 2019-04-08 22:06:47 -04:00
Bryan Housel
df1a2ea361 Prevent some actions on features that extend beyond the loaded map
(closes #2248)
2019-04-08 21:26:58 -04:00
Bryan Housel
2660a8554b Add isDataLoaded and tilecache rtree for testing
(re: #2248, #5938, maybe others)
2019-04-08 15:59:42 -04:00
Quincy Morgan
50a0982d79 Merge pull request #6161 from jguthrie100/fix_closed_way_disconnect
Leave way as closed when disconnecting
2019-04-08 11:08:33 -07:00
Bryan Housel
207cbd30dc Pacify eslint 2019-04-08 12:33:19 -04:00
Bryan Housel
7556df7265 Make sure to return the current version of entity from tree.intersects
Since d5e427289, the tree head graph will not update if only tags have
changed - it requires an addition, deletion, or geometry change.

This makes the tree a little more efficient, but we do need to make
sure to return the current entities to the caller.
2019-04-08 12:28:02 -04:00
J Guthrie
00c7eaddc2 Fix to work with PhatomJS 2019-04-08 17:07:12 +01:00
J Guthrie
ac29803b6f Fix eslint error 2019-04-08 16:38:10 +01:00
J Guthrie
4d24db597e Small refactor to improve efficiency 2019-04-08 16:28:01 +01:00
Jamie Guthrie
d3d0a560eb Remove excess whitespace 2019-04-08 16:01:08 +01:00
J Guthrie
d7865ac4aa don't unclose way if it is part of a larger disconnect operation 2019-04-08 12:42:16 +01:00
J Guthrie
7edebb897f Only allow disconnect when selected ways relate to selected node 2019-04-08 12:41:05 +01:00
Bryan Housel
8d66289cba Run validation when switching fields, or when applying an issue fix 2019-04-07 23:10:20 -04:00
Quincy Morgan
c3653616e6 Make modals work better at small screen sizes
Flexbox the modal action buttons
Replace "col8" CSS class
2019-04-07 14:49:33 -07:00
Quincy Morgan
5e4e2ff7ee Fix an issue where stale warning counts would still appear in changeset tags if they had all been resolved (re: #6123) 2019-04-07 14:29:05 -07:00
Quincy Morgan
eafd2cec3e Add a tooltip to the plus button in the "All relations" section (re: #3812) 2019-04-07 14:05:31 -07:00
Quincy Morgan
9d029a37a8 Delete newly-created untagged relations when deselecting them (close #3812) 2019-04-07 13:39:51 -07:00
Quincy Morgan
8815b878c5 Fix issue where selected way could not be disconnected if the connection point occurred more than once in the way (close #6149) 2019-04-07 12:47:20 -07:00
Bryan Housel
e377270372 WIP: introduce validatedGraph, try on mode change not history change 2019-04-06 13:39:19 -04:00
Bryan Housel
1bcc0f613c WIP: fix caches, replace id() function with plain id property 2019-04-05 17:41:04 -04:00
Quincy Morgan
d1399fd99b Merge pull request #6146 from jguthrie100/make_list_of_invalid_sources
Allow for multiple invalid sources
2019-04-05 13:40:13 -07:00
J Guthrie
6e6ed7fad5 eslint fixes 2019-04-05 19:01:12 +01:00
J Guthrie
1328054b08 Allow for multiple invalid sources 2019-04-05 18:49:14 +01:00
Bryan Housel
78acd999c8 WIP: switch from validating everything to validating differences 2019-04-05 13:29:57 -04:00
Quincy Morgan
17f2c5c0f4 Add Zip Line preset 2019-04-05 09:40:35 -07:00
Bryan Housel
af45dbce10 Trying to avoid one-off validations when history changes will trigger it 2019-04-05 11:37:02 -04:00
Bryan Housel
f17ebee402 Use Set, simplify util functions to collect entities with children 2019-04-05 11:05:04 -04:00
Bryan Housel
6508edf820 Avoid anonymous functions as validators
Givnig them names makes it easier to understand in the profiler
2019-04-05 09:50:22 -04:00
Bryan Housel
8b1c0551cc WIP: understand state held by the validator, avoid translations
- Make sure all state variables prefixed with `_`
- Add explicit `init`/`reset` methods
  (graph/entity refs should never persist through a save to OSM)
- Thinking of how best cache validation results
2019-04-05 09:28:36 -04:00
Quincy Morgan
550a4df435 Prevent stale results when first searching presets 2019-04-04 18:24:05 -07:00
Quincy Morgan
a054db6472 Fix issue where hover-highlighting wouldn't disappear upon removing a relation from a member or a member from a relation (close #5612) 2019-04-04 17:56:01 -07:00
Quincy Morgan
35c7cbd92b Ensure that undo/redo buttons look disabled when the map is not editable (close #6105) 2019-04-04 17:34:20 -07:00
Quincy Morgan
65e04acb2f Flag features that mention Google in the "source" tag (close #6135) 2019-04-04 08:32:03 -07:00
Bryan Housel
d5e427289f Avoid delete/reinsert on the coreTree when not needed
(re: #6140)
2019-04-04 10:02:15 -04:00
Bryan Housel
68ed6da159 Merge branch 'master' into validation_and_change_perf 2019-04-04 09:30:30 -04:00
Bryan Housel
87e3b928d0 Reduce drawing during history changes
(closes #6086)
2019-04-03 23:26:26 -04:00
Quincy Morgan
e71b139171 Simplify almost junction validation 2019-04-03 16:41:26 -07:00
Quincy Morgan
6641f62685 Reduce duplicate code in almost junction validation 2019-04-03 15:44:45 -07:00
Bryan Housel
86de378de5 Add didChange object to track what kind of things changed in the diff 2019-04-03 17:43:04 -04:00
Bryan Housel
765d765477 Pick a fake loc value where equality tests actually work 2019-04-03 17:25:10 -04:00
Quincy Morgan
cbae090f08 Fix crash in almost junction validation 2019-04-03 14:23:21 -07:00
Bryan Housel
167824a530 Make sure all nodes have an actual loc property
- This is to make difference comparisons easier
- The only nodes that didn't have a `loc` were fake nodes we made for testing
- So this commit also fixes the `osmIntersection` code and tests.
2019-04-03 16:20:45 -04:00