@Bryan, the series of full_data.var[i] === null statements are meant to ensure the callback reaches to every row of data in source even when null values are encountered in certain columns.
I will mention that I’ve gotten the simplest of the widgets in my application running. All of the Slider() objects appear to be functional. However, many of the more difficult JSCallback interactions I’d still like to include to the app seem totally out of reach. Bryan, I searched through the forum for examples/support for more complex use cases of widgets, and happened upon this page where you responded to another user, @CONSUMERTEC. You directed them to the examples directory of the repo, but even here I wasn’t able to find concrete examples of several widget implementations.
Take the Multichoice class, for example. There are 16 results in the repo; two of the files there, inputs.py and interaction_multichoice.py encompass what is already posted in the JSCallbacks docs. There is one other file called test_multi_choice.py in which a Multichoice widget input_box is defined and added to a layout, but the test didn’t appear to include any example of use of that widget alongside a CustomJS() callback!
I suspect that my ‘real issue’ as you allude to above in the implementation of widgets is not being held up on the Bokeh/Python side, but rather on the Javascript logic side. I’ve no idea where I should go to see examples of Bokeh widgets being deployed on a server via legitimate JS callback. As you said, it’s not Flask that is the problem. It’s the JS. Do you know of any other resources that might be able to help?
Aside from that the other option is to post smaller examples of single controls here and work them out with the forum community one-at-a-time. But that is arduous work. I’d rather gain the skills to solve this JS problems on my own.
TL;DR: Seeing examples on the examples repo that go something like: CustomJS(code="console.log('button: click ', this.toString())")) aren’t helpful. Or if they are, I’m not sure how they are helpful