I don’t know if this should go to feature-requests or to Any-Case. Probably feature-requests because it’s only a plan now.
What Do You Recommend?
Dear developers please implement this or I’ll start implementing this myself. So please tell me if it’s doable. Validate please I mean.
How Could It Be Done?
UI:
show current.object (currently tracked)
button1 "Select this object as current task"
button2 "Stop tracking"
null is same as undefined (if doesn't exist)
There should be trackedTime objects
object means any anytype object but trackedTime
object should have
trackingParentObject=null
duration=null
trackedTime has
startTime
endTime
object
there are current and prev trackedTime which are initially null
function commponPart()
let objs be: every intermediate object in anytype's hierarchy from currentObject up to one whose trackingParentObject=null
if (prev !=null)
prev.object.duration = currentTime-prev.startTime
prev.endTime = currentTime
if currentObject.trackingParentObject is null user choosing it from:
currentObject.parent chosen by default
objs
input field to find and select arbitrary object
increase duration by prev.duration in objs
when button1 pressed
commponPart()
prev = current
current=new trackedTime{startTime=currentTime,object=currentObject}
when button2 pressed
commponPart()
prev=null
current=null
Real World Use-Cases
Time tracking (permanent) of my life