I have a large custom built table which holds the results of a screener. There is a lot of potential columns and the display will vary per user. Once the user has the layout they want to see, we want to offer a way to download exactly what they see in a CSV file. I just need to take the contents of that repeating group and export it, in the same order.
I am using 1t CSV downloader on another page. For some reason it wants to throw errors on this page even when using :convert to JSON safe expression.
Some of the plugins I looked at were for older bubble versions and didn’t download any data…
The only feature I really need is the ability to sense the data from the hidden columns. I guess it would need to be able to read a group for the list of captions. Any options out there?
1T CSV Creator is the way to go, since your columns are dynamic it’s gonna be a lot of conditions whether or not to include that column in the CSV.
Assuming the user checks a box, and that sets a yes/no custom state called ShowColumnA on the index page
[List of things]:format as text
Inside the window:
{ index's ShowColumnA:format as text index's ShowColumnB:format as text index's ShowColumnC:format as text index's ShowColumnD:format as text index's ShowColumnF:format as text
}
Then when you click on the :format as text for ShowColumnA,
For “yes” you would do
“[Name for Column A]”: This [thing]'s Field 1:format as JSON safe,
and for “no” leave it blank
Rinse and repeat for all columns
Then , delimiter for the main :format as text window like usual
EDIT: although thinking about this, there’s some weirdness cause the last item can’t have “,” after it, and there’s no telling which one would be the last item…
Do:
{ (index's ShowColumnA:format as text:converted to list:plus item index's ShowColumnB:format as text:plus item index's ShowColumnC:format as text:plus item index's ShowColumnD:format as text:plus item index's ShowColumnF:format as text):filtered:format as text
}
Inside the “:filtered” have it filter out empty values
Inside the last “:format as text” make the delimiter ,
This makes a lot of sense. I have an idea how to hack the first idea you have into functioning. Leave each line with a , at the end as mentioned then hardcode the last field to include the unique ID for the row. That line would be expecting the previous to end with a comma and end with none to format the JSON correctly.
{
index's ShowColumnA:format as text
index's ShowColumnB:format as text
index's ShowColumnC:format as text
"UniqueID"=index's ShowColumnID
}
Going to try again soon testing both options out. Thanks!