The syntax, and display would need to be figured out, but I would love a feature whereby WorkFlowy would automatically calculate the sum of values given in nested list items, and update the (visible) totals instantly after a nested value is changed…
For example a budget could look like this:
- Cabinet Repair: 100.00
- Parts: 50.00
- Nails: 25.00
- Timber: 25.00
- Labor: 50.00
- Carpenter: 30.00
- Assistant: 20.00
- Parts: 50.00
If I changed a value I would want all the parent totals to update, and if I added children to any of the lowest elements, their “value” would be replaced by the sum of the new children, and again the change would cascade all the way up to where the grand total is shown.
Perhaps :: followed by a number would trigger this behavior, or perhaps a keyword like \sum would be better. Whichever suits the developers.
Here’s what the user would enter using the keyword method, to display the above:
- Cabinet Repair: \sum
- Parts: \sum
- Nails: 25.00
- Timber: 25.00
- Labor: \sum
- Carpenter: 30.00
- Assistant: 20.00
- Parts: \sum
This new feature should support decimals and there might be future scope to extend it to support other dynamic values, or currency/unit parsing.
A challenge to implementation might be that mirror nodes might cause circular references so some sort of error handling and warning would also be needed if a user attempted that.
My motivation for this is I regularly find myself using Workflowy to write little monthly budgets but I need to constantly copy my lists to a text editor, reformat them for notepad-style calculator apps like OpalCalc/Soulver, paste them into said apps to work out subtotals, and manually enter the totals back into Workflowy and repeat up the tree, as needed, each time a change is made… There currently doesn’t seem to be any tool made by anyone which has both a tree structure like Workflowy AND on-the-fly totals (or other math calculations) like OpalCalc or Soulver. More complex things could be achieved with this idea of combining these two paradigms, however I would be happy with just a means of calculating totals!