Hi! I have a to do list database, and experiencing a behavior that I’m not thrilled with.
What I’m seeing:
Table of tasks is filtered to only show rows with a status “To Do”
User clicks a checkbox on a task, which changes the status to “Complete”
This task stays visible on the table until the user clicks elsewhere on the page
What I’d love to have:
Table of tasks is filtered to only show rows with a status “To Do”
User clicks a checkbox on a task, which changes the status to “Complete”
This task immediately is hidden by the filter without any other interaction by the user
Thank you, Nick
HI Nick,
The row will disappear any time that it loses focus, i.e. the cursor is not on the line anymore. I think that is actually a good feature. It is disconcerting when a row disappears as soon as a change is made. Also, if you accidentally made an incorrect change, you now have to go and hunt that row down to be able to make the correction.
Regards
Piet
Hey there @Nick_Solyom !
If that feature is really important to you there is one way I can think of to replicate that user experience.
You will need to create a new table (called Completed Tasks perhaps) and then you will create an automation that does something similar to the following:
- When row is changed in to do table (column Complete)
- If step1result.complete = true
- Addrow(completed tasks) - you will need to replicate the rows values in the new table here
- Deleterows(step1result)
Make sure you use the RunActions() formula for the automation result so they happen at the same time.
That should (as fast as the automation triggers) from a user perspective immediately hide the completed task without them clicking anywhere else and save that information within your doc.
Let me know how that works!
Also I’m not around my computer to test right now, but if you just created a button that modified your checkbox column to be true and used that to mark a task as done would that instantly hide the row? - try that out. If it works that could be a simpler solution!
2 Likes
I just wanted to report that a Button Column to mark a task complete does not auto-filter as we hoped, I will have to experiment with the Completed task table next.
Oh - better yet (if you don’t want the automation to catch the row change which will make it almost instantaneous) - just type that same formula consisting of AddRow() and DeleteRow() into a button column on the row and have your users press that button to mark a task as complete.
And don’t have it add the row to a new table, have it add the row to the same table. No reason for the different table.
That will make the row disappear faster - although you forego using the checkbox column. That’s the only downside I see
1 Like
Revisiting this topic a year later with a new question.
When a user marks a task DONE, a RunActions() is called that sets a row’s status to “Complete”. It also runs an OpenWindow with a link to the current table. That causes the record that was just marked complete to be filtered out as hope.
However The behavior that I don’t like is that the user loses their place on the page.
For example, if you have scrolled quite far down the table, marked something as complete, you will be launched back to the top of the table.
Is there a way to make the row lose focus so that the filter is re-applied without scrolling the page?
Is there a way to link to the row previous on the current table? That way I can Openwindow() and not lose my place.
Thanks!
I would like to do this too. I do not want to use OpenWindow either, is there another formula that would force the filter on the view to update? @Nick_Solyom did you find another way to do it?
Yes! I add a duplicate row with the status “completed” and delete the current row. The delete makes it disappear instantly
I really think this is, generally speaking, not the route to go. In many documents rows are referenced at other places. The new row will not keep that reference, because it might look the same, but it is a completely new entity in your table.
So, it might do the trick regarding updating the view, I don’t think this is a workaround for all situations.
Heard! I just wish we could call an updatefilters() then