How to change the appearance of records in a Deck view and start an action, with just one click?

Hi.

I have a spreadsheet with only 4 tasks / actions, they are unique, they will not change or be added any. Actions / tasks are; Rest, Availability, Driving, Other.

In the app, in a Deck view, I want to click on a task to record the start time of that task in a related table

  1. click on a task to start an action on another table.
  2. I don’t want to open the detail view.
  3. change the appearance of the record for that task; changing the background color, changing an icon or something else that indicates a change in status (such as: “recording”)

This is my first App. I’ve done a lot of research but I’m lost. I found interesting things but without reaching a conclusion.

So, how can I:

  1. click on the task / action (but don’t open the detail)?
  2. to change the appearance of the record?
  3. start an action?

Screen capture of actions / tasks:

In the deck view, you will need to set the ‘Row Selected’ action to the action you have created:

This action could be set up in a few ways, depending on what you are trying to accomplish:

  1. If pressing these buttons should launch a form, then you can have a single “go to another view within this app” function, with a conditional SWITCH() statement that selects the appropriate view depending on the row you tapped.
  2. If pressing the buttons is supposed to trigger more dynamic / complex functions, then you would want to make a grouped “execute a sequence of actions” action. Then, you would include an action for each rowtype, with a behaviour to only run when the tapped row matches that row.

Hopefully this helps!

4 Likes

Thank you @Jonathon , you gave me important tips.

I’ve already achieved something but it needs fine tuning. I created two Actions that work well apart but I can’t get them to work together, in batch or grouped!

I did it like this:

• In the Actions table, I created the Status field.

• I created an Action (with the name New record) to create a new record in the Base table with the value in the Action field of the first table (Actions); I assigned this action in the Actions View, under “Row Selected”. When clicking on the desired Action (task), it does not open the Detail view and creates the record correctly - see figure 1.

• I created a second Action to put the text “In” in the Status field of the first table (Actions / tasks) and I named it Set Status In, it works well.

Here’s what doesn’t work:
• I created an Action called New task, grouped with the 2 previous Actions - see figure 2.

• I put this Action grouped in the Deck view and it doesn’t work. - see fig 3.

       Action Name       |   Works on the table
1. New registration      >   Base - new registration
2. Set Status in         >	 Actions - set Status, with the value "In".

3. New task	Groups the previous 2 Actions, triggered with a click in Actions view - figure 3

What should I modify?

I’m not sure why that wouldn’t be working, if the ‘Set Status In’ and ‘New record’ actions work individually. Some things to try:

  • make sure there is no behavior rule on the grouped action that is preventing it from running;
  • Try running the grouped action with just the ‘New record’, or ‘Set Status In’ actions to see if one or the other is causing an issue.

I will offer another possible route to achieving your desired behaviour:

You may consider having your ‘Row Selected’ action be a LINKTOFORM(), and then within this form specifying an ONSAVE event to perform the ‘Set Status In’ function.

3 Likes

That´s it @Jonathon, I found the error.

I had a condition (in BEHAVIOR > Only if this condition is true = [Status] = “In” ) in the wrong action. It was in the grouped action when it should be in the new Action record.

Thank you very much. Big help.

4 Likes