Skip to content

Commit eaad74b

Browse files
committed
EVOL: add IPassword
1 parent 8979aeb commit eaad74b

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ self <= ui.Spinner()
116116
Theses are interactive/reactive fields, which are automatically synced between client and server side, thru a 'value' property
117117

118118
- IText .. an input of type text
119+
- IPassword .. an input of type password
119120
- ITextarea ... a textarea
120121
- IBool ... an input of type checkbox
121122
- IRange ... an input of type range

htagui/all.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from .tabs import Tabs
1515
from .dialog import Dialog
1616
from .splitters import HSplit, VSplit
17-
from .ifields import IText,ITextarea,IRange,IBool,ISelect,IRadios
17+
from .ifields import IText,ITextarea,IRange,IBool,ISelect,IRadios,IPassword
1818
from .fileupload import FileUpload
1919
from .containers import VScroll,VScrollPager, View, Grid
2020
from .sortables import Sortable
@@ -33,5 +33,5 @@ def ui(self):
3333

3434
# Swiper not inluded by default !!!!!
3535

36-
ALL=[JSKEYABLE, App,Form,Tabs,Dialog,HSplit,VSplit,IText,ITextarea,IRange,IBool,ISelect,IRadios,FileUpload,Sortable,VScroll,VScrollPager,View,Grid]
36+
ALL=[JSKEYABLE, App,Form,Tabs,Dialog,HSplit,VSplit,IText,ITextarea,IRange,IBool,ISelect,IRadios,IPassword,FileUpload,Sortable,VScroll,VScrollPager,View,Grid]
3737

htagui/ifields.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,13 @@ def __init__(self, value:str, onchange=lambda ev: None,**k):
7575
ui.Input.__init__(self,_value=value,_type="text",**k)
7676
IField.__init__(self, self, "value", b"this.value",lambda x: str(x) )
7777

78+
class IPassword(ui.Input,IField):
79+
def __init__(self, value:str, onchange=lambda ev: None,**k):
80+
self.onchange = onchange
81+
ui.Input.__init__(self,_value=value,_type="password",**k)
82+
IField.__init__(self, self, "value", b"this.value",lambda x: str(x) )
83+
84+
7885
class ITextarea(ui.Textarea,IField):
7986
def __init__(self, value:str, onchange=lambda ev: None,**k):
8087
self.onchange = onchange

manual_tests.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ def init(self, root, dynamic=False):
3636
OPTS = {1:"v1",2:"v2",3:"v3"}
3737
if dynamic:
3838
self.objects=[
39-
ui.IText("itext", onchange=self.onchange_dynamic,_label="itext"),
40-
ui.ITextarea("itextarea", onchange=self.onchange_dynamic,_label="itextarea"),
39+
ui.IText("itext", onchange=self.onchange_dynamic, _label="itext"),
40+
ui.IPassword("ipass", onchange=self.onchange_dynamic, _label="ipassword"),
41+
ui.ITextarea("itextarea", onchange=self.onchange_dynamic, _label="itextarea"),
4142
ui.IBool(True, onchange=self.onchange_dynamic),
4243
ui.IRange(42, onchange=self.onchange_dynamic),
4344
ui.ISelect(2,OPTS, onchange=self.onchange_dynamic),

0 commit comments

Comments
 (0)