Skip to content

Add Select all members button for relations (fixes #9982)#11873

Open
FaisalMisbah23 wants to merge 1 commit intoopenstreetmap:developfrom
FaisalMisbah23:fix/select-all-members-9982
Open

Add Select all members button for relations (fixes #9982)#11873
FaisalMisbah23 wants to merge 1 commit intoopenstreetmap:developfrom
FaisalMisbah23:fix/select-all-members-9982

Conversation

@FaisalMisbah23
Copy link

Adds a button in the Members section when a relation is selected. Clicking it loads any unloaded members, then switches to multiselection of all members so users can apply tags (e.g. toll) to each.

  • Button in Members section switches to multiselection of all relation members
  • Loads unloaded members first, then selects only loaded IDs
  • Empty state message when relation has no members
  • Promise error handling so loading state is always cleared

Copy link
Member

@tyrasd tyrasd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a start, but I think this needs to be refined a bit to be actually useful:

I think the styling would need to be improved, as it currently does not look like any of the other buttons in the UI

Maybe instead of a button, it could be a clickable text with an icon (similar to the one proposed in #11701). That said, I'm asking myself if there is even the need to do have an always visible button for this at all. There are only few examples I can think of when selecting all members of a relation is useful while mapping. So maybe instead of a button that is always visible, it could be put away in a small "hamburger menu" that is displayed alongside the Members section of a relation, which would contain this button at first (and the Download all members button from #11701 next). Later we could add more specialized options to this menu like selecting all members with a certain role1, etc.

Lastly, I think it could be worth considering to include this functionality also in the existing keyboard shortcut Ctrl + : When a relation is selected, pressing the keyboard shortcut would select all members, similarly to how it selects all nodes of a way when a way was selected.

PS: Please consider to use modern js with const/let instead of var for newly added or refactored code. 😊

Footnotes

  1. which might actually be much more useful for mapping, e.g. to add the operator tag to all stops of a bus relation, to quickly zoom to the inner ways of a multipolygon, to fix a typo in the _street_s of an associated_street relation, etc.

FaisalMisbah23 added a commit to FaisalMisbah23/iD that referenced this pull request Feb 20, 2026
- Members section: clickable link with icon to load and select all members
- Single loadEntity(relation.id) with callback (no Promise/per-member loads)
- Ctrl+↓ when relation selected selects all members (like way → nodes)
- Use const/let in new code; linkEl naming in handler
- CHANGELOG entry and refs for openstreetmap#11873, openstreetmap#9982
@FaisalMisbah23 FaisalMisbah23 force-pushed the fix/select-all-members-9982 branch from 8403ed1 to 1fc4ccd Compare February 20, 2026 02:12
- Members section: clickable link with icon to load and select all members
- Single loadEntity(relation.id) with callback (no Promise/per-member loads)
- Ctrl+↓ when relation selected selects all members (like way → nodes)
- Use const/let in new code; linkEl naming in handler
- CHANGELOG entry and refs for openstreetmap#11873, openstreetmap#9982
@FaisalMisbah23 FaisalMisbah23 force-pushed the fix/select-all-members-9982 branch from 1fc4ccd to 5b96d65 Compare February 20, 2026 02:19
@FaisalMisbah23
Copy link
Author

All review comments have been addressed in the latest push. Ready for another look.

FaisalMisbah23 added a commit to FaisalMisbah23/iD that referenced this pull request Feb 20, 2026
…deps

- Raw member editor: select-all link and auto-scroll when dragging near edges (fixes openstreetmap#11897)
- CHANGELOG entries for openstreetmap#11873/openstreetmap#9982 and openstreetmap#11897
- CONTRIBUTING, README, package.json, wikidata field updates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Function to switch to the multiselection of all members of a selected relation

2 participants