Perspective table auto scroll down on data pop up

Do we have way to scroll down perspective table based on data update or specified frequency

not in an easy way no :confused:

i made some suggestions on this topic and he got it to work.
you basically gotta add a custom view in one of your colums and send a message to it to call a focus() in there.
virtualized columns prop has to be in the correct setting too.

1 Like

You might also be able to supply the desired row a DOM Id and navigate to that ID via URL.

This would require you to render at least one of your columns as a View. That View would need to accept some parameter (named as you desire). The view should set either the root or some child component’s meta.domId property to the incoming parameter. Your data update or timer should navigate to the current page and specify the DOM ID in use at the end of the URL:

Original URL:
<gateway_ip>:<port>/data/perspective/client/<project_name>/<path_within_project>

With targeted DOM ID:
<gateway_ip>:<port>/data/perspective/client/<project_name>/<path_within_project>#<dom_id>

2 Likes

DomId navigates (aka. “anchor links”) may not always scroll to the desired position if done a lot in succesion. (to my experience)

Also will that work on a popup?

Its worth a try though as its quite a bit easier than setting up messages

1 Like

Oh, I doubt it would work in a Popup. My approach assumed the Table was in the primary view.

1 Like

Do you have any suggestions/advice if a dynamic DOM Id isn't appearing in the table's view rendered column? 8.1.28?

Make sure your param mapping is correct; passing and receiving values/params to rendered Views is surprisingly tricky and fragile. I know it works because we have testing around it, so I would start by examining the params category of the View being instanced by the column. Make sure you have a value object at the top level, and that value object needs to have keys in place for every key you plan on using for the column.

Suppose you have data with the following structure, and you're rendering the "second" column as a View:

[
    "first": 1
    "second": {
        "id": "X",
        "name": "Cody"
    }
]

Your params category within your instanced View should look like this:

Screenshot 2023-10-18 at 10.20.41 AM

And the binding on the relevant domId should look like this:

Screenshot 2023-10-18 at 10.22.23 AM

1 Like

Keep in mind that the Table is passing these values to params based on the shape of the column within data. If your column has a simple "value" and is not an object, then that value is all that is passed, and so params.value should then be a simple value with no keys.