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.
@@ -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
  ]
@@ -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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ex4nicegui
3
- Version: 0.8.3
3
+ Version: 0.8.4
4
4
  Summary: Extension library based on nicegui, providing data responsive,BI functionality modules
5
5
  Home-page: https://github.com/CrystalWindSnake/ex4nicegui
6
6
  License: MIT
@@ -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=_VDZ79Gp9lo2NlaKKKT6rvrMWVNkUzTBHQnn0e6Q8Gk,4374
74
- ex4nicegui/reactive/base.py,sha256=aaNgolaDQMuMy_c2XCAtdRpOSXsn2engdJZoWqj9WU8,15926
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.3.dist-info/LICENSE,sha256=0KDDElS2dl-HIsWvbpy8ywbLzJMBFzXLev57LnMIZXs,1094
181
- ex4nicegui-0.8.3.dist-info/METADATA,sha256=7Za7-7oAslhffh2RB0-PCPzxhsjCxLx_hA8c0uFgbws,44094
182
- ex4nicegui-0.8.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
183
- ex4nicegui-0.8.3.dist-info/RECORD,,
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,,