palantir / blueprint

A React-based UI toolkit for the web
https://blueprintjs.com/
Apache License 2.0
20.73k stars 2.18k forks source link

Improve selected area visuals when resizing a column or a row #843

Open llorca opened 7 years ago

llorca commented 7 years ago

What it looks like now: image

Do we want to show the selection rectangle too?

tgreenwatts commented 7 years ago

I actually don't mind this selection behavior personally

llorca commented 7 years ago

Yeah, the interaction seems fine but I wonder what @pkwi thinks for the visuals -- it's pretty muddy at the moment.

Also note that Excel does the opposite: on column resize, they strip column header styles and keep the selection rectangle around

pkwi commented 7 years ago

To start with - do we need that extra blue divider between selected columns?

screen shot 2017-03-16 at 11 57 24 am

We could remove it and keep the blue stroke only around the whole selection like:

screen shot 2017-03-16 at 11 57 33 am

Also, the blue line used for resizing feels very heavy and chunky, could we not use a dashed or dotted, thinner line?

I think interaction is fine, however it would be great to see the blue selection while I resize the column - as @llorca said: similar to what Excel does.

gscshoyru commented 7 years ago

@pkwi the "extra" blue line you're talking about should only show up if you select the columns as separate selection regions. If you select multiple columns at once, by dragging, then there won't be that extra line.

I think we want to keep the extra line to show them as separate regions -- I know excel doesn't do that, but google spreadsheets does, and I prefer showing something to users as opposed to not, here.

pkwi commented 7 years ago

gotcha! I see that the same goes for cells. That makes sense.

Sidenote: another interaction I noticed is missing it's the ability to select a range of cells by clicking on the first cell and shift + click on the last cell.

gscshoyru commented 7 years ago

Yeah, that one is tracked here: https://github.com/palantir/blueprint/issues/823

llorca commented 7 years ago

@pkwi thanks for the comments! We're tracking those things. Back to the original topic, how can we improve this muddy blue-ish, gray-ish column header when resizing occurring?

pkwi commented 7 years ago

The muddy blue comes from the mixture of semi-transparent blue and grey background. I'm not sure you can do much here to visually improve it, without changing the actual colour (replace transparency with a solid colour). Or you can drop the selection / hover state while resizing columns.

llorca commented 7 years ago

Got it... So to summarize, either we drop all the selection visuals on column/row resize, or either we keep them all. No in-between like currently

pkwi commented 7 years ago

@llorca yep. Not sure which one is better visually tbh. Would probably have to try it out. I guess keeping all selection makes more sense as you won't confuse users who might think they've lost their selections.

llorca commented 7 years ago

Good point. Let's see if it's possible to try out both in order to get a better idea of the interaction here

tgreenwatts commented 7 years ago

What's the action remaining here?

cmslewis commented 7 years ago

// Reanimating this thread

@tgreenwatts @llorca @pkwi One minimal remaining action here is to fix the header-cell hover states while resizing is in progress. Notice all the flickering on mouseenter/mouseleave

2017-10-11 11 03 55