Bryan Housel
728036be51
Don't write unsavable changes to localStorage ( closes #2705 )
2015-06-20 12:21:29 -04:00
Bryan Housel
f4d93c442e
Add connection#loadEntityVersion to fetch specific version
2015-06-18 11:46:43 -04:00
John Firebaugh
f8a68c879f
Adjust tree for force-rebased entities
...
Previously, entities that already existed in the rtree prior to the rebase
option would end up duplicated in the tree afterward.
Fixes #2637
2015-05-09 14:38:41 -07:00
Bryan Housel
7adb0ddbfb
Smarter revert of new entities, more tests
...
re: #2611 , #537
2015-04-29 22:47:07 -04:00
Bryan Housel
ca02cf4b96
Graph#revert accept id instead of entity ref
...
trivial test cases (revert across create/update/delete) all pass
2015-04-28 11:22:46 -04:00
Bryan Housel
587d1451be
More tests for Graph#revert (reverting new things should remove them)
2015-04-27 12:02:59 -04:00
Bryan Housel
c10b83f28f
iD.actions.Revert (see #537 )
2015-04-26 01:08:31 -04:00
Bryan Housel
6b18066dd6
Graph#revert (see #537 )
2015-04-26 01:07:48 -04:00
Bryan Housel
99d037e97f
Better logic for adding area=yes ( closes #2578 )
...
This fixes a few issues:
1. before: checked first key in applyTags and break loop, now: check all of them
(this was what caused `area=yes` to be added to 'branded' presets:
the first key is for these is `name` which isn't in areaKeys.)
2. add `area=yes` if user is drawing an area but the preset can be an
area or a line (e.g. `barrier=city_wall`)
3. remove `area=yes` when switching to another preset
2015-04-22 17:04:18 -04:00
Olaf Veerman
89b354ddba
Allow overzoom to be set on overlays
...
The default behaviour is to overzoom overlays past their max
scaleExtent. When 'overzoom':false is defined in imagery.json,
the layer will disappear on the max scaleExtent.
2015-03-26 12:04:54 -07:00
Bryan Housel
55c4fce55f
Merge pull request #2516 from bhousel/zorrofix
...
Avoid zorroing connected ways when moving a way
2015-03-20 22:30:34 -04:00
Bryan Housel
c69fbf3e3d
In copy/paste, use the graph that entities originally came from
...
(fixes #2557 )
2015-03-18 10:08:36 -04:00
Bryan Housel
05ff86e5c2
Prevent no-match parent relations from breaking getMatches
...
(e.g. a site relation with a fence in it)
Also, updated the test graph to contain one of these.
see https://github.com/openstreetmap/iD/pull/2554#issuecomment-78517442
2015-03-12 13:59:48 -04:00
Bryan Housel
3308b5507b
Feature Filtering: don't match multipolygon lines as 'others'
...
(fixes #2548 )
If the entity is a way that is a member of a parent relation,
use that parent relation's matches instead of matching 'other'
2015-03-10 00:06:29 -04:00
Bryan Housel
2485d74d5b
Use interpolated D3 zooming for zoomIn/zoomOut
2015-03-09 16:34:07 -04:00
Bryan Housel
1f0087d133
Merge pull request #2525 from openstreetmap/conflict-resolution
...
Merge Conflict Resolution
2015-03-05 19:49:15 -05:00
Bryan Housel
c503b9f96c
fill remoteGraph with loadMultiple, finally do proper undeletion
2015-03-03 23:43:37 -05:00
Bryan Housel
56449bc589
Pend some failing tests
...
They should work but they don't. No idea why. PhantomJS issue?
2015-03-03 21:06:28 -05:00
Bryan Housel
cb0e8ab66c
Initial support for Multi Fetch GET
...
It will also be much faster to fetch the remote entities in batches
rather than one at a time through LoadEntity.
One bonus/hazard with Multi Fetch GET is that it will get deleted entities
with `visible=false`, rather than returning a HTTP Status Code 410 (Gone).
This will be the only way that we can really do proper undeletion
(Incrementing the current version by 1 is not guaranteed to work. And
if a way is moved, fetching way/full will tell us whether the childnodes
are part of the way, but not necessarily whether they exist or not.)
We must be careful never to merge deleted entities into the real graph.
e.g, a deleted node will not have a 'loc' attribute, so code that assumes
every node must have a `loc` will be broken.
So because deleted entities are very special, the output from `loadMultiple`
should only be used for conflict resolution for now.
2015-03-03 20:54:09 -05:00
Bryan Housel
fc94e7775f
more tests
2015-03-02 22:47:49 -05:00
Bryan Housel
e3139e250e
improvements to iD.actions.MergeRemoteChanges
...
* if remote entity is deleted, log to conflicts() array
* if remote tag was deleted, delete from tags (not set undefined)
* update tests..
2015-03-02 13:07:24 -05:00
Bryan Housel
0730e0432b
keep localGraph - UI can now flip between mine/theirs
2015-02-20 17:01:19 -05:00
Bryan Housel
ad8c381301
WIP: handle conflicting local tag deletion
...
re: https://github.com/openstreetmap/iD/pull/2489#discussion-diff-22490581
2015-02-20 12:43:47 -05:00
Bryan Housel
38b50a347e
WIP: Fix tests, simplify mergeChildNodes
2015-02-17 22:10:47 -05:00
John Firebaugh
9aab74c187
Test; simplify
2015-02-12 10:24:40 -08:00
samanpwbb
d141827c3e
Merge branch 'master' into conflict-resolution-ui
2015-02-06 19:08:50 -05:00
Bryan Housel
6d82ae4146
add iD.geo.Extent#contains
2015-02-06 13:56:51 -05:00
Bryan Housel
147e369c3b
Add graph#overwrite (same as pop followed by perform)
...
to remove some of the overhead in creating difference and dispatching
change event multiple times..
2015-02-02 22:01:49 -05:00
Bryan Housel
cac0258baf
Merge pull request #2498 from bhousel/copy-paste
...
Copy paste map features with Cmd-C, Cmd-V
2015-01-15 21:24:58 -05:00
Bryan Housel
ef2d6e75cf
Add minzoom check to map.zoom() ( closes #2499 )
2015-01-13 23:09:19 -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
3bbf31902a
Add accessor to get conflict details from iD.actions.MergeRemoteChanges
2014-12-29 22:47:44 -05:00
Bryan Housel
4b6abf7a42
Added iD.actions.CopyEntity
2014-12-28 22:01:10 -05:00
Bryan Housel
dae0d2d55e
Add entity copy methods
2014-12-28 22:00:55 -05:00
Bryan Housel
0c881ef9f2
merge ways with non-overlapping changes to nodelists
2014-12-13 22:50:29 -05:00
Bryan Housel
381142356b
add Diff3 library
2014-12-13 22:49:44 -05:00
Bryan Housel
977e29cfdb
Most iD.actions.MergeRemoteChanges features complete
...
(todo: merging ways where nodelist has not been reordered)
2014-12-11 23:52:53 -05:00
Bryan Housel
dc1221b8ba
pass graphs instead of entities to iD.actions.MergeRemoteChanges
...
(realized that I will need to compare more stuff from the
local and remote graphs in order to merge ways/relations)
2014-12-10 00:12:32 -05:00
Bryan Housel
d85da08cfe
fix "inherits entities from base prototypally" test
2014-12-10 00:11:09 -05:00
Bryan Housel
eff18cb257
add tests for iD.actions.MergeRemoteChanges
2014-12-09 00:59:25 -05:00
Bryan Housel
3e97bd7d89
stub out iD.actions.MergeRemoteChanges
2014-12-06 22:11:54 -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
dfe8fd1e90
features performance enhancements
...
1. reusue entity.geometry where possible
2. cache entity parents
2014-11-18 22:05:08 -05:00
John Firebaugh
9e9a4b3cc0
Fix tests
2014-11-11 14:32:50 -08:00
Bryan Housel
b20f1495de
restore toggle function and add test
2014-10-29 15:06:43 -04:00
Bryan Housel
a2703f10c8
fix tests affected by change in equality testing re #2388
2014-10-28 21:49:31 -04:00
Bryan Housel
927c533bb4
add feature tests for auto-hiding
2014-10-28 21:37:04 -04:00