Features:
Tabulator allows you to create highly functional interactive tables.
Extensive Feature Set
Configure your tables to meet the needs of your users
Tabulator has an enormous number of features to help customize your table experience to your needs
Columns.
Unlimited number of connected columns. Each column is connected and configured separately.
Filters
Filter data to display only what you need to
Sorting
Sort data however you like, by any value or data type
Formatting
Create custom formatters to graphically display data
Editing
Edit table data directly in the table. Then return the result
Pagination
Automatic local and remote data pagination
Packaged Themes
Five Prepackaged themes straight out the box
Freeze Data
Freeze columns and rows in place while scrolling
Download Data
Download data directly from the table to a CSV, PDF, HTML or XLSX File
Layout
Customise the layout of Tabulator to meet your needs
Responsive Layout
Automatically hide & show data to fit table size
Persistent Configuration
Remember layout, sort and filter config between visits
Navigation
Navigate focus around the table with keyboard and functions
And much more.
For more information on features and functions, see the documentation and demo pages.
Demo:
Plugin page:
If you have questions, reach out to us at contact@mindforapps.com
We appreciate your reviews and suggestions.
Yes plugin supports:
When Value changed
When Row deleted
When Add row (in the next update we will change to row added)
When Row is clicked
And several states:
rowUniqueId - when clicked, we get Unique-Id
columnTitle - when changing, we get the Title of the changed column.
cellValueText - when the text field changes, we get the changed value of this field.
cellValueNumber - when the number field changes, we get the changed value of this field
cellValueBoolean - when a boolean field changes, we get the changed value of this field.
cellValueDate - when the date field changes, we get the changed value of this field.
First of all, thanks for creating this awesome plugin. This could potentially save a lot of time creating repeating groups with sorting, headers etc (why not just offer Bootstrap with Bootstrap tables Bubble?).
Iāve just bought your plugin and Iām running into some speed issues. So for a simple test table with 2 columns and 1000 records in the search for in Datasource, it takes really long to load the page. The page load is 15.41 seconds.
In comparison, when I use the Bubble native excel style plugin, the same data, but with all 32 columns takes just 3.18 seconds to load.
Here are some screenshots of both scenarioās with chromeās network inspector:
Hello!
Unfortunately, the more data, the longer the table will take to load. This is limited by the structure of the plugin and the design features of the bubble plugin editor. Custom plugins, so far, cannot dynamically load data (like a native repeating group, for example).
The table first completely loads all the data and then appears on the screen.
As far as I know, all user-created table plugins work approximately the same way. First, all the information is loaded, styles, formatters, editors, filters, etc. are applied, and only then this processed information is displayed in the table. And all this will be managed by time. The more data, the more time.
Sorry, but I canāt do anything about it yet.
Thank you for the swift response. Iāve tried to actually load the data that I really want to see, with more columns and more lines of data. The page wonāt load at all now, because it has to handle a search for each column, it seems. The same page with a repeating group takes 6.6 seconds.
You explanation that, due to the way plugin development with Bubble currently works, you cannot fix this. I understand. However, it would be great if you would mention the data limits on the plugin page. If I knew this fact, I wouldnāt have purchased the plugin, as it is not a solution to my challenge.
Thanks again for your support.
ps: for other Bubblers out there: this does look like a very nice table plugin, indeed. Itās fairly easy to configure and the overal functionality of the tables generated is GREAT! However, if you intend to use it for moderate to large datasets it might not be the thing for youā¦
Hi @MindForApps
I suggest to review a little bit your minding about data loading in plugin for this one. (It may not apply to all plugin
You can probably add a āinitial load item #ā field and only process this initial numbering. So the initial render will be faster and user can select only item on the viewport + a few more. And after, you can push the remaining data at the end of the script.
It will fake the way Bubble can render RG.
@Jici, thanks you for your mindful response. I was actually experimenting with this very thing right now! So what I can for instance do is limit the items by a slider of picker or whatever and have that as a variable in items until #. So in a way, that works!
However, it doesnāt really make a lot of sense for the end user if you also have things on the bottom of this table plugin like āPage sizeā and pagination in general etc. For instance, the search function on the columns suggests that you can search all the available data (which is in this case 20k+ rows with 30 columns and growing). That doesnāt really work if you only load 10 or 50 rows of al that data, right?
Or maybe I donāt understand your part about āAnd after, you can push the remaining data at the end of the script.ā correctlyā¦
Up until now I fix most of my Bubble-speed issues by doing the heavy loading outside of Bubble by using Python (Pythonanaywhere) and sending the data through Data API to Bubble. This seems much much faster than using backend workflows to edit larger datasets.
I was more suggesting that the Plugin handle this itself and not let the user do that. @MindForApps is right that sadly, we need to construct the payload for the plugin first and this is why it can be slower than a RG with a lot of items.
So this is why I suggest to @MindForApps to consider having a first data loading part to load the first draw faster and load the remaining part after.