This docs on this page refers to a PREVIOUS VERSION. For the latest stable release, go to https://docs.bokeh.org/

Archived docs for versions <= 1.0.4 have had to be modified from their original published configuration, and may be missing some features (e.g. source listing)

All users are encourage to update to version 1.1 or later, as soon as they are able.

bokeh.models.widgets.inputs — Bokeh 0.12.14 documentation

Source code for bokeh.models.widgets.inputs

''' Various kinds of input widgets and form controls.

'''
from __future__ import absolute_import

from ...core.has_props import abstract
from ...core.properties import Date, Either, Float, Instance, Int, List, String, Tuple, Dict

from ..callbacks import Callback

from .widget import Widget

@abstract
[docs]class InputWidget(Widget): ''' Abstract base class for input widgets. ''' title = String(default="", help=""" Widget's label. """) @classmethod
[docs] def coerce_value(cls, val): prop_obj = cls.lookup('value') if isinstance(prop_obj, Float): return float(val) elif isinstance(prop_obj, Int): return int(val) elif isinstance(prop_obj, String): return str(val) else: return val
[docs]class TextInput(InputWidget): ''' Single-line input widget. ''' value = String(default="", help=""" Initial or entered text value. """) callback = Instance(Callback, help=""" A callback to run in the browser whenever the user unfocuses the TextInput widget by hitting Enter or clicking outside of the text box area. """) placeholder = String(default="", help=""" Placeholder for empty input field """)
[docs]class PasswordInput(TextInput): ''' Single-line password input widget. Note: Despite PasswordInput inheriting from TextInput the password cannot be inspected on the field ``value``. Also, note that this field functionally just hides the input on the browser, transmiting safely a password as a callback, e.g., to the a bokeh server would require some secure connection. '''
[docs]class AutocompleteInput(TextInput): ''' Single-line input widget with auto-completion. ''' completions = List(String, help=""" A list of completion strings. This will be used to guide the user upon typing the beginning of a desired value. """)
[docs]class Select(InputWidget): ''' Single-select widget. ''' options = Either( List(Either(String, Tuple(Either(Int,String), String))), Dict(String, List(Either(String, Tuple(Either(Int,String), String)))), help=""" Available selection options. Options may be provided either as a list of possible string values, or as a list of tuples, each of the form ``(value, label)``. In the latter case, the visible widget text for each value will be corresponding given label. Option groupings can be provided by supplying a dictionary object whose values are in the aforementioned list format """) value = String(default="", help=""" Initial or selected value. """) callback = Instance(Callback, help=""" A callback to run in the browser whenever the current Select dropdown value changes. """)
[docs]class MultiSelect(InputWidget): ''' Multi-select widget. ''' options = List(Either(String, Tuple(String, String)), help=""" Available selection options. Options may be provided either as a list of possible string values, or as a list of tuples, each of the form ``(value, label)``. In the latter case, the visible widget text for each value will be corresponding given label. """) value = List(String, help=""" Initial or selected values. """) callback = Instance(Callback, help=""" A callback to run in the browser whenever the current selection value changes. """) size = Int(default=4, help=""" The number of visible options in the dropdown list. (This uses the ``select`` HTML element's ``size`` attribute. Some browsers might not show less than 3 options.) """)
[docs]class DatePicker(InputWidget): ''' Calendar-based date picker widget. ''' value = Date(help=""" The initial or picked date. """) min_date = Date(default=None, help=""" Optional earliest allowable date. """) max_date = Date(default=None, help=""" Optional latest allowable date. """) callback = Instance(Callback, help=""" A callback to run in the browser whenever the current date value changes. """)