Opened 7 years ago

Last modified 7 years ago

#4311 new enhancement

Allowing multi-selection on the basis of common tags

Reported by: Richard Mann Owned by: potlatch-dev@…
Priority: minor Milestone:
Component: potlatch2 Version:
Keywords: Cc:

Description

At the moment I can click on a little drop down menu next to a relation, and "select all members". I can even try to be clever by deselecting ones that are members of another relation...

I'd like similar functionality (select/deselect) but based on a tag. So for instance I select a way that's one part of a street, and want to multi-select all the ways that form that street. I'd envisage being able to do that on a dropdown menu next to the name=whatever tag. That would query the currently loaded data and multi-select anything that matched.

That'd only be available in advanced mode, but it would be quite a powerful tool. It would get round many of the issues about how additional detail (bus routes, cycle provision, bridges, lanes etc etc) break up ways into ever-shorter sections.

Change History (4)

comment:1 Changed 7 years ago by stevage

How about this:
1) Select a way
2) Press a key or click a certain toolbox tool
3) All other ways with the same name=* tag that touch the first way (or touch a way with the same name=* tag that touches the first way...etc) are selected.

I'm guessing that name=* is by far the most likely candidate for such a grouping. Are there other likely use cases?

(I generally think it's better to handle a specific use case well, rather than having a general tool that handles a wide range of use cases - especially if most of them aren't useful. Happy to be corrected though.)

comment:2 Changed 7 years ago by stevage

...and once again, I fall victim to Trac formatting:

  1. Select a way
  2. Press a key or click a certain toolbox tool
  3. All other ways with the same name=* tag that touch the first way (or touch a way with the same name=* tag that touches the first way...etc) are selected.

comment:3 Changed 7 years ago by Richard Mann

ref= might be another (and I can envisage that others might well be useful)

Contiguity probably involves more code (and recursion, which I'd avoid unless essential), and I don't think it's necessary.

One addition, though: the ability to deselect if not equal (ie AND)

comment:4 Changed 7 years ago by stevage

By contiguity not being necessary, you mean you'd select all ways with the same name (or ref/...) even if they weren't contigous? That would get a lot of false positives...
I don't think the recursion would be particularly hard (or scary) to write - even fun, maybe.

Ok, if we need to support other tags like ref (which I agree with), then what could the interface look like? A dropdown box next to the Key field feels too intrusive (imho) for a pretty niche feature. Maybe a button on the same row as Delete and Add, "Find related"? Hold down Ctrl and click a tag?

Btw can you spell out your "AND" requirement? You want to be able to specify multiple tags, and select all ways that match all of them? Is this important? Is one tag not enough? What's the use case?

Note: See TracTickets for help on using tickets.