Indirectly trashed item's context menu show editable actions
Projects or collections belonging to other projects that happen to be trashed are accessible on WB2 via the "Trash" section on the left panel, by navigating through those trashed projects.
The context menu code on wb2 assumes that something is trashed only when its
is_trashed field is set to
true, but that's not always the case. On wb2, when this happens, a "Restore" menu item is offered that calls the
untrash API call, and that's possible only on directly trashed objects, and it isn't on objects that belong to trashed projects.
So, we should come up with a way of fixing this behavior difference, as users will surely want to recover some objects from within trashed projects.
Talked on eng meeting:¶
- Implement a virtual read-only field on the API side to tell the client when something is indirectly trashed
- This would be included not always but when using “include_trash” or passing another special flag
- On wb2’s side, that would allow us to easily know when any object is trashed.
- A virtual field won’t necessarily be useful as an event from websocket, so we may need to use some cache invalidation strategy
- On this note, Nico’s suggested checking: https://swr.vercel.app/