A question about lists

I think @Darren_Murphy explained it pretty well. Once you know the rules, it’s pretty easy, but feels hard to explain to others.

Here are my general rules. I’ve probably mentioned this a hundred times in the forum, but I never feel like I can explain it clearly enough. (taking suggestions for a better way to word this)

  • Top level views (Tabs, ‘Show New Screen’) will always have independent screen layouts. So at that top level, you can change a screen layout, and it won’t affect any other screens.
  • Any sub level below that top level (such navigating to the details of a list item, or using the ‘Show Details Screen’ action) will display a screen layout that is permanently attached to the table itself. This is convenient because you can refer to the details screen of that table in several places throughout your app, and you only have to maintain the screen in one place instead of looking for every single detail screen just to make the same change multiple times.
  • There are exceptions:
    • Turning on ‘Independent Screen Configuration’ on lists will give you independent screen layouts per list item.
    • The ‘Show New Screen’ action will ALWAYS give you an independent screen layout, although, if you apply it to a list, every list item will share that New Screen layout within that list.

Once you understand these concepts, you can really exploit them to your advantage. You have much more control of when you want to have a shared detail screen layout throughout the app, or when you want to have a unique and independent screen layout. I’ve recently discovered that I can have reusable custom forms by switching to use ‘Show Detail Screen’ instead of ‘Show New Screen’. My custom form is built from a ‘Show Detail Screen’ action on it’s own table, so my form will always be attached to the table and I can pull up that same form anywhere in the app without having to rebuild it each time. That’s because ‘Show Detail Screen’ uses the layout attached to the table, whereas ‘Show New Screen’ is always a new independent layout.

So in your case, the list layout has nothing to do with the detail layout. Its that fact that you use a ‘Show Detail Screen’ action on the list. This opens the detail layout that is attached to the table. By switching the action to ‘Show New Screen’, you are asking for a new independent detail screen layout specifically for that list. Now, if you ever have to add something to the detail screen, you may need to go into the details of both lists and make your changes, instead of doing it just once if you had used the default ‘Show Detail Screen’ action.

I like to think of a worst case scenario. Imagine the unlikely case where you have a user table with Name, Address, and Email. At some point you add 20 lists throughout your app that are sourced from the same user table. Later, you decide you want to add Phone to your table, and likewise add it to the details screen. If Glide did not share the detail screen layout, then you would have to make the same change 20 times in the app. I think more often than not, people will want that details layout to be shared, so that’s why ‘Show Detail Screen’ is the default action on lists. The great thing is that we DO have a choice either way. You just need to pick the appropriate action for your needs.

3 Likes