Hey,
I’m building a Kanban board to manage invoices. Each lane represents an invoice state („In progress“, „waiting for approval“, „approved“ and „finalize process“). The user moves one item (invoice) from one lane to another once it reaches a new state. If the user clicks on an item in a specific lane, a specific modal opens (depending on the lane the item belongs to).
This is the workflow I’ve set up. It does the following: Once a user moves an item from one lane to another, the loop makes sure that for all items in the new lane the new order is stored in the database by updating the entries accordingly (Alexis mentioned this approach in this post). Then, there is a check if the item was moved to a lane with lane_id >= 3 (because then it will receive an additional approver timestamp - if not, the approver timestamp will be nulled (in case the user moved the item for example from lane 3 to lane 2). In the end, another workflow reloads the data.
This approach results in two problems:
First, there are sometimes quite many items in a lane, which lead to the situation, that when a user moves an invoice from lane „waiting for approval“ to lane „approved“ and clicks the element, there is still the modal from lane „waiting for approval“ displayed, instead of the modal which should open when the item is in lane „approved“ (this is probably due to the fact that the moved item has not received the new lane id yet when clicked (because the loop in the workflow has not updated this item).
Second, items might jump in a different order. (I uploaded a video for demonstration purposes here - in this video I shown an extreme case, but it also happens when I’m not moving so fast that many items).
Anyone an idea how these issues can be resolved?
Thanks for your help!