@@ -43,7 +43,7 @@ type Filter {
43
43
Completed
44
44
}
45
45
46
- fn init ( _flags ) -> # ( Model , Effect ( msg) ) {
46
+ fn init ( _ ) -> # ( Model , Effect ( msg) ) {
47
47
# ( Model ( dict . new ( ) , All , 0 , "" , "" ) , effect . none ( ) )
48
48
}
49
49
@@ -78,6 +78,7 @@ fn update(model: Model, msg: Msg) -> #(Model, Effect(Msg)) {
78
78
let model = Model ( .. model , todos : , last_id : , new_todo_input : "" )
79
79
# ( model , effect . none ( ) )
80
80
}
81
+
81
82
UserBlurredExistingTodo ( id ) -> {
82
83
let todos =
83
84
dict . upsert ( todos , id , fn ( i ) {
@@ -87,13 +88,16 @@ fn update(model: Model, msg: Msg) -> #(Model, Effect(Msg)) {
87
88
let model = Model ( .. model , todos : , existing_todo_input : "" )
88
89
# ( model , effect . none ( ) )
89
90
}
91
+
90
92
UserClickedClearCompleted -> {
91
93
let todos = dict . filter ( todos , fn ( _ , item ) { ! item . completed } )
92
94
# ( Model ( .. model , todos : ) , effect . none ( ) )
93
95
}
96
+
94
97
UserClickedFilter ( filter ) -> {
95
98
# ( Model ( .. model , filter : ) , effect . none ( ) )
96
99
}
100
+
97
101
UserClickedToggle ( id , checked ) -> {
98
102
let todos =
99
103
dict . upsert ( todos , id , fn ( i ) {
@@ -103,17 +107,20 @@ fn update(model: Model, msg: Msg) -> #(Model, Effect(Msg)) {
103
107
let model = Model ( .. model , todos : )
104
108
# ( model , effect . none ( ) )
105
109
}
110
+
106
111
UserClickedToggleAll ( checked ) -> {
107
112
let todos =
108
113
dict . map_values ( todos , fn ( _ , i ) { Todo ( .. i , completed : checked ) } )
109
114
let model = Model ( .. model , todos : )
110
115
# ( model , effect . none ( ) )
111
116
}
117
+
112
118
UserDeletedTodo ( id ) -> {
113
119
let todos = dict . delete ( todos , id )
114
120
let model = Model ( .. model , todos : )
115
121
# ( model , effect . none ( ) )
116
122
}
123
+
117
124
UserDoubleClickedTodo ( id , input ) -> {
118
125
let todos =
119
126
dict . upsert ( todos , id , fn ( i ) {
@@ -124,6 +131,7 @@ fn update(model: Model, msg: Msg) -> #(Model, Effect(Msg)) {
124
131
let model = Model ( .. model , todos : , existing_todo_input : input )
125
132
# ( model , focus_edit_input ( ) )
126
133
}
134
+
127
135
UserEditedTodo ( id ) -> {
128
136
use <- bool . guard ( existing_todo_input == "" , # ( model , delete_todo ( id ) ) )
129
137
@@ -136,10 +144,12 @@ fn update(model: Model, msg: Msg) -> #(Model, Effect(Msg)) {
136
144
let model = Model ( .. model , todos : )
137
145
# ( model , effect . none ( ) )
138
146
}
147
+
139
148
UserUpdatedExistingInput ( existing_todo_input ) -> {
140
149
let model = Model ( .. model , existing_todo_input : )
141
150
# ( model , effect . none ( ) )
142
151
}
152
+
143
153
UserUpdatedNewInput ( new_todo_input ) -> {
144
154
# ( Model ( .. model , new_todo_input : ) , effect . none ( ) )
145
155
}
@@ -168,7 +178,9 @@ fn header(model: Model) {
168
178
169
179
fn main_content ( model : Model ) {
170
180
let visible_todos = case model . filter {
171
- All -> dict . values ( model . todos ) |> list . sort ( compare )
181
+ All ->
182
+ dict . values ( model . todos )
183
+ |> list . sort ( compare )
172
184
Active ->
173
185
dict . values ( model . todos )
174
186
|> list . filter ( fn ( i ) { ! i . completed } )
0 commit comments