Sometimes things are complicated

Today has seen a fair amount of going round in circles

It's not unusual for code to be a bit loopy, but today's challenge has been tougher than normal as it involves lots of client side stuff interacting via a server but without anything staying on a server - no database or other server side storage.

The solution to the problem (that I didn't really have but decided to fix anyway) involves passing around JSON that knows enough about itself to be given directions along its journey. I probably shouldn't try to expand - but It might help me remember something important after 12 hours solid screen time, and both of us to fall asleep.

A drop-down menu offers a selection that when clicked fetches a widget from server-land. This populates several key components: a list of choices; a filter that can fine tune the choices; and a preview of choices made. Any selections made need to be remembered, as do any filters. The preview, and the filter menu, and the selection can only be created by asking the server for help. Oh look - sleepy time.