I wanted to make a TextInput that I could give some properties to be able to select it from javascript using document.getElementbyId
or document.getElementsbyName
. However the name
property of a Panel widget gets turned into a title
property, and the name
bokeh widget model property stays empty, although it is reflected on the HTML document.
I had to create the following subclass to achieve what I wanted:
class TextInput_with_name(pn.widgets.TextInput):
_name = param.String(default='')
_rename = pn.widgets.TextInput._rename.copy()
_rename.update({'_name': 'name'})
To be noted that I tried to pass my TextInput object to a jscallback
, then used document.getElementbyId(mytextinput.id)
within my JS callback. It didn’t work.
I believe the name
and tags
properties should be reflected on both panel objects and their bokeh model.
Perhaps it’s the case and I didn’t find how to do that.
If it’s missing I can add an issue and work on a PR.