Skip to content

Commit b037870

Browse files
committed
update usages
1 parent 6401120 commit b037870

14 files changed

+70
-105
lines changed

docs/examples.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def Wrapper():
122122
def PrintView():
123123
text, set_text = idom.hooks.use_state(print_buffer.getvalue())
124124
print_buffer.set_callback(set_text)
125-
return idom.html.pre({"class": "printout"}, text) if text else idom.html.div()
125+
return idom.html.pre(text, class_="printout") if text else idom.html.div()
126126

127127
return Wrapper()
128128

src/idom/sample.py

+3-5
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,12 @@
88
@component
99
def SampleApp() -> VdomDict:
1010
return html.div(
11-
{"id": "sample", "style": {"padding": "15px"}},
1211
html.h1("Sample Application"),
1312
html.p(
1413
"This is a basic application made with IDOM. Click ",
15-
html.a(
16-
{"href": "https://pypi.org/project/idom/", "target": "_blank"},
17-
"here",
18-
),
14+
html.a("here", href="https://pypi.org/project/idom/", target="_blank"),
1915
" to learn more.",
2016
),
17+
id="sample",
18+
style={"padding": "15px"},
2119
)

tests/test_backend/test__common.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,22 @@ def test_catch_unsafe_relative_path_traversal(tmp_path, bad_path):
4444
),
4545
(
4646
html.head(
47-
html.meta({"charset": "utf-8"}),
47+
html.meta(charset="utf-8"),
4848
html.title("example"),
4949
),
5050
# we strip the head element
5151
'<meta charset="utf-8"><title>example</title>',
5252
),
5353
(
5454
html._(
55-
html.meta({"charset": "utf-8"}),
55+
html.meta(charset="utf-8"),
5656
html.title("example"),
5757
),
5858
'<meta charset="utf-8"><title>example</title>',
5959
),
6060
(
6161
[
62-
html.meta({"charset": "utf-8"}),
62+
html.meta(charset="utf-8"),
6363
html.title("example"),
6464
],
6565
'<meta charset="utf-8"><title>example</title>',

tests/test_backend/test_all.py

+6-8
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ async def display(page, request):
3939
async def test_display_simple_hello_world(display: DisplayFixture):
4040
@idom.component
4141
def Hello():
42-
return idom.html.p({"id": "hello"}, ["Hello World"])
42+
return idom.html.p(["Hello World"], id="hello")
4343

4444
await display.show(Hello)
4545

@@ -56,11 +56,9 @@ async def test_display_simple_click_counter(display: DisplayFixture):
5656
def Counter():
5757
count, set_count = idom.hooks.use_state(0)
5858
return idom.html.button(
59-
{
60-
"id": "counter",
61-
"onClick": lambda event: set_count(lambda old_count: old_count + 1),
62-
},
6359
f"Count: {count}",
60+
id="counter",
61+
on_click=lambda event: set_count(lambda old_count: old_count + 1),
6462
)
6563

6664
await display.show(Counter)
@@ -85,7 +83,7 @@ async def test_use_connection(display: DisplayFixture):
8583
@idom.component
8684
def ShowScope():
8785
conn.current = idom.use_connection()
88-
return html.pre({"id": "scope"}, str(conn.current))
86+
return html.pre(str(conn.current), id="scope")
8987

9088
await display.show(ShowScope)
9189

@@ -99,7 +97,7 @@ async def test_use_scope(display: DisplayFixture):
9997
@idom.component
10098
def ShowScope():
10199
scope.current = idom.use_scope()
102-
return html.pre({"id": "scope"}, str(scope.current))
100+
return html.pre(str(scope.current), id="scope")
103101

104102
await display.show(ShowScope)
105103

@@ -147,7 +145,7 @@ async def test_use_request(display: DisplayFixture, hook_name):
147145
@idom.component
148146
def ShowRoute():
149147
hook_val.current = hook()
150-
return html.pre({"id": "hook"}, str(hook_val.current))
148+
return html.pre(str(hook_val.current), id="hook")
151149

152150
await display.show(ShowRoute)
153151

tests/test_client.py

+6-8
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ async def test_automatic_reconnect(browser: Browser):
2222

2323
@idom.component
2424
def OldComponent():
25-
return idom.html.p({"id": "old-component"}, "old")
25+
return idom.html.p("old", id="old-component")
2626

2727
async with AsyncExitStack() as exit_stack:
2828
server = await exit_stack.enter_async_context(BackendFixture(port=port))
@@ -43,7 +43,7 @@ def OldComponent():
4343
@idom.component
4444
def NewComponent():
4545
state, set_state.current = idom.hooks.use_state(0)
46-
return idom.html.p({"id": f"new-component-{state}"}, f"new-{state}")
46+
return idom.html.p(f"new-{state}", id=f"new-component-{state}")
4747

4848
async with AsyncExitStack() as exit_stack:
4949
server = await exit_stack.enter_async_context(BackendFixture(port=port))
@@ -76,12 +76,10 @@ def ButtonWithChangingColor():
7676
color_toggle, set_color_toggle = idom.hooks.use_state(True)
7777
color = "red" if color_toggle else "blue"
7878
return idom.html.button(
79-
{
80-
"id": "my-button",
81-
"onClick": lambda event: set_color_toggle(not color_toggle),
82-
"style": {"backgroundColor": color, "color": "white"},
83-
},
8479
f"color: {color}",
80+
id="my-button",
81+
on_click=lambda event: set_color_toggle(not color_toggle),
82+
style={"backgroundColor": color, "color": "white"},
8583
)
8684

8785
await display.show(ButtonWithChangingColor)
@@ -117,7 +115,7 @@ async def handle_change(event):
117115
await asyncio.sleep(delay)
118116
set_value(event["target"]["value"])
119117

120-
return idom.html.input({"onChange": handle_change, "id": "test-input"})
118+
return idom.html.input(on_change=handle_change, id="test-input")
121119

122120
await display.show(SomeComponent)
123121

tests/test_core/test_component.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def ComponentWithVarArgsAndKwargs(*args, **kwargs):
4747
async def test_display_simple_hello_world(display: DisplayFixture):
4848
@idom.component
4949
def Hello():
50-
return idom.html.p({"id": "hello"}, ["Hello World"])
50+
return idom.html.p(["Hello World"], id="hello")
5151

5252
await display.show(Hello)
5353

@@ -58,10 +58,10 @@ async def test_pre_tags_are_rendered_correctly(display: DisplayFixture):
5858
@idom.component
5959
def PreFormated():
6060
return idom.html.pre(
61-
{"id": "pre-form-test"},
6261
idom.html.span("this", idom.html.span("is"), "some"),
6362
"pre-formated",
6463
" text",
64+
id="pre-form-test",
6565
)
6666

6767
await display.show(PreFormated)

tests/test_core/test_events.py

+9-21
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def Input():
151151
async def on_key_down(value):
152152
pass
153153

154-
return idom.html.input({"onKeyDown": on_key_down, "id": "input"})
154+
return idom.html.input(on_key_down=on_key_down, id="input")
155155

156156
await display.show(Input)
157157

@@ -170,9 +170,9 @@ async def on_click(event):
170170
set_clicked(True)
171171

172172
if not clicked:
173-
return idom.html.button({"onClick": on_click, "id": "click"}, ["Click Me!"])
173+
return idom.html.button(["Click Me!"], on_click=on_click, id="click")
174174
else:
175-
return idom.html.p({"id": "complete"}, ["Complete"])
175+
return idom.html.p(["Complete"], id="complete")
176176

177177
await display.show(Button)
178178

@@ -194,26 +194,14 @@ def outer_click_is_not_triggered(event):
194194
assert False
195195

196196
outer = idom.html.div(
197-
{
198-
"style": {
199-
"height": "35px",
200-
"width": "35px",
201-
"backgroundColor": "red",
202-
},
203-
"onClick": outer_click_is_not_triggered,
204-
"id": "outer",
205-
},
206197
idom.html.div(
207-
{
208-
"style": {
209-
"height": "30px",
210-
"width": "30px",
211-
"backgroundColor": "blue",
212-
},
213-
"onClick": inner_click_no_op,
214-
"id": "inner",
215-
},
198+
style={"height": "30px", "width": "30px", "backgroundColor": "blue"},
199+
on_click=inner_click_no_op,
200+
id="inner",
216201
),
202+
style={"height": "35px", "width": "35px", "backgroundColor": "red"},
203+
on_click=outer_click_is_not_triggered,
204+
id="outer",
217205
)
218206
return outer
219207

tests/test_core/test_hooks.py

+9-17
Original file line numberDiff line numberDiff line change
@@ -181,18 +181,14 @@ def TestComponent():
181181
render_count.current += 1
182182
return idom.html.div(
183183
idom.html.button(
184-
{
185-
"id": "r_1",
186-
"onClick": event_count_tracker(lambda event: set_state(r_1)),
187-
},
188184
"r_1",
185+
id="r_1",
186+
on_click=event_count_tracker(lambda event: set_state(r_1)),
189187
),
190188
idom.html.button(
191-
{
192-
"id": "r_2",
193-
"onClick": event_count_tracker(lambda event: set_state(r_2)),
194-
},
195189
"r_2",
190+
id="r_2",
191+
on_click=event_count_tracker(lambda event: set_state(r_2)),
196192
),
197193
f"Last state: {'r_1' if state is r_1 else 'r_2'}",
198194
)
@@ -237,9 +233,9 @@ async def on_change(event):
237233
set_message(event["target"]["value"])
238234

239235
if message is None:
240-
return idom.html.input({"id": "input", "onChange": on_change})
236+
return idom.html.input(id="input", on_change=on_change)
241237
else:
242-
return idom.html.p({"id": "complete"}, ["Complete"])
238+
return idom.html.p(["Complete"], id="complete")
243239

244240
await display.show(Input)
245241

@@ -261,13 +257,9 @@ def double_set_state(event):
261257
set_state_2(state_2 + 1)
262258

263259
return idom.html.div(
264-
idom.html.div(
265-
{"id": "first", "data-value": state_1}, f"value is: {state_1}"
266-
),
267-
idom.html.div(
268-
{"id": "second", "data-value": state_2}, f"value is: {state_2}"
269-
),
270-
idom.html.button({"id": "button", "onClick": double_set_state}, "click me"),
260+
idom.html.div(f"value is: {state_1}", id="first", data_value=state_1),
261+
idom.html.div(f"value is: {state_2}", id="second", data_value=state_2),
262+
idom.html.button("click me", id="button", on_click=double_set_state),
271263
)
272264

273265
await display.show(SomeComponent)

tests/test_core/test_layout.py

+11-14
Original file line numberDiff line numberDiff line change
@@ -507,10 +507,8 @@ def bad_trigger():
507507
raise ValueError("Called bad trigger")
508508

509509
children = [
510-
idom.html.button(
511-
{"onClick": good_trigger, "id": "good"}, "good", key="good"
512-
),
513-
idom.html.button({"onClick": bad_trigger, "id": "bad"}, "bad", key="bad"),
510+
idom.html.button("good", key="good", on_click=good_trigger, id="good"),
511+
idom.html.button("bad", key="bad", on_click=bad_trigger, id="bad"),
514512
]
515513

516514
if reverse_children:
@@ -567,7 +565,7 @@ def callback():
567565
def callback():
568566
raise ValueError("Called bad trigger")
569567

570-
return idom.html.button({"onClick": callback, "id": "good"}, "good")
568+
return idom.html.button("good", on_click=callback, id="good")
571569

572570
async with idom.Layout(RootComponent()) as layout:
573571
await layout.render()
@@ -649,7 +647,7 @@ def HasEventHandlerAtRoot():
649647
value, set_value = idom.hooks.use_state(False)
650648
set_value(not value) # trigger renders forever
651649
event_handler.current = weakref(set_value)
652-
button = idom.html.button({"onClick": set_value}, "state is: ", value)
650+
button = idom.html.button("state is: ", value, on_click=set_value)
653651
event_handler.current = weakref(button["eventHandlers"]["onClick"].function)
654652
return button
655653

@@ -671,7 +669,7 @@ def HasNestedEventHandler():
671669
value, set_value = idom.hooks.use_state(False)
672670
set_value(not value) # trigger renders forever
673671
event_handler.current = weakref(set_value)
674-
button = idom.html.button({"onClick": set_value}, "state is: ", value)
672+
button = idom.html.button("state is: ", value, on_click=set_value)
675673
event_handler.current = weakref(button["eventHandlers"]["onClick"].function)
676674
return idom.html.div(idom.html.div(button))
677675

@@ -753,7 +751,7 @@ def ComponentWithBadEventHandler():
753751
def raise_error():
754752
raise Exception("bad event handler")
755753

756-
return idom.html.button({"onClick": raise_error})
754+
return idom.html.button(on_click=raise_error)
757755

758756
with assert_idom_did_log(match_error="bad event handler"):
759757

@@ -850,7 +848,7 @@ def SomeComponent():
850848
return idom.html.div(
851849
[
852850
idom.html.div(
853-
idom.html.input({"onChange": lambda event: None}),
851+
idom.html.input(on_change=lambda event: None),
854852
key=str(i),
855853
)
856854
for i in items
@@ -909,14 +907,14 @@ def Root():
909907
toggle, toggle_type.current = use_toggle(True)
910908
handler = element_static_handler.use(lambda: None)
911909
if toggle:
912-
return html.div(html.button({"onEvent": handler}))
910+
return html.div(html.button(on_event=handler))
913911
else:
914912
return html.div(SomeComponent())
915913

916914
@idom.component
917915
def SomeComponent():
918916
handler = component_static_handler.use(lambda: None)
919-
return html.button({"onAnotherEvent": handler})
917+
return html.button(on_another_event=handler)
920918

921919
async with idom.Layout(Root()) as layout:
922920
await layout.render()
@@ -999,8 +997,7 @@ def Parent():
999997
state, set_state = use_state(0)
1000998
return html.div(
1001999
html.button(
1002-
{"onClick": set_child_key_num.use(lambda: set_state(state + 1))},
1003-
"click me",
1000+
"click me", on_click=set_child_key_num.use(lambda: set_state(state + 1))
10041001
),
10051002
Child("some-key"),
10061003
Child(f"key-{state}"),
@@ -1073,7 +1070,7 @@ async def test_changing_event_handlers_in_the_next_render():
10731070
def Root():
10741071
event_name, set_event_name.current = use_state("first")
10751072
return html.button(
1076-
{event_name: event_handler.use(lambda: did_trigger.set_current(True))}
1073+
**{event_name: event_handler.use(lambda: did_trigger.set_current(True))}
10771074
)
10781075

10791076
async with Layout(Root()) as layout:

tests/test_core/test_serve.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def Counter():
8585
initial_value=0,
8686
)
8787
handler = STATIC_EVENT_HANDLER.use(lambda: change_count(1))
88-
return idom.html.div({EVENT_NAME: handler, "count": count})
88+
return idom.html.div(**{EVENT_NAME: handler, "count": count})
8989

9090

9191
async def test_dispatch():
@@ -115,8 +115,8 @@ async def handle_event():
115115
second_event_did_execute.set()
116116

117117
return idom.html.div(
118-
idom.html.button({"onClick": block_forever}),
119-
idom.html.button({"onClick": handle_event}),
118+
idom.html.button(on_click=block_forever),
119+
idom.html.button(on_click=handle_event),
120120
)
121121

122122
send_queue = asyncio.Queue()

0 commit comments

Comments
 (0)