My app’s URL: https://x17uu.glideapp.io
I have an inline list in my app. When I’ve used them in the past, when I click on an item, it opens a “details” view of the fields for that specific item.
In this app, when I click on an item in the inline list, it just brings up the same inline list repeatedly. However many times I click on an item, I have to press “Back” to get back to the first screen.
This is a very simple app (to log my son’s driving hours to get his license). Not sure if I’m missing something, or it’s a bug. I’ve used inline lists before without a problem.
Looks like your inline list is pointing to the same sheet you are already viewing, so a continuous loop. Is your inline list pointing to a relation or to a sheet? Can you show a screenshot of the component settings? You may need a dummy placeholder sheet for your tab, but then you add your inline list to the detail view of that dummy sheet. You are probably already showing details for that sheet, and when you click on an item in the list, you are going to the same details for that same sheet, so it just shows the same list again.
I’ve done this in two other apps (show details and have an inline list from the same sheet, without an endless loop), so I’m not sure why this would be different (see first four screenshots screenshots). Not sure why this new one would be different.
!
Thanks for your help, @Jeff_Hager. I tried what you suggested – set the source sheet for the tab to something else, then add an in-line list pointing to the desired tab, but got the same infinite loop.
I was having a similar issue yesterday. All I really wanted to do was create a tab that used the Details display so I could put a component (in this case some text) above an inline list. The idea was to give some information about the below list of items. When I added the inline list, clicking the values ended up giving me the same loop as mentioned above.
It would be great to be able to add components to other displays (not just Details). Might be easier from a user point of view but I’m not sure how it would look from the admin/programming side.
I just checked my setup for this and I have my tab pointing to the sheet with the text I’d like to display above my inline list (I wanted body text above the inline list). The text I want to display is on a separate sheet, so the tab points to that “other” sheet. My inline list then points to the sheet where the list items are stored (this is different from my “other” sheet).
This method works for me and does not result in the loop back to the same list.
I’ve tried three different methods (https://x17uu.glideapp.io), none of which works:
-
“MS (Detail)” [original, desired approach]: Detail layout, with an inline list referencing data on the same source sheet as the tab (“Milestones”)
-
“MS (Dummy)”: Detail layout, but the source sheet for the tab (“Progress”) is different than the source sheet for the inline list (“Milestones”)
-
“MS (List)”: This one, I think, should absolutely work. The source sheet for the tab is “Milestones”, and the layout for the tab is simply “List”. Still getting the infinite loop. If this loop is normal, how would the underlying data ever be accessible in “List” layout?
Pretty sure this is a bug. I have other apps that work in all three of these configurations.
Check the last tab that I created here: https://51a4r.glideapp.io
I think it’s working as you’d like. Actually, now all the tabs are working as you’d like (I think). It seems that if the list is used elsewhere in the app (like in another tab), it takes the components that were used in that tab for the inline list. So the inline list isn’t just an inline list of items, but an inline component of the list that was used elsewhere in the app… I think.
Thanks, @kyleheney!
Other than adding the last tab, what else did you change? I think your last tab is equivalent to my #2, but it doesn’t seem to work for me (see previously posted screenshots). Similar, #3 works in yours (the simplest), but not in mine.
Frustrating. This is the second time I’ve had to rebuild this app. Previously, I noticed that Glide wasn’t tracking the changes in my spreadsheet properly and just deleted a bunch of columns.
Basically, I started fresh with a new tab and pointed it to a random sheet. I then set up the layout using Details.
When I added the Inline List component and pointed it to Milestones, I could see that when I clicked on a value in the list, it was giving me the component “inline list” as one of the items. I cleared it all out and added the components as basic text. This seems to have affected the other tabs, so this led me to believe that the “Inline List” component is referencing the “List” layout if the list is used in another tab. If the list isn’t used in another tab, then it starts out fresh and you can add components to the list items without issue.
On the “Frustrating” note you mentioned afterwards — it would be great to have an “undo” function in Glide when creating apps. Something like me removing the components in my new tab of your app led to the other tabs updating themselves at the same time… which is something I wasn’t expecting. I was also not able to undo what I did to see exactly what caused the changes. If there was an “Undo” function it would be really helpful!
Detail layouts are tied to the sheet, so if you are laying out the detail’s components for one view, any other path to the same sheet will show the same components. That’s why I use a dummy sheet for tabs sometimes. Then I can add an inline list and filter, sort, or lay it out how I want. Viewing the details of a list item will look the same regardless of the path however? The endless loop is most likely because you have in inline list in your detail view for each list item instead of the components that sorry the details. You may have to start over on that tab and readd the components. If you are displaying details for a list and then adding an inline list to the same sheet on those details, then you will get a loop. I’d consider restructuring to have an intermediary sheet so you aren’t referring s sheet to itself.