openstreetmap/iD — pull request #2284 by sogko (2014-07-11 01:40:15+00:00)
Title: Enhancement: Allow user to load incomplete relation members

**Description**
This enhancement is to enable user to incomplete load relation members, shown as `````` in ```iD.ui.RawMemberEditor```.
This is a simple change but enhances the user experience greatly, especially in managing relation entities.

By simply calling ```connection.loadEntity(relationId)```, we can fill in the missing related entities (ways / nodes).

![screenshot-01](https://cloud.githubusercontent.com/assets/78585/3547215/a48c8ac8-0892-11e4-90cd-112a38fc45bc.png)

**Demo**
Checkout feature branch [feature:load-incomplete-members](https://github.com/sogko/iD/tree/feature/load-incomplete-members) and edit the following relations to demonstrate typical relation member sizes:

* Singapore's East-West Line (49 relation members)
[http://localhost:8000/#background=Bing&id=r445764&map=20.00/103.90306/1.31981](http://localhost:8000/#background=Bing&id=r445764&map=20.00/103.90306/1.31981)

* Paris' RER B Train Route (352 relation members)
[http://localhost:8000/#background=Bing&id=r65074&map=19.00/2.56124/49.00988](http://localhost:8000/#background=Bing&id=r65074&map=19.00/2.56124/49.00988)

**Discussion**
* Impact on performance
* According to [OSM Wiki](http://wiki.openstreetmap.org/wiki/Relations), relations are not recommended to have more than 300 members. But of course, contributors may choose to ignore this guideline
* Letting user complete one relation member at a time
* Instead of loading all of the relation members at one time, another possibility would be to load one at a time
* But currently, there is no hint as to the full content of the incomplete member. In other words, user would only be shown `````` at first and possibly the ```role```. The user would have to load each one of them until he/she finds the member that he/she is looking for.
* Placement of button
* Currently, the enhancement has the button next to the form-label of a member, which might suggest that the action to be taken would only affect one member.
* A better placement would be somewhere else where it suggests that the action will affect all members. (Like 'Complete All Members' or something to that affect)

**Notes**
* The buttons are currently styled with an interim icon ('geocode').
* jshint OK ```jshint js/id/ui/raw_member_editor.js```