Skip to content

Commit 33956c8

Browse files
Act on newer Arizona interface constraints
Expects a recent pull request to be merged: arizona-framework/arizona#104
1 parent d6d0263 commit 33956c8

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

src/arizona_example_live_counter.erl

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,17 @@
2020
-spec mount(Socket) -> Mounted
2121
when Socket :: arizona_socket:t(),
2222
Mounted :: {ok, arizona_socket:t()}.
23-
mount(#{assigns := Assigns} = Socket) ->
24-
Count = maps:get(count, Assigns, 0),
25-
{ok, arizona_socket:assign(count, Count, Socket)}.
23+
mount(Socket) ->
24+
Count = arizona_socket:get_assign(count, Socket, 0),
25+
{ok, arizona_socket:put_assign(count, Count, Socket)}.
2626

2727
-spec render(Macros) -> Tree
2828
when Macros :: arizona_live_view:macros(),
2929
Tree :: arizona_live_view:tree().
3030
render(Macros0) ->
31-
Macros = Macros0#{
32-
title => maps:get(title, Macros0, ~"Arizona")
33-
},
34-
?ARIZONA_LIVEVIEW(~"""
31+
Title = arizona_live_view:get_macro(title, Macros0, ~"Arizona"),
32+
Macros = arizona_live_view:put_macro(title, Title, Macros0),
33+
?ARIZONA_LIVEVIEW(Macros, ~"""
3534
<!DOCTYPE html>
3635
<html lang="en">
3736
<head>
@@ -61,12 +60,12 @@ render(Macros0) ->
6160
Payload :: arizona:payload(),
6261
Socket :: arizona_socket:t(),
6362
Handled :: {noreply, arizona_socket:t()}.
64-
handle_event(<<"incr">>, #{}, #{assigns := Assigns} = Socket) ->
65-
Count = maps:get(count, Assigns) + 1,
66-
{noreply, arizona_socket:assign(count, Count, Socket)};
67-
handle_event(<<"decr">>, #{}, #{assigns := Assigns} = Socket) ->
68-
Count = maps:get(count, Assigns) - 1,
69-
{noreply, arizona_socket:assign(count, Count, Socket)}.
63+
handle_event(<<"incr">>, _Payload, Socket) ->
64+
Count = arizona_socket:get_assign(count, Socket) + 1,
65+
{noreply, arizona_socket:put_assign(count, Count, Socket)};
66+
handle_event(<<"decr">>, _Payload, Socket) ->
67+
Count = arizona_socket:get_assign(count, Socket) - 1,
68+
{noreply, arizona_socket:put_assign(count, Count, Socket)}.
7069

7170
%% --------------------------------------------------------------------
7271
%% Component functions.
@@ -76,7 +75,7 @@ handle_event(<<"decr">>, #{}, #{assigns := Assigns} = Socket) ->
7675
when Macros :: arizona_live_view:macros(),
7776
Tree :: arizona_live_view:tree().
7877
counter(Macros) ->
79-
?ARIZONA_LIVEVIEW(~s"""
78+
?ARIZONA_LIVEVIEW(Macros, ~s"""
8079
<div :stateful>
8180
<div>Count: {_@count}</div>
8281
<.button event={_@event} text={_@btn_text} />
@@ -87,11 +86,10 @@ counter(Macros) ->
8786
when Macros :: arizona_live_view:macros(),
8887
Tree :: arizona_live_view:tree().
8988
button(Macros) ->
90-
?ARIZONA_LIVEVIEW(~s"""
89+
?ARIZONA_LIVEVIEW(Macros, ~s"""
9190
{% NOTE: On this example, :onclick is and expression to be }
9291
{% dynamic. It could be just, e.g., :onclick="incr". }
9392
<button type="button" :onclick={arizona_js:send(_@event)}>
9493
{_@text}
9594
</button>
9695
""").
97-

0 commit comments

Comments
 (0)