I have a notebook that uses Inputs.button to trigger getting properties out of an object:
The flow is to pick an item from an Inputs.select menu, click the Inputs.button, and a variable is updated.
However, when that underlying object is updated (for instance, selecting a different item from the pull-down menu), it appears that the button is pressed automatically upon update — or, rather, the functional equivalent of that behavior is effected without my having clicked said button, which is the same (undesired) outcome.
Is there a way to more finely control events with Inputs, so that there is a clear pattern of behavior that waits for interaction with a control, such as a button press (or other event), before modifying variable state?
Or are there other libraries than Inputs which provide controls with events?
It sounds like you’d like a submit option for Inputs.select, similar to the one for Inputs.text and Inputs.textarea. There are a few issues for this option on the other inputs, e.g.,
I think have a generic submit option on all inputs (or at least everything except for Inputs.table) sounds like a nice feature.
I struggled with this exact issue, and the best solution I found was to use the reduce option provided by Inputs.button. I find that the reduce handler is only triggered when the button is pressed, even if it takes reactive values from other cells as inputs.