Documentation for change.emit?

Although I like the documentation of Bokeh in general, it is sometimes quite hard to find what specific things do in the examples or how they could be modified as there are often no links to relevant documentation. More specifically, I am now reading JavaScript callbacks — Bokeh 2.4.2 Documentation and in all examples there is a call to something like source.change.emit(), but after searching the docs for half an hour I just don’t find a page where change or emit methods are defined?

Thanks,
Jouni

Hi,

There isn't any, for a few reasons. When Bokeh first started, the BokehJS component was purely a hidden implementation detail that users did not see at all. It's only more recently that it has become somewhat user-facing. So it did not start off with much documentation for that reason. Additionally. BokehJS has undergone tremendous change in just a few years. It used to be all CoffeeScript and based on Backbone events. It is now almost all Typesript, and Backbone has been completely ripped out. When development is this active it's often the case that "documentation by example" is the best thing possible until things quiet down (getting there). This is especially true since "source.change.emit" by itself is all that ~90% of users will ever need, it's almost boilerplate code. Lastly, there's just not enough people to get everything done and there is a huge backlog of tasks. Certainly we'd appreciate anyone experience with automatically documenting JS libraries, because that's a particular area where there the core team lacks depth.

As a general overview, BokehJS hooks up many event handlers internally, i.e. "request a redraw when a change event is fired for the plot size". BokehJS is able to detect many kinds of changes automatically, e.g. if you set "range.start = 10" then a change event is triggered automatically (another reason there's not much docs about this in particular, such code is generally not needed at all). However in just a couple of cases, it's not technically possible to detect changes automatically. One of these is "reaching into" an array, and changing values in place. In this case you must explicitly fire a change event yourself, i.e. "source.change.emit()".

Thanks,

Bryan

···

On Mar 15, 2018, at 00:51, [email protected] wrote:

Although I like the documentation of Bokeh in general, it is sometimes quite hard to find what specific things do in the examples or how they could be modified as there are often no links to relevant documentation. More specifically, I am now reading http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html and in all examples there is a call to something like source.change.emit(), but after searching the docs for half an hour I just don't find a page where change or emit methods are defined?

Thanks,
Jouni

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/98435c41-6199-4e1a-bc57-adee28e23b2b%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.