diff --git a/large_image/widgets/components.py b/large_image/widgets/components.py index 33effd1dd..8bdafbd39 100644 --- a/large_image/widgets/components.py +++ b/large_image/widgets/components.py @@ -1,18 +1,19 @@ import ipyvue import traitlets from pathlib import Path +from typing import Callable, List, Union -class DualInput(ipyvue.VueTemplate): +class DualInput(ipyvue.VueTemplate): # type: ignore template_file = __file__, 'DualInput.vue' label = traitlets.Unicode(default_value='Value').tag(sync=True) currentValue = traitlets.Int(default_value=0).tag(sync=True) valueMax = traitlets.Int(default_value=10).tag(sync=True) - sliderLabels = traitlets.List(default_value=[]).tag(sync=True) + sliderLabels = traitlets.List(traitlets.Unicode, default_value=[]).tag(sync=True) maxMerge = traitlets.Bool(default_value=False).tag(sync=True) -class FrameSelector(ipyvue.VueTemplate, traitlets.HasTraits): +class FrameSelector(ipyvue.VueTemplate ): # type: ignore template_file = __file__, 'FrameSelector.vue' components = traitlets.Dict({ 'DualInput': DualInput().template.template, @@ -20,7 +21,7 @@ class FrameSelector(ipyvue.VueTemplate, traitlets.HasTraits): imageMetadata = traitlets.Dict().tag(sync=True) currentFrame = traitlets.Int(default_value=0).tag(sync=True) - updateFrameCallback = None + updateFrameCallback: Union[Callable, None] = None def vue_frameUpdate(self, data=None): if self.updateFrameCallback is not None: diff --git a/requirements-test.txt b/requirements-test.txt index 5bacf78da..edab9cf60 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -33,6 +33,7 @@ matplotlib pylibmc>=1.5.1 redis simplejpeg +ipyvue # External dependencies pip>=9