Thank you, @christoph. Yes, I’ve done a similar thing in my “workaround.” It works well when you only have 2 levels of hierarchy (Home > relationList), but I have 3 and if the user wants to get home from the second layer, they once again have to go through a bunch of “Back” actions.
That’s certainly been my experience. If I point my action button to a column with multiple related rows, it loads swipe just fine. Except that I lose an option to swipe back and forth by using the “increment” action.
However, in the original app (Swipe.io), which I copied to the T, that inline list also points to a relation to a table that ONLY HAS ONE ROW. So, two identical setups, but for Swipe.io there’s an option to do the Swipe, and for mine, it doesn’t appear so =(
Here’s the setup. I tried to remove ids of columns that are not related to the problem at hand, but there are def a few more in here, so I can explain further if needed. So, I have 3 tables:
- Patterns, which contains various metadata related to each pattern, as well as some process calculations and relations to other tables.
- Pattern Instructions, which contains row-by-row instructions for each pattern.
- workingRow, this is a dynamic table that is related to Patterns and Pattern instructions. I send values here from Patterns using actions, and it looks up relevant columns.
The diagram above might be hard to follow, but I’m hoping it’ll work in addition to this explanation:
- From the Home page, the user selects one of the Inline List items. At this point, this is a standard “Open Detail screen for this item” action.
- On the Pattern home page, the user can either click one of the rows or use a floating button to open the next to-do row. Both are handled through a similar custom action, I’m only showing the floating button action here:
- Clears values in [workingRow] table
- Sets values in [workingRow] table
- [Patterns] Name >>> [workingRow] Pattern
- [Patterns] lookupNexttodo_UID >>> [workingRow] incr_Row
- Open New Screen from [workingRow] (there’s only one row that’s related to [Patterns] table
- Once the values in [workingRow] were set by action, the table itself does a few things:
a. Combines Pattern and incr_Row values to get a tempCurrentRowID (template field)
b. Finds a row with matching currentRowID in [Pattern Instructions] table
c. Brings values of [Pattern instructions] Name, Instructions, and few other Text and Number columns into [workingRow]
So at the end of all this trickery, my [workingRow] table looks like this:
And with the “Increment” action on Prev/Next, I can achieve this result, which resolves my initial question.
Now the “Back” button works as expected, leading to the parent level. Users can also navigate between the previous and next screens.
There are, however, tradeoffs:
- I wasn’t able to figure out how to bring the “Completed” boolean operation to this final screen and make it work too. I can update values in my [Pattern instructions] table with an action of any other element, but standard Switch doesn’t work. The switch is, of course, clearer from a UX perspective, but I can figure out how to make other elements give the same signals to users with other elements.
- I will need to rethink how users could add Notes to these patterns now that they are not attached directly to this screen. I’m thinking there’s probably going to be some sort of an inline list loading notes from a separate table. Not the end of the world, although somewhat annoying =)
Thank you for everyone’s help! If there are any ideas on how to address the above tradeoffs, I’d love to hear it!