Absolute positioning and Data Viewer Custom Layouts

Hey, I’m happy that after few years and a lot of work to make it with clone blocks, you guys made a customizable list :wink: but I’m having some bugs unfortunately

this happens when i select the layout for the normal list (those 2 “Nome” are part of the custom design, being absolute positioning), and I can’t find a second layout I saved so I can’t use it
layout bug1

and this, where I can’t find the new layout tab, maybe it’s my cache, i tried emptying it, ill keep trying an testing

this means that it worked the first time but now I’m stuck and can’t change anything, nor create new ones to use

Didn’t see this thread and posted somewhere else,I have a bug

http://community.thunkable.com/t/latest-thunkable-release-new-components-data-viewer-list-and-data-viewer-grid-2020-05-05/564204/110?u=maxb

@Domhnall is the bug due to the fact that I have absolute positioning?

I’d make some tests but I can do nothing right now

Hey Max :wave:

No worries - I’ve consolidated everything into one post for you now!


You should be seeing it - maybe try an incognito window just to be sure? But this might be on our end. I’ll take a look on one of my test accounts and get back to you.


Not 100% sure what’s happening here to be honest with you, can you PM me your project link @maxb?

@maxb Thanks for letting us know about the problems you’re seeing. I do think absolute positioning should be working but it is always possible there is some issue we didn’t anticipate. I’ll take a look and see if we can get it fixed. For the layouts tab, this was a miscommunication on our end. I thought it was already live for users but it apparently isn’t. I’m working on fixing it now. Should be available tomorrow at the latest.

1 Like

I now see the layouts table, but after deleting the only one that I was seeing, the one with absolute positioning, that WAS working, I see no other layout to use in the listviewer style selection, except the default ones, even though I have 4 saved layouts.

I’ll now try the grid list viewer, no custom layouts in grid viewer either.

I’m now gonna try to reboot the pc, also, it might be relevant that I’m using linux, elementary OS 5.1.7 Hera, built on Ubuntu 18.04.4 LTS (same as before)

1 Like

@maxb can you message me privately with the email you use for your account or share the project with the layout you made with me? I want to take a look at your account to verify that your 4 saved layouts are in our database and also check the styling you’re using for the layout you’re trying to create.

I just tested and was able to recreate the scenario where the absolute positioning is strange in the layout picker. I’m going to guess that you might already know this but I just want to verify. Is the parent of the item you are using absolute positioning for (in this case the Nome labels it seems) set to position: relative? It seems that if you don’t set the parent component’s position to relative you can end up with these results. I’ll work on making it look more accurate but I don’t know if it will give you the results you’re looking for as it is currently set in either case.

@maxb I might have figured out what the issue is with the absolute positioning. If you have the parent component with position set as relative, you might also need to explicitly set the height of that component. It is somewhat dependent on your exact setup but if you’re using the top level component as the parent of the absolutely positioned component without an explicit height (absolute, any numeric value) I believe it will give you the results you’re seeing.

The different layouts are now working, I think the problem was that I was saving layouts that contained invisible elements, after makinng them visible I am able to save and use the layout.

Right now I’m having issues with updating the values of those elements, making math with the text values of the labels, and, as I already told you in PM, the ‘set visible to’ doesn’t seem to work

In these math operations, the +1 works,
but the moltiplication doesn’t.
Btw, if I just pull the value directly from airtable, it works, but I’d like - to have the app work offline after the first data download, - avoid pulling data everytime (battery optimization? not sure)

Math
the value is taken from airtable where I set it to number, I had the same issue with the quantity value, it didn’t work in math operations if set to number, but it works if I set it to text, so I will now try to change the other components values to text too

i tried saving the values in a local db but it seems that the list of values doesn’t work as in the ltest list viewer doens’t show any data

Thanks for following up. I think I’ve identified the issue and will be working on a fix now. Hopefully we can get it released soon!

Still not fixed?

This is holding my app from being developed further, I could work on the next steps but I can’t if I don’t know if the data sources blocks work, don’t work, or how…

Actually I believe the fix should have just been released this morning. Please update your Thunkable Live app and let me know if you’re still seeing any issues. I’m still in the process of enabling better overall support for absolute positioning but I expect that to be done soon and released early next week.

Yess, perfect, it’s working smoothly, very nice.

Now, I didn’t think of it before cause of the other problems, but it’s pretty crucial and very needed is the possibility to change this
dataview source
from the block section so that I can dinamically change it with the user actions.

2- Also, are data sources not working?

Cause they don’t work in my app, I have to use the ‘old’ LocalDB and airtable commands to make them work.

If it’s a know bug I’ll wait for it to be fixed, otherwise I’ll look into it to understand why mine isn’t working.

Thanks a bunch for the updates :+1:

That is interesting. I don’t think we currently have plans to allow you to change the Data Source/table for the data viewer but it is something we can look into.

I don’t know of any issues at the moment. What exactly isn’t working for you?

There should be a problem in the Create Row block for the data sources;
This

makes a copy of the airtable database in a local database,

unfortunately I can’t use the old local DB component in the new data viewers,
I have to use the data sources
ds3

so i used the create row command for the data sources,

but instead of creating a copy of the airtable database, it repeats many times only the first row of the DB, and if the data viewer is set to be used with that data sources local DB, it crashes the app.

I tested this in many sauces, and it always stops when the ‘create row’ command comes in.

That would be very cool, and maybe not so hard for you? :grin:

In your screenshot for the create row in Hamburgers blocks. It looks like you are iterating using j for each item but referencing a variable i in the rowNum. Is that potentially causing the issue?

That’s just cause I decided to change the original picture with a more fitting one created on purpose, it’s not that the problem, picture is wrong,and those blocks work if I use the OLD localDB commands.

I think I just found the cause and I hope you can do something about it:

Data sources IS SLOW. It might be due to the fact that it pulls every row from the airtable db, I just ‘solved’ one problem I was having, but I can’t wait 1 second for every row of the database,

I’m going to add pictures and explanations to this comment now, I’m sending it now so you read this

In this example I made the same copy process from airtable to local datasource but in a simpler way:

ds6

In this case the result is a random copy of the data, out of 12 entries in the airtable db, i get around 4, often not in order, entries of the db,
but,
if I make the app wait 2 seconds for entry (even 2 seconds doesn’t seem to be enough to have a perfect result everytime),

ds7

it works as intended.

There was also a version that used this block:

but it seems that it doesn’t work at all.

I’ll see if the problem can be solved by first pulling the objects and saving them in lists or objects and after that writing them in local datasources could help.

Btw, this exact problem of mine could be best solved by allowing me to dinamically change the source of the data viewers in the blocks, that would just avoid all these steps, is it possible?

Thx @Steven

Thanks, additional pictures and explanations will be very helpful! I’ll take a look once you send them over.

I’ve heard other people mention slowness around data sources. I’m looking into what we can do to improve that. I think we can do a better job of leveraging caching abilities with the libraries we’re using so hopefully that is something that can improve the experience.

Great, thanks again for following up!

I am a little confused about some of your blocks so I just want to clarify some things to make sure I have the full context. In your loop, you’re using the number of rows in Hamburgers as the number of times to iterate. Are you manually ensuring that the number of rows matches the number of rows in Airtable? Are you also clearing all of the rows in the data source Hamburgers out each time the app runs?

Can you explain what wasn’t working for the last image? I just tested it and it seems to work as expected for me. Are you sure there are items in that Data Source when you try to update the list viewer?