Commit Graph

45 Commits

Author SHA1 Message Date
John Firebaugh
1be596c21b Fix tests 2013-01-24 11:26:57 -05:00
John Firebaugh
278bb4a51c Fix some cases where a degenerate way was created 2013-01-23 12:40:27 -05:00
John Firebaugh
292c916cb1 Converting some actions to entity methods
The guidelines here are:

Entity methods:
  return a modified entity
  don't necessarily maintain whole-graph consistency

Actions:
  return a modified graph
  always maintain whole-graph consistency
  call entity methods liberally
  generally don't call other actions
2013-01-23 12:40:27 -05:00
John Firebaugh
381794e7a1 Fix Relation#multipolygon for unmatched inner rings (fixes #461) 2013-01-22 17:54:57 -05:00
John Firebaugh
814c3608db Hook into undos in a different way
This way doesn't depend on details of keybindings and
the undo button.

Also, implement this in DrawArea mode.
2013-01-22 14:55:08 -05:00
Brandon Liu
ded802049a add history.numChanges method.
Use hasChanges/numChanges to toggle Save button and show confirmation dialog when navigating away from page.
2013-01-19 23:16:48 -08:00
Brandon Liu
d83ec7f1eb Create method history.hasChanges 2013-01-19 23:01:47 -08:00
John Firebaugh
95800741fd Add some utility methods to Way 2013-01-18 14:44:29 -08:00
John Firebaugh
020c56b3a2 Move Entity#intersects test 2013-01-18 14:44:28 -08:00
John Firebaugh
b27903f7b5 Add Relation#isRestriction 2013-01-18 14:44:28 -08:00
John Firebaugh
3349e1f69c Add some utility methods to Relation 2013-01-18 14:44:28 -08:00
John Firebaugh
bf251dce15 Handle incomplete relations 2013-01-17 17:37:50 -08:00
John Firebaugh
9abe3af312 Fix extent and difference rendering for multi polygons 2013-01-17 14:27:01 -08:00
John Firebaugh
5a2444b551 Extract and fix extent/intersection calculations
Extents are now [[min x, min y], [max x, max y]].
2013-01-17 14:27:01 -08:00
John Firebaugh
1d707b0eb2 Match inners with outers
After thinking about how the `evenodd` fill rule works, I pretty sure
we don't actually need to do this. If I'm right, I'll back it out, and
it will be in the history if we need it for some other purpose.
2013-01-13 18:17:16 -08:00
John Firebaugh
67c8e287cf Start on multipolygon reconstruction algorithm 2013-01-13 17:20:04 -08:00
Tom MacWright
eedc0fce9d Fast parent calculation. 2013-01-09 14:52:39 -05:00
John Firebaugh
62efa1948e Add Entity#geometry, use in inspector
Fixes the icon for areas, but breaks it for vertices.
Needs a big-vertex sprite.
2013-01-02 21:59:55 -08:00
John Firebaugh
2a6145ef10 Move friendlyName to Entity 2013-01-02 21:43:35 -08:00
Tom MacWright
3544bb9d3c Add osmId to entity tests 2013-01-02 13:30:14 -05:00
John Firebaugh
d181df4c51 Polymorphism 2012-12-28 22:24:52 -08:00
John Firebaugh
31502c6214 Simplify; test; fix 2012-12-28 22:13:36 -08:00
John Firebaugh
5fe22be7a0 Introduce real Entity subclasses 2012-12-28 18:42:21 -08:00
John Firebaugh
c66ea58d56 Move transients to graph (fixes #285) 2012-12-27 18:52:56 -08:00
Tom MacWright
adb8ab53ce Update relation tests 2012-12-07 16:01:14 -05:00
John Firebaugh
c5c65ccdfd Include difference in history change events 2012-12-07 12:35:57 -05:00
John Firebaugh
ea4b93d88b Graph#difference 2012-12-07 12:35:57 -05:00
John Firebaugh
255e3aaabd Modify Graph so it can track deleted ids 2012-12-07 12:32:24 -05:00
John Firebaugh
3e45afbc5e Move history annotation to History#perform/replace
Actions are too low-level for annotations.
2012-12-07 10:35:39 -05:00
John Firebaugh
7eec007740 Get internal ID logic in one place 2012-12-07 10:32:51 -05:00
John Firebaugh
67ffd2e71b Revert "Copy entity in Graph#fetch"
This reverts commit 12d02e0a6b.
2012-12-06 19:16:54 -05:00
John Firebaugh
27af384a3f Allow History#{perform,replace} to run multiple actions 2012-12-06 18:36:03 -05:00
John Firebaugh
0e2889d5d6 Add freezing specs 2012-12-06 14:20:02 -05:00
John Firebaugh
6b08193125 Introduce Entity transients; fix #187 2012-12-06 14:11:45 -05:00
John Firebaugh
077e5cc9ce Rename various actions 2012-12-05 16:42:48 -05:00
John Firebaugh
5666cb774e Finish iD.actions.DeleteWay (fixes #72) 2012-12-05 16:35:13 -05:00
John Firebaugh
d26c8638b3 Allow Graph to be constructed with an array of entities
Useful for tests.
2012-12-05 16:14:39 -05:00
John Firebaugh
fa1b536ce7 Default relation members to empty array 2012-12-05 16:14:39 -05:00
John Firebaugh
4a3169bb1d Test/refine iD.actions.remove 2012-12-05 16:14:39 -05:00
John Firebaugh
551a2df24e Replace Entity.{lat,lon} with Entity.loc
Fixes #189
2012-12-05 09:48:00 -05:00
John Firebaugh
12d02e0a6b Copy entity in Graph#fetch
This shouldn't be necessary, but someone is modifying them
in place and it's causing problems elsewhere.
2012-12-04 17:27:02 -05:00
John Firebaugh
60e7698f1a Don't mutate entity in place 2012-12-04 14:00:29 -05:00
John Firebaugh
103678b36d Refine Entity and specs 2012-12-04 14:00:29 -05:00
Tom MacWright
a0d28c1e2d Expand tests, move way logic into entity.js and test it. 2012-12-04 13:06:21 -05:00
John Firebaugh
b4707c3a1f Mirror main directory structure in specs 2012-12-04 09:50:07 -05:00