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

2 participants