Commit Graph

90 Commits

Author SHA1 Message Date
samanpwbb d141827c3e Merge branch 'master' into conflict-resolution-ui 2015-02-06 19:08:50 -05:00
Bryan Housel ed4929273d Return entities from iD.Connection via callbacks
(instead of dispatching `load` event to merge them into `history`)

This is cleaner becuase now `context` doesn't need to keep an
`altGraph` state used only for Conflict Resolution.

The conflict resolution code calls the `iD.Connection` methods directly,
and other places in the code call `loadEntity` and `loadTiles` wrappers
that merge the entities into the main history.
2015-01-08 14:44:58 -05:00
Bryan Housel d9f204cf45 Remove Graph#freeze 2015-01-07 11:52:17 -05:00
Bryan Housel 90147b23db Make copy handle circular and other degenerate Relations 2015-01-04 23:15:47 -05:00
Bryan Housel f6d144c151 Improvements, and simplify code
* don't worry about deep copying, because immutability
* don't need `attrs` parameter which is usually empty
* don't worry about resetting `v` entity version
2015-01-01 22:49:44 -05:00
Bryan Housel dae0d2d55e Add entity copy methods 2014-12-28 22:00:55 -05:00
Bryan Housel d85da08cfe fix "inherits entities from base prototypally" test 2014-12-10 00:11:09 -05:00
Bryan Housel 1c3d198b96 add force option for rebase to overwrite existing entities
related: openstreetmap/iD#2467
2014-12-04 19:50:32 -05:00
Bryan Housel 1f544e883b bump chai to 1.9.2 and fix tests affected by change in equality testing
re #2388
2014-10-28 21:37:04 -04:00
John Firebaugh e0020c37e2 Add test for #2421 2014-10-24 10:34:39 -07:00
John Firebaugh a7fb35663c Optimize Way#area 2014-10-13 16:46:32 -07:00
Bryan Housel 0c5f563a26 add test for iD.Entity.layer(), fix spelling of man_made. 2014-06-09 23:39:16 -04:00
John Firebaugh 0c09871c4a Don’t show turn restriction editor for non-highways (fixes #2240) 2014-05-27 14:35:57 -07:00
Bryan Housel b8501bcf89 iD.Way.isOneWay should return false if oneway=no #2220
i.e. overrides implied oneway tag like `highway=motorway` or `junction=roundabout`
2014-05-20 00:14:23 -04:00
Bryan Housel d245121b19 Fix isConvex() to correctly test the angle that closes the way. 2014-04-23 14:12:20 -04:00
Bryan Housel a2331f8c93 Add tests for iD.geo.cross and iD.way.isConvex 2014-04-15 00:26:53 -04:00
John Firebaugh 2ab9239a9f More accurate modification tests 2014-02-25 10:12:34 -08:00
tyr efd3223e0c extend history loading fix to deletions
Deleted objects need to be kept in the base of the history stack, too.

This also improves the respective unit tests.
2014-02-22 14:09:17 +01:00
tyr 86c4bc9105 add tests for "restoring from v3 JSON" (core/history.js) 2014-02-21 10:19:36 +01:00
tyr fc0a15e6c4 fix duplicate objects after restoring data from localStorage
This makes sure that the originals of changed entities get merged
into the base of the stack after restoring the data from JSON.
This is necessary, because the stack will only have elements for
the current viewport after a restart and previously *modified*
objects will now be falsely detected as *created* ones.

Also removed some ineffective code.
2014-02-21 10:01:26 +01:00
tyr b71c98cfca protect against relation loops, part 2. fixes #2096 2014-01-10 11:12:10 +01:00
John Firebaugh 1561c366be Update OSM.org links 2014-01-08 16:29:00 -08:00
John Firebaugh ab8a4ffd7b Update GitHub links 2014-01-08 16:14:28 -08:00
John Firebaugh 4bf21cbc8a Restore deleted nodes that are discovered to have extant parents
This bug has existed since 1.0!

Fixes #2085
2014-01-06 16:23:15 -08:00
John Firebaugh 7bbca76a20 Protect against relation loops (fixes #2072) 2014-01-02 17:42:57 -08:00
Adam Solove 2213b072dd Clean up and test relation sorting code. 2013-12-10 22:39:37 -05:00
John Firebaugh 15590525d3 Fix build 2013-11-21 14:51:52 -08:00
tyr 2cf4c20a47 don't load parent multiple times into tree when multiple childs are changed
when an action (e.g. moving a way) caused multiple child elements
of the same parent to be changed, their parent was also loaded into
the tree multiple times during `tree.intersects()`.

this fixes #1978
2013-11-19 11:27:29 +01:00
John Firebaugh b383bfec1f Fix unclosed area rendering (fixes #1958) 2013-11-13 17:41:57 -08:00
John Firebaugh 492fc88aa4 Make the Graph#rebase argument an array 2013-10-31 16:24:31 -07:00
John Firebaugh 14bfc52e33 Remove repetition of entity IDs in tests
There were several places where the key and entity id
didn't match up.
2013-10-31 15:57:47 -07:00
John Firebaugh ffdeef398d Rewrite tree logic
The main problem with the existing logic was that it
did not update the extents of relations when previously incomplete members were loaded.

It was also overly stateful; the various queues and flags
are no longer required.

Fixes #1928.
Fixes #1540.
2013-10-28 16:57:18 -07:00
John Firebaugh 95e667d6b7 More tests 2013-10-28 16:34:08 -07:00
John Firebaugh e0e08115e5 Pass entity array to Tree#rebase 2013-10-28 16:34:08 -07:00
John Firebaugh e6d3cb242c Clean up tests 2013-10-28 14:07:28 -07:00
John Firebaugh fbf2118c76 Fix change summary calculation after restoring
We can't rely on identity equality here due to how
restoring works, and don't want to anyway -- the summary
should ignore net-no-op tag changes.

Fixes #1915.
2013-10-23 17:35:35 -07:00
John Firebaugh 2de500a90a Add a few more vertex cases to summary 2013-10-23 13:36:58 -07:00
John Firebaugh 697faf0265 Use summary to calculate # in Save button 2013-10-23 13:36:58 -07:00
John Firebaugh b8e88a7aaf Convert relevantChanges to a method on Difference 2013-10-23 13:36:58 -07:00
John Firebaugh 26e38d7f8f Return geometries rather than features in asGeoJSON
No code needs the tags, and it eliminates one level
of function calls in the d3 stream pipeline.
2013-10-16 09:40:01 -04:00
John Firebaugh 81bc280aba More reliable method for mutexed localStorage saves
Fixes #1883
2013-10-10 14:59:48 -07:00
John Firebaugh a32ce33238 Add Way#affix 2013-08-30 13:59:29 -07:00
John Firebaugh 163c85bacb Delete relations that become empty
Fixes #465
Fixes #1454
2013-08-27 12:27:11 -07:00
John Firebaugh 7215e91ff2 Ensure asGeoJSON returns winding orders expected by D3 2013-08-26 14:39:08 -07:00
John Firebaugh a8f6c30a36 Fix test 2013-08-16 14:19:56 -07:00
John Firebaugh 2efafa087b Deduplicate entities in serialized history
Fixes #1403
2013-08-14 16:49:53 -07:00
Vladimir Agafonkin 454eecae8f replace RTree with RBush 2013-07-21 17:20:14 +03:00
John Firebaugh 3861879f62 Remove Connection#user and always use #userDetails
Because the embedded iD does not show the account
UI, Connection#userDetails was not being called, so
the commit UI didn't show the user name and image.

Fixes #1464
2013-06-14 13:06:13 -07:00
John Firebaugh 7ec1222402 Try to insert relation members at a sensible index (#1539) 2013-06-05 16:00:53 -07:00
John Firebaugh 2d7cc2a2d1 Preserve member order as much as possible 2013-06-05 16:00:12 -07:00