Update streaming plot data with AJAX call, (on some event rather than set interval)

All the examples I’ve seen are using polling intervals, is there a way to update the plot via a click event on some bokeh widget?

I looked into assigning the js_on_event attribute of the AjaxDataSource() source object but wasn’t sure if that was the right way about it as looking at some of the CustomJS examples it seems to only be able to transform the existing source data points rather than update the plot with more data points within source (I might be incorrect with this assumption).