ex4nicegui 0.6.3__tar.gz → 0.6.5__tar.gz

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.
Files changed (155) hide show
  1. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/PKG-INFO +1 -1
  2. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/__init__.py +1 -1
  3. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/dataSource.py +5 -5
  4. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/gsap/gsap.py +4 -4
  5. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/gsap/timeline.py +3 -3
  6. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/EChartsComponent/ECharts.py +3 -3
  7. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/__init__.py +2 -0
  8. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/echarts.py +4 -3
  9. ex4nicegui-0.6.5/ex4nicegui/reactive/officials/element.py +19 -0
  10. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/vfor.py +2 -2
  11. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/utils/clientScope.py +10 -9
  12. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui.egg-info/PKG-INFO +1 -1
  13. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui.egg-info/SOURCES.txt +1 -0
  14. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui.egg-info/requires.txt +1 -1
  15. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/setup.py +1 -1
  16. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/LICENSE +0 -0
  17. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/README.md +0 -0
  18. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/__init__.py +0 -0
  19. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/dataSourceFacade.py +0 -0
  20. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/__init__.py +0 -0
  21. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/containers.py +0 -0
  22. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/layouts.py +0 -0
  23. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/models.py +0 -0
  24. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/text.py +0 -0
  25. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/ui_aggrid.py +0 -0
  26. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/ui_date_picker.js +0 -0
  27. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/ui_date_picker.py +0 -0
  28. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/ui_echarts.py +0 -0
  29. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/ui_radio.py +0 -0
  30. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/ui_range.py +0 -0
  31. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/ui_select.py +0 -0
  32. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/ui_slider.py +0 -0
  33. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/elements/ui_table.py +0 -0
  34. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/index.py +0 -0
  35. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/protocols.py +0 -0
  36. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/bi/types.py +0 -0
  37. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/experimental_/__init__.py +0 -0
  38. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/experimental_/gridLayout/__init__.py +0 -0
  39. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/experimental_/gridLayout/index.py +0 -0
  40. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/gsap/__init__.py +0 -0
  41. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/gsap/timeline.js +0 -0
  42. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/gsap/wrapGsap.js +0 -0
  43. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/layout/__init__.py +0 -0
  44. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/layout/gridFlex/GridFlex.js +0 -0
  45. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/layout/gridFlex/__init__.py +0 -0
  46. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/layout/gridFlex/gridFlex.py +0 -0
  47. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/layout/gridFlex/utils.py +0 -0
  48. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/layout/rxFlex/__init__.py +0 -0
  49. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/layout/rxFlex/index.py +0 -0
  50. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/layout/rxFlex/types.py +0 -0
  51. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/__init__.py +0 -0
  52. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/__init__.py +0 -0
  53. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/d3-color.ems.js +0 -0
  54. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/d3-dispatch.ems.js +0 -0
  55. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/d3-drag.ems.js +0 -0
  56. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/d3-ease.ems.js +0 -0
  57. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/d3-interpolate.ems.js +0 -0
  58. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/d3-selection.ems.js +0 -0
  59. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/d3-timer.ems.js +0 -0
  60. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/d3-transition.ems.js +0 -0
  61. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/d3/d3-zoom.ems.js +0 -0
  62. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/CSSPlugin.js +0 -0
  63. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/CSSRulePlugin.js +0 -0
  64. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/CustomEase.js +0 -0
  65. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/Draggable.js +0 -0
  66. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/EasePack.js +0 -0
  67. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/EaselPlugin.js +0 -0
  68. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/Flip.js +0 -0
  69. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/MotionPathPlugin.js +0 -0
  70. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/Observer.js +0 -0
  71. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/PixiPlugin.js +0 -0
  72. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/ScrollToPlugin.js +0 -0
  73. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/ScrollTrigger.js +0 -0
  74. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/TextPlugin.js +0 -0
  75. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/__init__.py +0 -0
  76. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/all.js +0 -0
  77. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/gsap-core.js +0 -0
  78. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/utils/__init__.py +0 -0
  79. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/utils/matrix.js +0 -0
  80. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/utils/paths.js +0 -0
  81. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/libs/gsap/utils/strings.js +0 -0
  82. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/EChartsComponent/ECharts.js +0 -0
  83. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/EChartsComponent/__init__.py +0 -0
  84. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/UseDraggable/UseDraggable.js +0 -0
  85. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/UseDraggable/UseDraggable.py +0 -0
  86. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/UseDraggable/__init__.py +0 -0
  87. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/dropZone/__init__.py +0 -0
  88. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/dropZone/dropZone.js +0 -0
  89. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/dropZone/dropZone.py +0 -0
  90. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/empty.js +0 -0
  91. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/empty.py +0 -0
  92. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/fileWatcher.py +0 -0
  93. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/local_file_picker.py +0 -0
  94. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/mermaid/__init__.py +0 -0
  95. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/mermaid/mermaid.js +0 -0
  96. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/mermaid/mermaid.py +0 -0
  97. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/__init__.py +0 -0
  98. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/aggrid.py +0 -0
  99. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/base.py +0 -0
  100. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/button.py +0 -0
  101. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/card.py +0 -0
  102. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/checkbox.py +0 -0
  103. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/circular_progress.py +0 -0
  104. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/color_picker.py +0 -0
  105. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/column.py +0 -0
  106. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/date.py +0 -0
  107. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/drawer.py +0 -0
  108. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/expansion.py +0 -0
  109. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/grid.py +0 -0
  110. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/html.js +0 -0
  111. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/html.py +0 -0
  112. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/icon.py +0 -0
  113. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/image.py +0 -0
  114. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/input.py +0 -0
  115. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/knob.py +0 -0
  116. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/label.py +0 -0
  117. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/linear_progress.py +0 -0
  118. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/number.py +0 -0
  119. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/radio.py +0 -0
  120. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/row.py +0 -0
  121. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/select.py +0 -0
  122. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/slider.py +0 -0
  123. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/switch.py +0 -0
  124. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/tab.py +0 -0
  125. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/tab_panel.py +0 -0
  126. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/tab_panels.py +0 -0
  127. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/table.py +0 -0
  128. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/tabs.py +0 -0
  129. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/textarea.py +0 -0
  130. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/upload.py +0 -0
  131. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/officials/utils.py +0 -0
  132. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/q_pagination.py +0 -0
  133. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/rxui.py +0 -0
  134. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/transitionGroup.js +0 -0
  135. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/transitionGroup.py +0 -0
  136. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/useMouse/UseMouse.js +0 -0
  137. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/useMouse/UseMouse.py +0 -0
  138. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/useMouse/__init__.py +0 -0
  139. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/usePagination.py +0 -0
  140. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/utils.py +0 -0
  141. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/vfor.js +0 -0
  142. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/reactive/vmodel.py +0 -0
  143. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/tools/__init__.py +0 -0
  144. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/tools/debug.py +0 -0
  145. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/utils/__init__.py +0 -0
  146. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/utils/apiEffect.py +0 -0
  147. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/utils/asyncComputed.py +0 -0
  148. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/utils/common.py +0 -0
  149. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/utils/effect.py +0 -0
  150. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/utils/scheduler.py +0 -0
  151. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui/utils/signals.py +0 -0
  152. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui.egg-info/dependency_links.txt +0 -0
  153. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui.egg-info/not-zip-safe +0 -0
  154. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/ex4nicegui.egg-info/top_level.txt +0 -0
  155. {ex4nicegui-0.6.3 → ex4nicegui-0.6.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ex4nicegui
3
- Version: 0.6.3
3
+ Version: 0.6.5
4
4
  Summary: Extension library based on nicegui, providing data responsive,BI functionality modules
5
5
  Home-page:
6
6
  Author: carson_jia
@@ -45,4 +45,4 @@ __all__ = [
45
45
  "is_setter_ref",
46
46
  ]
47
47
 
48
- __version__ = "0.6.3"
48
+ __version__ = "0.6.5"
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  from typing import Callable, Dict, List, Optional, Set, cast, TYPE_CHECKING
3
3
  from ex4nicegui import to_ref, ref_computed, on, batch, effect
4
- from nicegui import context as ng_context, Client, ui
4
+ from nicegui import Client, ui
5
5
 
6
6
  from dataclasses import dataclass, field
7
7
  from . import types
@@ -149,7 +149,7 @@ class DataSource:
149
149
  self.__notify_update()
150
150
 
151
151
  def get_component_info_key(self, element_id: types._TElementID):
152
- client_id = ng_context.get_client().id
152
+ client_id = ui.context.client.id
153
153
  return ComponentInfoKey(client_id, element_id)
154
154
 
155
155
  def get_filtered_data(self, element: ui.element):
@@ -175,7 +175,7 @@ class DataSource:
175
175
  update_callback: Optional[_TComponentUpdateCallback] = None,
176
176
  ui_result: Optional[UiResult] = None,
177
177
  ):
178
- ng_client = ng_context.get_client()
178
+ ng_client = ui.context.client
179
179
  client_id = ng_client.id
180
180
 
181
181
  if not self._component_map.has_client_record(client_id):
@@ -198,7 +198,7 @@ class DataSource:
198
198
  filter: Optional[Filter],
199
199
  notify_update=True,
200
200
  ):
201
- client_id = ng_context.get_client().id
201
+ client_id = ui.context.client.id
202
202
  key = ComponentInfoKey(client_id, element_id)
203
203
 
204
204
  if not self._component_map.has_record(key):
@@ -216,7 +216,7 @@ class DataSource:
216
216
  return self
217
217
 
218
218
  def notify_update(self, exclude: Optional[List[UiResult]] = None):
219
- client_id = ng_context.get_client().id
219
+ client_id = ui.context.client.id
220
220
  exclude_infos = [
221
221
  self._component_map.get_info(ComponentInfoKey(client_id, ur.id))
222
222
  for ur in (exclude or [])
@@ -2,7 +2,7 @@ import os
2
2
  from pathlib import Path
3
3
  from typing import Dict, Optional, Union
4
4
  from nicegui.element import Element
5
- from nicegui import context as ng_context
5
+ from nicegui import ui
6
6
  from weakref import WeakKeyDictionary
7
7
 
8
8
 
@@ -45,7 +45,7 @@ class Gsap(
45
45
  def fn():
46
46
  self.run_method("runScript", script)
47
47
 
48
- if ng_context.get_client().has_socket_connection:
48
+ if ui.context.client.has_socket_connection:
49
49
  fn()
50
50
  else:
51
51
  tasks = self._props["scriptTasks"]
@@ -55,7 +55,7 @@ class Gsap(
55
55
  def fn():
56
56
  self.run_method(name, targets, vars)
57
57
 
58
- if ng_context.get_client().has_socket_connection:
58
+ if ui.context.client.has_socket_connection:
59
59
  fn()
60
60
  else:
61
61
  tasks = self._props["tasks"]
@@ -66,7 +66,7 @@ __instance_map = WeakKeyDictionary()
66
66
 
67
67
 
68
68
  def _get_instance():
69
- current_client = ng_context.get_client()
69
+ current_client = ui.context.client
70
70
  ins = __instance_map.get(current_client)
71
71
 
72
72
  if not ins:
@@ -2,7 +2,7 @@ import os
2
2
  from pathlib import Path
3
3
  from typing import Dict, Optional, Union
4
4
  from nicegui.element import Element
5
- from nicegui import context as ng_context
5
+ from nicegui import ui
6
6
 
7
7
 
8
8
  class Timeline(
@@ -40,7 +40,7 @@ class Timeline(
40
40
  def fn():
41
41
  self.run_method("runScript", script)
42
42
 
43
- if ng_context.get_client().has_socket_connection:
43
+ if ui.context.client.has_socket_connection:
44
44
  fn()
45
45
  else:
46
46
  tasks = self._props["scriptTasks"]
@@ -52,7 +52,7 @@ class Timeline(
52
52
  def fn():
53
53
  self.run_method(name, targets, vars)
54
54
 
55
- if ng_context.get_client().has_socket_connection:
55
+ if ui.context.client.has_socket_connection:
56
56
  fn()
57
57
  else:
58
58
  tasks = self._props["tasks"]
@@ -16,7 +16,7 @@ from nicegui.events import (
16
16
  )
17
17
  from nicegui.element import Element
18
18
  from nicegui.awaitable_response import AwaitableResponse
19
- from nicegui import context as ng_context
19
+ from nicegui import ui
20
20
  from pathlib import Path
21
21
  import nicegui
22
22
  import uuid
@@ -102,7 +102,7 @@ class echarts(Element, component="ECharts.js", libraries=libraries): # type: ig
102
102
 
103
103
  client.connect_handlers.remove(on_client_connect) # type: ignore
104
104
 
105
- ng_context.get_client().on_connect(on_client_connect)
105
+ ui.context.client.on_connect(on_client_connect)
106
106
 
107
107
  def echartsOn_handler(e):
108
108
  callbackId = e.args["callbackId"]
@@ -176,7 +176,7 @@ class echarts(Element, component="ECharts.js", libraries=libraries): # type: ig
176
176
  handler: _T_echats_on_callback,
177
177
  query: Optional[Union[str, Dict]] = None,
178
178
  ):
179
- if not ng_context.get_client().has_socket_connection:
179
+ if not ui.context.client.has_socket_connection:
180
180
 
181
181
  def task_func():
182
182
  self.echarts_on(event_name, handler, query)
@@ -50,6 +50,7 @@ from .officials.tabs import TabsBindableUi as tabs
50
50
  from .officials.tab import TabBindableUi as tab
51
51
  from .officials.tab_panels import TabPanelsBindableUi as tab_panels
52
52
  from .officials.tab_panel import TabPanelBindableUi as tab_panel
53
+ from .officials.element import ElementBindableUi as element
53
54
  from .q_pagination import PaginationBindableUi as q_pagination
54
55
 
55
56
  from .local_file_picker import local_file_picker
@@ -67,6 +68,7 @@ pagination = q_pagination
67
68
 
68
69
 
69
70
  __all__ = [
71
+ "element",
70
72
  "tab_panels",
71
73
  "tab_panel",
72
74
  "tabs",
@@ -2,7 +2,7 @@ from pathlib import Path
2
2
  from typing import Any, Callable, Dict, List, Union, cast, Optional
3
3
  from typing_extensions import Literal
4
4
  from ex4nicegui.reactive.utils import ParameterClassifier
5
- from ex4nicegui.utils.apiEffect import ui_effect
5
+ from ex4nicegui.utils.signals import on
6
6
 
7
7
  from ex4nicegui.utils.signals import (
8
8
  ReadonlyRef,
@@ -10,6 +10,7 @@ from ex4nicegui.utils.signals import (
10
10
  ref_computed,
11
11
  _TMaybeRef as TMaybeRef,
12
12
  to_value,
13
+ to_raw,
13
14
  )
14
15
  from .base import BindableUi
15
16
  from ex4nicegui.reactive.EChartsComponent.ECharts import (
@@ -136,10 +137,10 @@ class EChartsBindableUi(BindableUi[echarts]):
136
137
  return super().bind_prop(prop, ref_ui)
137
138
 
138
139
  def bind_options(self, ref_ui: ReadonlyRef[Dict]):
139
- @ui_effect
140
+ @on(ref_ui)
140
141
  def _():
141
142
  ele = self.element
142
- ele.update_options(to_value(ref_ui), self.__update_setting)
143
+ ele.update_options(to_raw(to_value(ref_ui)), self.__update_setting)
143
144
  ele.update()
144
145
 
145
146
  return self
@@ -0,0 +1,19 @@
1
+ from typing import (
2
+ Any,
3
+ )
4
+ from nicegui import ui
5
+ from .base import BindableUi
6
+
7
+
8
+ class ElementBindableUi(BindableUi[ui.element]):
9
+ def __init__(self, tag: str) -> None:
10
+ element = ui.element(tag)
11
+
12
+ super().__init__(element)
13
+
14
+ def __enter__(self):
15
+ self.element.__enter__()
16
+ return self
17
+
18
+ def __exit__(self, *_: Any):
19
+ self.element.__exit__(*_)
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
  from nicegui.element import Element
3
- from nicegui import context
3
+ from nicegui import ui
4
4
  from ex4nicegui.utils.clientScope import _CLIENT_SCOPE_MANAGER
5
5
  from ex4nicegui.utils.signals import (
6
6
  TReadonlyRef,
@@ -158,7 +158,7 @@ class vfor(Generic[_T]):
158
158
  key, element, store, scope = build_element(idx, value)
159
159
  self._store_map[key] = StoreItem(store, element.id, scope)
160
160
 
161
- ng_client = context.get_client()
161
+ ng_client = ui.context.client
162
162
 
163
163
  @on(self._data, deep=True)
164
164
  def _():
@@ -1,6 +1,6 @@
1
1
  from typing import Dict
2
2
  from signe.core.scope import ScopeSuite
3
- from nicegui import Client, context as ng_context
3
+ from nicegui import Client, ui
4
4
 
5
5
 
6
6
  _TClientID = str
@@ -24,18 +24,19 @@ class NgClientScopeManager:
24
24
  # if len(ng_context.get_slot_stack()) <= 0:
25
25
  # return
26
26
 
27
- client = ng_context.get_client()
28
- # if client.shared:
29
- # return
27
+ client = ui.context.client
30
28
 
31
29
  if client.id not in self._client_scope_map:
32
30
  self._client_scope_map[client.id] = NgScopeSuite()
33
31
 
34
- @client.on_disconnect
35
- def _(e: Client):
36
- if e.id in self._client_scope_map:
37
- self._client_scope_map[e.id]._top_scope.dispose()
38
- del self._client_scope_map[e.id]
32
+ # shared clients always not dispose their scope
33
+ if not client.shared:
34
+
35
+ @client.on_disconnect
36
+ def _(e: Client):
37
+ if e.id in self._client_scope_map:
38
+ self._client_scope_map[e.id]._top_scope.dispose()
39
+ del self._client_scope_map[e.id]
39
40
 
40
41
  return self._client_scope_map[client.id]
41
42
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ex4nicegui
3
- Version: 0.6.3
3
+ Version: 0.6.5
4
4
  Summary: Extension library based on nicegui, providing data responsive,BI functionality modules
5
5
  Home-page:
6
6
  Author: carson_jia
@@ -113,6 +113,7 @@ ex4nicegui/reactive/officials/column.py
113
113
  ex4nicegui/reactive/officials/date.py
114
114
  ex4nicegui/reactive/officials/drawer.py
115
115
  ex4nicegui/reactive/officials/echarts.py
116
+ ex4nicegui/reactive/officials/element.py
116
117
  ex4nicegui/reactive/officials/expansion.py
117
118
  ex4nicegui/reactive/officials/grid.py
118
119
  ex4nicegui/reactive/officials/html.js
@@ -1,4 +1,4 @@
1
1
  signe>=0.4.14
2
- nicegui>=1.4.0
2
+ nicegui>=1.4.23
3
3
  typing_extensions
4
4
  executing
@@ -21,7 +21,7 @@ def get_data_files(base):
21
21
  readme = Path("README.en.md").read_text("utf8")
22
22
 
23
23
 
24
- requirements = ["signe>=0.4.14", "nicegui>=1.4.0", "typing_extensions", "executing"]
24
+ requirements = ["signe>=0.4.14", "nicegui>=1.4.23", "typing_extensions", "executing"]
25
25
 
26
26
  test_requirements = ["pytest>=3", "playwright", "pandas", "executing"]
27
27
 
File without changes
File without changes
File without changes