Skip to content

isStuckToBottom behaviour when filtering #1477

@dsmmcken

Description

@dsmmcken

Description

Given a table and a scroll position at the top of the table, filtering to a result of less than a full viewport, then clearing the filter sets the table to isStuckToBottom (and further, only applies after a re-render). As a user this can be confusing and frustrating that you end up at the bottom of a table after the filter clears.

Although, this may be the desired behaviour if the user was already at the bottom. Open to heuristic suggestions for this behaviour. Maybe isStuckToBottom isn't triggered until on short viewports until it a tick actually goes past the end of the screen.

In comparison, if you are at the top, filter by a result that has a full viewport worth of results (example filter MyBoolean = true from below), then clear that filter you remain at the top. So behaviour is inconsistent.

Steps to reproduce

  1. Create a simple table
from deephaven import empty_table

simple_static = empty_table(1000).update([
        "MyString=new String(`a`+(char) ((i%3)+97))",
        "MyInt=new Integer(i)",
        "MyLong=new Long(i % 3)",
        "MyDouble=new Double(i+i/10)",
        "MyFloat=new Float(i+i/10)",
        "MyBoolean=new Boolean(i%2==0)",
        "MyChar= new Character((char) ((i%26)+97))",
        "MyShort=new Short(Integer.toString(i%32767))",
        "MyByte= new java.lang.Byte(Integer.toString(i%127))"])
  1. From a scroll position at the top of the table, filter the table to 1 result (filter by MyInt = 0)
  2. Clear the filter with a shortcut (ctrl/cmd+e)
  3. Move the mouse anywhere over the table to trigger a re-render

Expected results

I feel like I would expect the table to be back at the top.

Actual results

The table is stuck to the bottom. (It doesn't move until after step 4, which is even weirder).

Versions

Engine Version: 0.27.0
Web UI Version: 0.46.0
Java Version: 17.0.7
Barrage Version: 0.6.0

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions