This problem requires three TinyDB instances, each with their own Namespace:
The tags in all 3 are text representations of a date/time value:
This format was chosen so that the oldest in any TinyDB will sort first in its tag list.
With 3 TinyDBs, we can easily fill List Picker Elements lists with tag/value pairs ...
We add new future events to the Future TinyDB;
Monitoring for events newly due is done by Clock1.Timer, repeating every second.
We don't check for exact time matches, because events may have come due while the app is not running. Instead we just check the oldest future event:
We Notify the user of each event, one at a time, and we move them from Future to Present TinyDB, same tag/value.
Different List Pickers have different Selection options:
Present Events:
Past Events:
(I left out editting/deletion for Future events. The pattern should be clear.)
PastPresentFuture.aia (7.8 KB)
P.S. Credit for TinyDB NameSpace names: Charles Dickens






















