Hide add button for progress equal to 100%

Hello everyone.

I have a table with jobs.
When I touch a job it takes me to a progress filtered table, where each row is a progress record.

I need the add action of said table to be unavailable if the last record has progress equal to 100%

The problem is that the Behavior condition is not being executed at the row level as I thought but it is being executed at the Table level. @Steve ?

In this case the parent is Job and therefore, for all progress records that belong to the same job, there will be the same parent value.

I have first created a virtual column filtering all the records whose progress has reached 100%, this gives me only the RowIDs that meet this condition. Then by dereferencing I get the fields from Job.

Then I create another virtual column with a list of filtered Jobs called “FinishedJobs”. They are all those records for which the add button should not be displayed.

NOT(IN([_THISROW].[Job],Progress[FinishedJobs]))

Is this possible? How do I do it?

Thank you.

I assume you’re asking about an systematically generated inline ref view that is automatically filtered to show only the child rows from a single parent row. I’ve seen this question asked before, but don’t recall seeing a solution, although you could search more in the community if you haven’t already.

A technique that occurred to me to explore but that I haven’t tried would be to intercept the “row selected” view event action with a grouped action that first stores the parent row’s key value somewhere and then navigates to the table view. Then, you could define a condition for the Add action that references the parent row (maybe via a slice)–e.g.,

NOT(IN(100, Slice[Progress]))
2 Likes

Ok voy a intentarlo pero te voy a pedir ayuda con el seguimiento para poder llevarla a cabo (si estás de acuerdo claro!) es más, podría crear una app pequeña de ejemplo y darte acceso así me ayudas. Un saludo!! @dbaum

Si puedes envĂ­ame un email por mensaje privado y te doy el acceso!

I have to say thanks for the advice to @dbaum but I had to solve it myself and so, therefore, I take credit for the solution and share it for those who need it.

First I have created two Slices, one for those jobs that are completed and another for those that are not completed.

Then I’ve created a behavior action that sends to a view if the row touched is a finished job and sends to another view if it’s an unfinished job.

Then I have limited the Add button to the “In progress” view only, leaving it invisible for the finished view.

I didn’t need many more actions than what I name here and it works fine.

2 Likes

That’s a great solution!

It sounds like you have a condition on the action that references the user’s current view. Another approach might be to just remove the action from the slice for finished jobs.

2 Likes

Great, I’ll try it tomorrow! Also I would like to make a recycle bin since the databases are overloaded with data that over time becomes little needed.
The idea would be to eliminate completed records whose completion date is older than 3 months (that has not been edited), for example. If it is edited, restart the count as it is a recurring record.

Add a ChangeTimestamp column and a scheduled automation that deletes rows for which that column’s value is less than, for example, TODAY() - 90.

2 Likes

I may have to create a test app to polish the mechanism and then introduce you to the app I’m building.