ex4nicegui 0.8.3__py3-none-any.whl → 0.8.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ex4nicegui/reactive/__init__.py +3 -0
- ex4nicegui/reactive/base.py +13 -0
- ex4nicegui/reactive/officials/range.py +45 -0
- {ex4nicegui-0.8.3.dist-info → ex4nicegui-0.8.4.dist-info}/METADATA +1 -1
- {ex4nicegui-0.8.3.dist-info → ex4nicegui-0.8.4.dist-info}/RECORD +7 -6
- {ex4nicegui-0.8.3.dist-info → ex4nicegui-0.8.4.dist-info}/LICENSE +0 -0
- {ex4nicegui-0.8.3.dist-info → ex4nicegui-0.8.4.dist-info}/WHEEL +0 -0
ex4nicegui/reactive/__init__.py
CHANGED
|
@@ -58,6 +58,8 @@ from .officials.tooltip import TooltipBindableUi as tooltip
|
|
|
58
58
|
from .officials.toggle import ToggleBindableUi as toggle
|
|
59
59
|
from .officials.avatar import AvatarBindableUi as avatar
|
|
60
60
|
from .officials.badge import BadgeBindableUi as badge
|
|
61
|
+
from .officials.range import RangeBindableUi as range
|
|
62
|
+
|
|
61
63
|
|
|
62
64
|
from .local_file_picker import local_file_picker
|
|
63
65
|
from .UseDraggable.UseDraggable import use_draggable
|
|
@@ -139,4 +141,5 @@ __all__ = [
|
|
|
139
141
|
"toggle",
|
|
140
142
|
"avatar",
|
|
141
143
|
"badge",
|
|
144
|
+
"range",
|
|
142
145
|
]
|
ex4nicegui/reactive/base.py
CHANGED
|
@@ -27,6 +27,7 @@ from ex4nicegui.utils.clientScope import new_scope
|
|
|
27
27
|
from ex4nicegui.utils.types import _TMaybeRef as TMaybeRef
|
|
28
28
|
from nicegui import Tailwind, ui
|
|
29
29
|
from nicegui.elements.mixins.text_element import TextElement
|
|
30
|
+
from nicegui.elements.mixins.value_element import ValueElement
|
|
30
31
|
from ex4nicegui.reactive.services.reactive_service import inject_handle_delete
|
|
31
32
|
from ex4nicegui.reactive.scopedStyle import ScopedStyle
|
|
32
33
|
from ex4nicegui.reactive.mixins.disableable import DisableableMixin
|
|
@@ -223,6 +224,18 @@ class BindableUi(Generic[TWidget]):
|
|
|
223
224
|
cast(TextElement, self.element).set_text(to_value(value))
|
|
224
225
|
self.element.update()
|
|
225
226
|
|
|
227
|
+
return self
|
|
228
|
+
|
|
229
|
+
if prop == "value" and isinstance(self.element, ValueElement):
|
|
230
|
+
|
|
231
|
+
@self._ui_effect
|
|
232
|
+
def _():
|
|
233
|
+
element = cast(ValueElement, self.element)
|
|
234
|
+
element.set_value(to_value(value))
|
|
235
|
+
self.element.update()
|
|
236
|
+
|
|
237
|
+
return self
|
|
238
|
+
|
|
226
239
|
@self._ui_effect
|
|
227
240
|
def _():
|
|
228
241
|
element = cast(ui.element, self.element)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from typing import Any, Callable, Optional, Dict, cast
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
from ex4nicegui.utils.signals import (
|
|
5
|
+
_TMaybeRef as TMaybeRef,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
from nicegui import ui
|
|
9
|
+
from ex4nicegui.reactive.base import BindableUi, DisableableMixin
|
|
10
|
+
from ex4nicegui.reactive.services.reactive_service import ParameterClassifier
|
|
11
|
+
from ex4nicegui.reactive.mixins.value_element import ValueElementMixin
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class RangeBindableUi(
|
|
15
|
+
BindableUi[ui.range],
|
|
16
|
+
DisableableMixin,
|
|
17
|
+
ValueElementMixin[Dict[str, int]],
|
|
18
|
+
):
|
|
19
|
+
def __init__(
|
|
20
|
+
self,
|
|
21
|
+
*,
|
|
22
|
+
min: TMaybeRef[float], # pylint: disable=redefined-builtin
|
|
23
|
+
max: TMaybeRef[float], # pylint: disable=redefined-builtin
|
|
24
|
+
step: TMaybeRef[float] = 1.0,
|
|
25
|
+
value: Optional[TMaybeRef[Dict[str, int]]] = None,
|
|
26
|
+
on_change: Optional[Callable[..., Any]] = None,
|
|
27
|
+
) -> None:
|
|
28
|
+
pc = ParameterClassifier(
|
|
29
|
+
locals(),
|
|
30
|
+
maybeRefs=["min", "max", "step", "value"],
|
|
31
|
+
v_model=("value", "on_change"),
|
|
32
|
+
events=["on_change"],
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
value_kws = pc.get_values_kws()
|
|
36
|
+
|
|
37
|
+
element = ui.range(**value_kws)
|
|
38
|
+
super().__init__(element) # type: ignore
|
|
39
|
+
|
|
40
|
+
for key, value in pc.get_bindings().items():
|
|
41
|
+
self.bind_prop(key, value) # type: ignore
|
|
42
|
+
|
|
43
|
+
@property
|
|
44
|
+
def value(self):
|
|
45
|
+
return cast(Dict[str, int], self.element.value)
|
|
@@ -70,8 +70,8 @@ ex4nicegui/libs/gsap/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
|
70
70
|
ex4nicegui/libs/gsap/utils/matrix.js,sha256=77scrxbQZXx4ex5HkvnT9IkhMG1rQoDNp4TSYgUeYVk,15235
|
|
71
71
|
ex4nicegui/libs/gsap/utils/paths.js,sha256=2SPaRHQ7zgba9cH8hGhkTYPCZdrrEhE2qhh6ECAEvSA,49314
|
|
72
72
|
ex4nicegui/libs/gsap/utils/strings.js,sha256=47G9slz5ltG9mDSwrfQDtWzzdV5QJ-AIMLRMNK0VSiM,10472
|
|
73
|
-
ex4nicegui/reactive/__init__.py,sha256=
|
|
74
|
-
ex4nicegui/reactive/base.py,sha256=
|
|
73
|
+
ex4nicegui/reactive/__init__.py,sha256=8o_kpKvzjfLtHNAzmDYcmHRbfBbnBNdAH6D1O5cCaag,4445
|
|
74
|
+
ex4nicegui/reactive/base.py,sha256=CQmWhrKHNMF2ql7O6VOKEOBdEcc3-yagOcERpnUPYus,16323
|
|
75
75
|
ex4nicegui/reactive/deferredTask.py,sha256=g78TTG1EIkBxjPih01xmrCZw9OxQG93veSVSELWKfcU,987
|
|
76
76
|
ex4nicegui/reactive/dropZone/dropZone.js,sha256=7rSpFJX-Fk_W_NGZhOTyuEw0bzR-YUc8ZYPzQG9KzE0,2713
|
|
77
77
|
ex4nicegui/reactive/dropZone/dropZone.py,sha256=hg9UKTayff8v8Ek-n38h_3wX1Qmiotvdyv1Hsqilh5Y,2590
|
|
@@ -119,6 +119,7 @@ ex4nicegui/reactive/officials/label.py,sha256=kCair4NpFB7bvsPukMFcDBqDXk2BxOLzBQ
|
|
|
119
119
|
ex4nicegui/reactive/officials/linear_progress.py,sha256=T-z8_68FxSwdFH0hBFMA2X0JEeLoVFpJyya5RHlf7U8,2045
|
|
120
120
|
ex4nicegui/reactive/officials/number.py,sha256=L_uMY-t5SONENI3b44DjSi7JwcdfYAldGZCvqX1h6Dw,2796
|
|
121
121
|
ex4nicegui/reactive/officials/radio.py,sha256=l_PnmnirZ1_CYA0_jxbDfSVgM7m4NHzNOnCrNRyAmfI,1889
|
|
122
|
+
ex4nicegui/reactive/officials/range.py,sha256=48EgNJc-vBZwAqewPtLjr4oQwEiAsEl6e0-AGpr0u0s,1405
|
|
122
123
|
ex4nicegui/reactive/officials/row.py,sha256=ZWJnb6nC9XMfmRmzeVKnHwUnxrCpbxaEBJ3lSVj5m5s,1384
|
|
123
124
|
ex4nicegui/reactive/officials/select.py,sha256=pS9feUPcePIMxOTw4cZSKEIPAHf8G_CrkfNVSLkYY-Q,3130
|
|
124
125
|
ex4nicegui/reactive/officials/slider.py,sha256=9pA7CHlfkKY-kLQGWn4VOnMa2-tXHI04R1YA4xENIWI,2871
|
|
@@ -177,7 +178,7 @@ ex4nicegui/utils/scheduler.py,sha256=1gyq7Y2BkbwmPK_Q9kpRpc1MOC9H7xcpxuix-RZhN9k
|
|
|
177
178
|
ex4nicegui/utils/signals.py,sha256=Jz0jKFPrJIRV0Gye62Bgk2kGgod1KBvDhnF-W3lRm04,7373
|
|
178
179
|
ex4nicegui/utils/types.py,sha256=pE5WOSbcTHxaAhnT24FaZEd1B2Z_lTcsd46w0OKiMyc,359
|
|
179
180
|
ex4nicegui/version.py,sha256=NE7u1piESstg3xCtf5hhV4iedGs2qJQw9SiC3ZSpiio,90
|
|
180
|
-
ex4nicegui-0.8.
|
|
181
|
-
ex4nicegui-0.8.
|
|
182
|
-
ex4nicegui-0.8.
|
|
183
|
-
ex4nicegui-0.8.
|
|
181
|
+
ex4nicegui-0.8.4.dist-info/LICENSE,sha256=0KDDElS2dl-HIsWvbpy8ywbLzJMBFzXLev57LnMIZXs,1094
|
|
182
|
+
ex4nicegui-0.8.4.dist-info/METADATA,sha256=cBVnP2mHqRcq4eY9VLw6NL5F_8xk9bpk3vUllBnjfkc,44094
|
|
183
|
+
ex4nicegui-0.8.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
184
|
+
ex4nicegui-0.8.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|