|
@@ -1,13 +1,14 @@
|
|
from __future__ import annotations
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
+from pathlib import Path
|
|
from typing import Callable, Dict, List, Optional
|
|
from typing import Callable, Dict, List, Optional
|
|
|
|
|
|
-from ..dependencies import register_component
|
|
|
|
|
|
+from ..dependencies import register_vue_component
|
|
from ..events import MouseEventArguments, handle_event
|
|
from ..events import MouseEventArguments, handle_event
|
|
from .mixins.content_element import ContentElement
|
|
from .mixins.content_element import ContentElement
|
|
from .mixins.source_element import SourceElement
|
|
from .mixins.source_element import SourceElement
|
|
|
|
|
|
-register_component('interactive_image', __file__, 'interactive_image.js')
|
|
|
|
|
|
+register_vue_component(name='interactive_image', path=Path(__file__).parent.joinpath('interactive_image.js'))
|
|
|
|
|
|
|
|
|
|
class InteractiveImage(SourceElement, ContentElement):
|
|
class InteractiveImage(SourceElement, ContentElement):
|
|
@@ -33,6 +34,7 @@ class InteractiveImage(SourceElement, ContentElement):
|
|
super().__init__(tag='interactive_image', source=source, content=content)
|
|
super().__init__(tag='interactive_image', source=source, content=content)
|
|
self._props['events'] = events
|
|
self._props['events'] = events
|
|
self._props['cross'] = cross
|
|
self._props['cross'] = cross
|
|
|
|
+ self.use_component('interactive_image')
|
|
|
|
|
|
def handle_mouse(msg: Dict) -> None:
|
|
def handle_mouse(msg: Dict) -> None:
|
|
if on_mouse is None:
|
|
if on_mouse is None:
|