Browse Source

support and demonstrate converters

Falko Schindler 4 years ago
parent
commit
877e6172ce
3 changed files with 13 additions and 12 deletions
  1. 1 0
      main.py
  2. 6 6
      nicegui/elements/label.py
  3. 6 6
      nicegui/elements/value_element.py

+ 1 - 0
main.py

@@ -51,6 +51,7 @@ with ui.row():
         with ui.row():
         with ui.row():
             c = ui.checkbox('c1')
             c = ui.checkbox('c1')
             ui.switch('c2').bind_value(c.value)
             ui.switch('c2').bind_value(c.value)
+            ui.slider(min=0, max=1, value=0.5, step=0.01).bind_value_to(c.value, forward=lambda f: f > 0.5)
         with ui.row():
         with ui.row():
             model = type('Model', (), {'value': 1})  # one-liner to define an object with an attribute "value"
             model = type('Model', (), {'value': 1})  # one-liner to define an object with an attribute "value"
             ui.radio({1: 'a', 2: 'b', 3: 'c'}).bind_value(model.value)
             ui.radio({1: 'a', 2: 'b', 3: 'c'}).bind_value(model.value)

+ 6 - 6
nicegui/elements/label.py

@@ -30,17 +30,17 @@ class Label(Element):
 
 
         self.text = text
         self.text = text
 
 
-    def bind_text_to(self, target):
+    def bind_text_to(self, target, forward=lambda x: x):
 
 
-        self.text.bind_to(target, nesting=1)
+        self.text.bind_to(target, forward=forward, nesting=1)
         return self
         return self
 
 
-    def bind_text_from(self, target):
+    def bind_text_from(self, target, forward=lambda x: x, backward=lambda x: x):
 
 
-        self.text.bind_from(target, nesting=1)
+        self.text.bind_from(target, forward=forward, backward=backward, nesting=1)
         return self
         return self
 
 
-    def bind_text(self, target):
+    def bind_text(self, target, backward=lambda x: x):
 
 
-        self.text.bind(target, nesting=1)
+        self.text.bind(target, backward=backward, nesting=1)
         return self
         return self

+ 6 - 6
nicegui/elements/value_element.py

@@ -34,17 +34,17 @@ class ValueElement(Element):
             except Exception:
             except Exception:
                 traceback.print_exc()
                 traceback.print_exc()
 
 
-    def bind_value_to(self, target):
+    def bind_value_to(self, target, forward=lambda x: x):
 
 
-        self.value.bind_to(target, nesting=1)
+        self.value.bind_to(target, forward=forward, nesting=1)
         return self
         return self
 
 
-    def bind_value_from(self, target):
+    def bind_value_from(self, target, backward=lambda x: x):
 
 
-        self.value.bind_from(target, nesting=1)
+        self.value.bind_from(target, backward=backward, nesting=1)
         return self
         return self
 
 
-    def bind_value(self, target):
+    def bind_value(self, target, forward=lambda x: x, backward=lambda x: x):
 
 
-        self.value.bind(target, nesting=1)
+        self.value.bind(target, forward=forward, backward=backward, nesting=1)
         return self
         return self