Skip to content

Commit

Permalink
Fix value_throttled in pn.depends decorator (#2085)
Browse files Browse the repository at this point in the history
  • Loading branch information
hoxbro authored Mar 15, 2021
1 parent f133c3f commit 2936d18
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 13 deletions.
17 changes: 11 additions & 6 deletions panel/widgets/input.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
NumericInput as _BkNumericInput)

from ..layout import Column
from ..util import as_unicode
from ..util import param_reprs, as_unicode
from .base import Widget, CompositeWidget


Expand Down Expand Up @@ -245,25 +245,30 @@ def __init__(self, **params):
params['value_throttled'] = params['value']
super().__init__(**params)

def __repr__(self, depth=0):
return '{cls}({params})'.format(cls=type(self).__name__,
params=', '.join(param_reprs(self, ['value_throttled'])))

def _update_model(self, events, msg, root, model, doc, comm):
if 'value_throttled' in msg:
del msg['value_throttled']

return super()._update_model(events, msg, root, model, doc, comm)


class IntInput(_SpinnerBase, _IntInputBase):

step = param.Integer(default=1)

value_throttled = param.Integer(default=None, constant=True)

_rename = dict(_NumericInputBase._rename, value_throttled=None)



class FloatInput(_SpinnerBase, _FloatInputBase):

step = param.Number(default=0.1)

value_throttled = param.Number(default=None, constant=True)

_rename = dict(_NumericInputBase._rename, value_throttled=None)


class NumberInput(_SpinnerBase):

Expand Down
25 changes: 18 additions & 7 deletions panel/widgets/slider.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,13 @@

from ..config import config
from ..io import state
from ..util import unicode_repr, value_as_datetime, value_as_date
from ..util import param_reprs, unicode_repr, value_as_datetime, value_as_date
from ..viewable import Layoutable
from .base import Widget, CompositeWidget
from ..layout import Column
from .input import StaticText



class _SliderBase(Widget):

bar_color = param.Color(default="#e6e6e6", doc="""
Expand Down Expand Up @@ -54,6 +53,16 @@ def __init__(self, **params):
params['value_throttled'] = params['value']
super().__init__(**params)

def __repr__(self, depth=0):
return '{cls}({params})'.format(cls=type(self).__name__,
params=', '.join(param_reprs(self, ['value_throttled'])))

def _update_model(self, events, msg, root, model, doc, comm):
if 'value_throttled' in msg:
del msg['value_throttled']

return super()._update_model(events, msg, root, model, doc, comm)


class ContinuousSlider(_SliderBase):

Expand Down Expand Up @@ -116,7 +125,7 @@ class FloatSlider(ContinuousSlider):

step = param.Number(default=0.1)

_rename = {'name': 'title', 'value_throttled': None}
_rename = {'name': 'title'}


class IntSlider(ContinuousSlider):
Expand All @@ -131,7 +140,7 @@ class IntSlider(ContinuousSlider):

step = param.Integer(default=1)

_rename = {'name': 'title', 'value_throttled': None}
_rename = {'name': 'title'}

def _process_property_change(self, msg):
msg = super(_SliderBase, self)._process_property_change(msg)
Expand All @@ -153,7 +162,7 @@ class DateSlider(_SliderBase):

end = param.Date(default=None)

_rename = {'name': 'title', 'value_throttled': None}
_rename = {'name': 'title'}

_source_transforms = {'value': None, 'value_throttled': None, 'start': None, 'end': None}

Expand Down Expand Up @@ -349,7 +358,7 @@ class RangeSlider(_SliderBase):

step = param.Number(default=0.1)

_rename = {'name': 'title', 'value_throttled': None}
_rename = {'name': 'title'}

_widget_type = _BkRangeSlider

Expand Down Expand Up @@ -406,7 +415,7 @@ class DateRangeSlider(_SliderBase):
_source_transforms = {'value': None, 'value_throttled': None,
'start': None, 'end': None, 'step': None}

_rename = {'name': 'title', 'value_throttled': None}
_rename = {'name': 'title'}

_widget_type = _BkDateRangeSlider

Expand All @@ -420,6 +429,8 @@ def _process_param_change(self, msg):
msg = super()._process_param_change(msg)
if msg.get('value') == (None, None):
del msg['value']
if msg.get('value_throttled') == (None, None):
del msg['value_throttled']
return msg

def _process_property_change(self, msg):
Expand Down

0 comments on commit 2936d18

Please sign in to comment.