How to perform an action on a page of rows loaded via AJAX - tabulator

I'm trying to act on a page of rows after they are loaded into the table via AJAX from a remote source. In this case, the goal is to select rows based on some application logic.
The comment here suggests that the dataLoaded event should be used for this:
When the dataLoaded callback is triggered after data is loaded. You could then use the
getRows function on the table to get an array of all the rows, iterate over them, check
if they should be selected then call the select function on the row component.
However, the rows appear to be unavailable in this event. This has been confirmed as by-design:
This is correct behaviour, as the documentation states this is called before the data is
processed into row components, so there aren't the row components to return
I have also tried the pageLoaded event, however, the rows are not available in this event either.
What event or callback can I use to iterate through the rows of a page in the table after they are loaded/processed?
I have a CodePen as an example of what I'm trying to do here.

It turns out there was a clue in the author's confirmation of the behaviour of the dataLoaded event.
The dataProcessed event fires after the rows are created and contains the expected rows for that page.

Related

How to add Column Calculations from a pagination call with ajax for Tabulator?

When using loading data from ajax, the Column Calculations functions are no longer correct for remote pagination. So how can I show the calculated data from the server into the footer via an ajax call?
Or is there any other solutions for it?
I'm thinking of assigning the data received from the ajaxResponse callback function, but I can't use the data from this function for Column Calculations custom functions

newly added lines rowhandle only affects the table visually and does not save the data in the table

The problem: I have a table that I use movableRows and rowHandle to move the rows and so far everything is fine. However, when I add values and modify it with the rowHandle, it visually changes but the saving does not occur and if I add another item, the list returns to the order without the modifications I had made.
But if I leave the items in the table, refresh the page and it loads these items already saved, this problem does not occur, only with items that were added in that section
OBS: I'm calling the tabulator through Alpine JS.

SmartSheet API triggered when adding row

I've created a node.js script that collects all rows in my SmartSheet and then updates the rows that meet a certain criteria. It works fine.
However, rather than having a script that continuously collects all rows and checks for the desired criteria, I would prefer to have the script only check for new rows that are added and then update certain cell values for only those new rows at the time they are added. Is there a way to update only new rows immediately after they're added via the SmartSheet API?
Yes look at their webHook section in the documentation use it to trigger functions when something happen.

How do we pass parameters to responsive table filters from python?

I want to scrape a responsive table that has two filters, one for a simple text search and the other for number of rows displayed per page.
Is it possible to pass parameters to the filters through my request?
That table is filtered client side only. So that means all the data is already there, but just hidden. To get all the rows you can simply use one of:
response.css('#proxylisttable tbody tr')
response.xpath('//table[#id="proxylisttable"]/tbody/tr')
If you want to interact with the form you will need to use Scrapy Splash in order to execute the Javascript necessary to do the filtering.

Event handler for sharepoint list link

I want to add a link on a column of a list (one link for each row). When user clicks on a link, I want start some task. What event can I use to handle this and how can I get the row index?
You could create column with HyperLink type and programmatically populate the column in event receiver (in ItemAdded / ItemUpdated events). The URL would link to your HTTP handler that would perform the action on item by its ID (passed in the URL).
You don't need to use event receiver instead you can use calculated column with formula which generates item specific URL e.g.
=CONCATENATE("<DIV><a href='","http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.",Title,"'>",Title,"</a></DIV>")
Here you can find more info about this approach. If you need more info feel free to ask.

Resources