Commit Graph

128 Commits

Author SHA1 Message Date
John Firebaugh
ddc5e324f6 Extract iD.Difference
iD.Difference represents the difference between two graphs.
It knows how to calculate the set of entities that were
created, modified, or deleted, and also contains the logic
for recursively extending a difference to the complete set
of entities that will require a redraw, taking into account
child and parent relationships.

Additionally, all history mutators now return a difference.
2013-02-02 19:47:56 -05:00
John Firebaugh
f5036db978 Start iD.operations.Merge (#435)
It's currently limited to merging (joining) exactly two lines.

Fixes #370.
2013-02-01 17:32:33 -05:00
John Firebaugh
a8410be6eb iD.actions.Join 2013-02-01 17:31:32 -05:00
John Firebaugh
9120f33aa7 ReverseWay -> Reverse 2013-02-01 17:31:32 -05:00
John Firebaugh
c86792a77b SplitWay -> Split 2013-02-01 17:31:32 -05:00
John Firebaugh
e1d5a0cb03 Unjoin -> Disconnect 2013-02-01 17:31:32 -05:00
John Firebaugh
58fcf746a2 Delete multiple 2013-02-01 15:08:41 -05:00
John Firebaugh
7ba31f05d2 Support deleting relations 2013-02-01 14:48:11 -05:00
John Firebaugh
3da0e70c0f Shift-selection 2013-02-01 14:31:47 -05:00
John Firebaugh
a78aeeb625 Merge controller into iD 2013-02-01 12:40:15 -05:00
John Firebaugh
000ceb6467 iD.Context -> iD
All the UI setup code moved to iD.ui.
2013-02-01 12:40:15 -05:00
John Firebaugh
7e68e8e114 Add iD.Context
This is a facade interface that ties together a bunch of
different internal objects and will make it easier to write
tests for behaviors, modes, and operations.
2013-02-01 12:40:15 -05:00
Saman Bemel-Benrud
5f8e7ec8cc Merge branch 'master' of github.com:systemed/iD 2013-01-31 19:20:32 -05:00
John Firebaugh
bbccec75be Convert Hash to a behavior 2013-01-31 18:28:24 -05:00
John Firebaugh
7ea7326f92 Extract Select behavior 2013-01-31 15:56:24 -05:00
Saman Bemel-Benrud
116289ae53 minor fixes. 2013-01-31 15:54:14 -05:00
John Firebaugh
15e1bee3ec Move controller 2013-01-31 12:45:39 -05:00
John Firebaugh
3605895dfa ChangeEntityTags -> ChangeTags 2013-01-31 12:41:29 -05:00
John Firebaugh
6f7079d11c AddWay/AddNode -> AddEntity 2013-01-31 12:06:21 -05:00
John Firebaugh
1bfe1359ec AddWayNode -> AddVertex 2013-01-31 12:06:21 -05:00
John Firebaugh
208ed6a2ed Move iD.geo tests to own file 2013-01-31 08:30:46 -05:00
John Firebaugh
639f1b6977 Stub in splash screen (#567) 2013-01-30 16:44:27 -05:00
John Firebaugh
e381b6ab26 Extract AddMidpoint action 2013-01-30 15:47:33 -05:00
John Firebaugh
459dc00ce5 Change the midpoint data a bit
Store the ways which share the segment and the index of
the segment. This will be used in both DragWay and Draw
behaviors.
2013-01-30 15:47:33 -05:00
John Firebaugh
6576ec6501 Operation sprites 2013-01-30 11:56:49 -05:00
John Firebaugh
b30acae5c5 Fix tests 2013-01-29 18:49:50 -05:00
Tom MacWright
cdc221323c Fix tests with locale 2013-01-29 18:39:11 -05:00
John Firebaugh
65baf36143 Remove unused DragWay behavior 2013-01-29 13:19:04 -05:00
John Firebaugh
03de3ffba6 Move operation (fixes #536) 2013-01-29 13:18:23 -05:00
John Firebaugh
69d95a6082 Refactor operations
They're something distinct from actions. Actions are independent
of UI, operations are actions + UI (title, keybinding, modality,
etc.)
2013-01-29 12:05:52 -05:00
John Firebaugh
de7fad5803 Move remaining XML stuff to Connection 2013-01-27 21:50:08 -05:00
John Firebaugh
646c746991 Convert iD.format.GeoJSON to member functions 2013-01-27 21:50:07 -05:00
John Firebaugh
dd03544a00 Extract AddWay behavior 2013-01-24 18:04:40 -05:00
John Firebaugh
18c7267010 Extract Draw behavior
Fixed some bugs but introduced others.
2013-01-24 17:00:48 -05:00
Tom MacWright
ce78e34b34 Merge, rename to radial menu and remove pi 2013-01-24 13:11:52 -05:00
John Firebaugh
1be596c21b Fix tests 2013-01-24 11:26:57 -05:00
Ansis Brammanis
8b43094566 Fix tests 2013-01-23 16:34:23 -05:00
John Firebaugh
d6d1709e7b Trying out radial menus for operations UI (#226) 2013-01-23 15:34:04 -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
29d608970b UnjoinNode action (fixes #442) 2013-01-23 10:07:10 -05:00
John Firebaugh
ff15aa8e7b Rewrite d3.keybinding
A keybinding now represents a set of key commands that can
be unbound as a set. Multiple keybindings are possible, and,
providing a namespace is provided to the constructor, will
not conflict with each other.

Also, key combination strings such as ⌘+A are now supported.
2013-01-22 14:55:08 -05:00
John Firebaugh
2ee07a3b74 Add iD.actions.AddRelationMember 2013-01-18 14:44:29 -08:00
John Firebaugh
3eaf4a46e0 Add CSS classes for relation memberships
An entity that is a member of a relation will have the classes
`member`, `member-role-<member role>`, and `member-type-<relation type>`.

The first use of these classes is to avoid filling multipolygon
member areas.
2013-01-17 15:17:40 -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
9a76b81125 First cut on multipolygon rendering 2013-01-17 11:57:30 -08:00
John Firebaugh
e24b22b518 Extract iD.svg.LineString 2013-01-17 11:57:29 -08:00
Tom MacWright
1a81a8508a Fix mocha globals for window event listener 2013-01-17 13:21:03 -05:00
Tom MacWright
f66535f068 Fix tests 2013-01-17 13:14:46 -05:00
Tom MacWright
8def2e0999 Remove style and references to it 2013-01-16 13:07:30 -05:00
Tom MacWright
4808a8ec9d Improve test coverage of ui elements 2013-01-16 12:29:59 -05:00