Git Product home page Git Product logo

Comments (4)

thadguidry avatar thadguidry commented on June 18, 2024

So there would be a range. And the start of the range is indicated how?
If I have a set of 5 and I have some checked as below, is there no user interaction needed to indicate the start of the range?

[X] 1
[ ] 2
[X] 3
[ ] 4
[ ] 5

Given the above state of a Facet, what happens if I just SHIFT+LMB click on 5?
Would only 4 also be checked automatically to include in the range?

I do understand you want a user interaction with the SHIFT+LMB click to choose the end of the range.

from openrefine.

jquartel avatar jquartel commented on June 18, 2024

The start of the range is given by an already-selected object, so yes it needs further clarification when there are more than one. I've just looked to see what Mac's file browser does and it's actually a bit complicated since it depends on the most recently selected object. That would probably be a step too far for OR, so I think the following simple logic would suffice for a shift+LMB click on a facet object:

case, there are no selected objects : select the clicked object as as though it were a normal click
case, the clicked object is already selected : do nothing
case, there is one selected object : select all objects listed between and including that object and the clicked object
case, there are multiple selected objects AND all selected objects are before the clicked object : select all objects after the highest selected one, up to and including the clicked object
case, there are multiple selected objects AND all selected objects are after the clicked object : select all objects before the lowest selected one, down to and including the clicked object
case, there are multiple selected objects AND the clicked object falls between selected objects : just select the clicked object as though it were a normal click on 'include'

So in your example, only [4] would be added.

We could also contemplate use Ctrl-click (or Cmd-click on mac) as an alternative to clicking on 'include/exclude' (to be more like other listing tools like file browsers).

from openrefine.

tfmorris avatar tfmorris commented on June 18, 2024

It seems to me that anything which doesn't match the behavior of the host UI is going to be confusing to the user. We should just use the standard system UI conventions (and implementation, if possible).

from openrefine.

jquartel avatar jquartel commented on June 18, 2024

Agreed. I just don't know if the code currently supports remembering which is the most recently selected object, so I proposed what I think would still be logical behaviour without requiring this (and still satisfying the requirements for the original case descriptions) . To be honest, I don't find the behaviour of my file browser lists (in the case where there are multiple items already selected) particularly intuitive - I certainly would find it hard to describe.

from openrefine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.