1
0
Эх сурвалжийг харах

Merge branch 'main' of github.com:zauberzeug/nicegui into main

Rodja Trappe 4 жил өмнө
parent
commit
282fe95fb9

+ 6 - 2
nicegui/elements/bool_element.py

@@ -4,9 +4,13 @@ from .value_element import ValueElement
 
 class BoolElement(ValueElement):
 
-    def __init__(self, view: jp.HTMLBaseComponent, *, value: bool, on_change: Callable):
+    def __init__(self,
+                 view: jp.HTMLBaseComponent,
+                 design: str,
+                 value: bool,
+                 on_change: Callable):
 
-        super().__init__(view, value=value, on_change=on_change)
+        super().__init__(view, design, value, on_change)
 
     def set_view_value(self, value: bool):
 

+ 1 - 2
nicegui/elements/button.py

@@ -19,7 +19,6 @@ class Button(Element):
             label=text,
             color=color,
             text_color=text_color,
-            **{key: True for key in design.split()},
         )
 
         if icon is not None:
@@ -31,4 +30,4 @@ class Button(Element):
         if on_click is not None:
             view.on('click', handle_exceptions(provide_arguments(on_click)))
 
-        super().__init__(view)
+        super().__init__(view, design)

+ 2 - 2
nicegui/elements/card.py

@@ -3,8 +3,8 @@ from .group import Group
 
 class Card(Group):
 
-    def __init__(self):
+    def __init__(self, design: str = ''):
 
         view = jp.QCard(classes='column items-start q-pa-md', style='gap: 1em', delete_flag=False)
 
-        super().__init__(view)
+        super().__init__(view, design)

+ 6 - 2
nicegui/elements/checkbox.py

@@ -4,8 +4,12 @@ from .bool_element import BoolElement
 
 class Checkbox(BoolElement):
 
-    def __init__(self, text: str = '', value: bool = False, on_change: Callable = None):
+    def __init__(self,
+                 text: str = '',
+                 value: bool = False,
+                 design: str = '',
+                 on_change: Callable = None):
 
         view = jp.QCheckbox(text=text, input=self.handle_change)
 
-        super().__init__(view, value=value, on_change=on_change)
+        super().__init__(view, design, value, on_change)

+ 7 - 2
nicegui/elements/choice_element.py

@@ -4,14 +4,19 @@ from .value_element import ValueElement
 
 class ChoiceElement(ValueElement):
 
-    def __init__(self, view: jp.HTMLBaseComponent, *, value: Any, options: Union[List, Dict], on_change: Callable):
+    def __init__(self,
+                 view: jp.HTMLBaseComponent,
+                 design: str,
+                 value: Any,
+                 options: Union[List, Dict],
+                 on_change: Callable):
 
         if isinstance(options, list):
             view.options = [{'label': option, 'value': option} for option in options]
         else:
             view.options = [{'label': value, 'value': key} for key, value in options.items()]
 
-        super().__init__(view, value=value, on_change=on_change)
+        super().__init__(view, design, value, on_change)
 
     def set_view_value(self, value: any):
 

+ 1 - 1
nicegui/elements/column.py

@@ -7,4 +7,4 @@ class Column(Group):
 
         view = jp.QDiv(classes='column items-start', style='gap: 1em', delete_flag=False)
 
-        super().__init__(view)
+        super().__init__(view, '')

+ 2 - 1
nicegui/elements/element.py

@@ -7,11 +7,12 @@ class Element:
     view_stack = []
     all_bindings = []
 
-    def __init__(self, view: jp.HTMLBaseComponent):
+    def __init__(self, view: jp.HTMLBaseComponent, design: str):
 
         self.parent_view = self.view_stack[-1]
         self.parent_view.add(view)
         view.add_page(self.wp)
+        [setattr(view, key, True) for key in design.split()]
         self.view = view
 
         self.visible = True

+ 7 - 2
nicegui/elements/float_element.py

@@ -4,11 +4,16 @@ from .value_element import ValueElement
 
 class FloatElement(ValueElement):
 
-    def __init__(self, view: jp.HTMLBaseComponent, *, value: float, format: str = None, on_change: Callable):
+    def __init__(self,
+                 view: jp.HTMLBaseComponent,
+                 design: str,
+                 value: float,
+                 format: str,
+                 on_change: Callable):
 
         self.format = format
 
-        super().__init__(view, value=value, on_change=on_change)
+        super().__init__(view, design, value, on_change)
 
     def set_view_value(self, value: float):
 

+ 1 - 1
nicegui/elements/icon.py

@@ -7,4 +7,4 @@ class Icon(Element):
 
         view = jp.QIcon(name=name, classes=f'q-pt-xs', size=size)
 
-        super().__init__(view)
+        super().__init__(view, '')

+ 1 - 2
nicegui/elements/input.py

@@ -16,8 +16,7 @@ class Input(StringElement):
             label=label,
             placeholder=placeholder,
             value=value,
-            **{key: True for key in design.split()},
             change=self.handle_change,
         )
 
-        super().__init__(view, value=value, on_change=on_change)
+        super().__init__(view, design, value, on_change)

+ 4 - 2
nicegui/elements/label.py

@@ -4,7 +4,9 @@ from .element import Element
 
 class Label(Element):
 
-    def __init__(self, text: str = '', typography: Union[str, List[str]] = []):
+    def __init__(self,
+                 text: str = '',
+                 typography: Union[str, List[str]] = []):
 
         if isinstance(typography, str):
             typography = [typography]
@@ -12,7 +14,7 @@ class Label(Element):
 
         view = jp.Div(text=text, classes=classes)
 
-        super().__init__(view)
+        super().__init__(view, '')
 
     @property
     def text(self):

+ 1 - 1
nicegui/elements/link.py

@@ -12,4 +12,4 @@ class Link(Element):
         classes = ' '.join('text-' + t for t in typography)
         view = jp.A(text=text, href=href, classes=classes)
 
-        super().__init__(view)
+        super().__init__(view, '')

+ 1 - 2
nicegui/elements/number.py

@@ -17,11 +17,10 @@ class Number(FloatElement):
             type='number',
             label=label,
             placeholder=placeholder,
-            **{key: True for key in design.split()},
             change=self.handle_change,
         )
 
-        super().__init__(view, value=value, format=format, on_change=on_change)
+        super().__init__(view, design, value, format, on_change)
 
     def handle_change(self, msg):
 

+ 1 - 1
nicegui/elements/plot.py

@@ -13,7 +13,7 @@ class Plot(Element):
         view = jp.Matplotlib()
         view.set_figure(self.fig)
 
-        super().__init__(view)
+        super().__init__(view, '')
 
     def __enter__(self):
 

+ 6 - 2
nicegui/elements/radio.py

@@ -4,8 +4,12 @@ from .choice_element import ChoiceElement
 
 class Radio(ChoiceElement):
 
-    def __init__(self, options: Union[List, Dict], value: any = None, on_change: Callable = None):
+    def __init__(self,
+                 options: Union[List, Dict],
+                 value: any = None,
+                 design: str = '',
+                 on_change: Callable = None):
 
         view = jp.QOptionGroup(options=options, input=self.handle_change)
 
-        super().__init__(view, value=value, options=options, on_change=on_change)
+        super().__init__(view, design, value, options, on_change)

+ 1 - 1
nicegui/elements/row.py

@@ -7,4 +7,4 @@ class Row(Group):
 
         view = jp.QDiv(classes='row items-start', style='gap: 1em', delete_flag=False)
 
-        super().__init__(view)
+        super().__init__(view, '')

+ 6 - 2
nicegui/elements/select.py

@@ -4,8 +4,12 @@ from .choice_element import ChoiceElement
 
 class Select(ChoiceElement):
 
-    def __init__(self, options: Union[List, Dict], value: any = None, on_change: Callable = None):
+    def __init__(self,
+                 options: Union[List, Dict],
+                 value: any = None,
+                 design: str = '',
+                 on_change: Callable = None):
 
         view = jp.QSelect(options=options, input=self.handle_change)
 
-        super().__init__(view, value=value, options=options, on_change=on_change)
+        super().__init__(view, design, value, options, on_change)

+ 2 - 1
nicegui/elements/slider.py

@@ -10,8 +10,9 @@ class Slider(FloatElement):
                  max: float,
                  value: float = None,
                  step: float = 1,
+                 design: str = '',
                  on_change: Callable = None):
 
         view = jp.QSlider(min=min, max=max, step=step, change=self.handle_change)
 
-        super().__init__(view, value=value, on_change=on_change)
+        super().__init__(view, design, value, None, on_change)

+ 6 - 2
nicegui/elements/string_element.py

@@ -4,9 +4,13 @@ from .value_element import ValueElement
 
 class StringElement(ValueElement):
 
-    def __init__(self, view: jp.HTMLBaseComponent, *, value: float, on_change: Callable):
+    def __init__(self,
+                 view: jp.HTMLBaseComponent,
+                 design: str,
+                 value: float,
+                 on_change: Callable):
 
-        super().__init__(view, value=value, on_change=on_change)
+        super().__init__(view, design, value, on_change)
 
     def set_view_value(self, value: str):
 

+ 6 - 2
nicegui/elements/switch.py

@@ -4,8 +4,12 @@ from .bool_element import BoolElement
 
 class Switch(BoolElement):
 
-    def __init__(self, text: str = '', value: bool = False, on_change: Callable = None):
+    def __init__(self,
+                 text: str = '',
+                 value: bool = False,
+                 design: str = '',
+                 on_change: Callable = None):
 
         view = jp.QToggle(text=text, input=self.handle_change)
 
-        super().__init__(view, value=value, on_change=on_change)
+        super().__init__(view, design, value, on_change)

+ 6 - 2
nicegui/elements/toggle.py

@@ -4,8 +4,12 @@ from .choice_element import ChoiceElement
 
 class Toggle(ChoiceElement):
 
-    def __init__(self, options: Union[List, Dict], value: any = None, on_change: Callable = None):
+    def __init__(self,
+                 options: Union[List, Dict],
+                 value: any = None,
+                 design: str = '',
+                 on_change: Callable = None):
 
         view = jp.QBtnToggle(input=self.handle_change)
 
-        super().__init__(view, value=value, options=options, on_change=on_change)
+        super().__init__(view, design, value, options, on_change)

+ 2 - 2
nicegui/elements/value_element.py

@@ -8,11 +8,11 @@ class ValueElement(Element):
 
     def __init__(self,
                  view: jp.HTMLBaseComponent,
-                 *,
+                 design: str,
                  value: Any,
                  on_change: Callable):
 
-        super().__init__(view)
+        super().__init__(view, design)
 
         self.on_change = on_change
         self.value = value