Comments (4)
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.
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.
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.
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)
- New column is not shown in Wikibase schema unless application is reloaded
- Impossible to load a project again after manually matching reconciled cells with errors
- Rewrite the GREL parser with a parser generator HOT 6
- Remove the Denormalize operation from the backend
- Improve test coverage of our CalendarParser Java class HOT 6
- Enable source data display for JSON parser
- Generate deterministic project IDs correlated with creation date HOT 6
- Bundled extensions should declare slf4j and Jackson as "provided" HOT 5
- MacOS builds are not published as snapshot releases anymore HOT 1
- Drop keying methods which are not exposed to users
- Move the "phonetic" extension to a separate repository or merge it with the "main" module HOT 2
- Improve Coveralls reporting
- loosing rows in a project HOT 5
- Weird layout for Wikitext importer HOT 2
- Duplicate jars in packaged versions
- Data parsing bug when the first column has nulls HOT 7
- Problem with previewing images + UX suggestion
- Concatenate strings with null values doesn't work as expected HOT 2
- Node 16 EOL
- CSV/TSV separators not guessed correctly for files with Byte Order Marks HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openrefine.