1
-
2
- use seed:: prelude:: * ;
3
1
use crate :: state_access:: StateAccess ;
4
2
use atomic_hooks:: atom:: Atom ;
5
-
3
+ use seed :: prelude :: * ;
6
4
7
5
pub trait StateAccessEventHandlers < T >
8
6
where
9
7
T : ' static ,
10
8
{
11
- fn input_ev < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static , > (
9
+ fn input_ev < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static > (
12
10
& self ,
13
11
event : Ev ,
14
12
func : F ,
15
13
) -> seed:: EventHandler < Ms > ;
16
14
17
- fn mouse_ev <
18
- F : FnOnce ( & mut T , web_sys:: MouseEvent ) -> ( ) + ' static + Clone ,
19
- Ms : ' static ,
20
- > (
15
+ fn mouse_ev < F : FnOnce ( & mut T , web_sys:: MouseEvent ) -> ( ) + ' static + Clone , Ms : ' static > (
21
16
& self ,
22
17
event : Ev ,
23
18
func : F ,
24
19
) -> seed:: EventHandler < Ms > ;
25
20
26
-
27
- fn on_click <
28
- F : FnOnce ( & mut T ) -> ( ) + ' static + Clone ,
29
- Ms : ' static ,
30
- > (
21
+ fn on_click < F : FnOnce ( & mut T ) -> ( ) + ' static + Clone , Ms : ' static > (
31
22
& self ,
32
23
func : F ,
33
24
) -> seed:: EventHandler < Ms > ;
34
25
35
- fn on_input <
36
- F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone ,
37
- Ms : ' static ,
38
- > (
26
+ fn on_input < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static > (
39
27
& self ,
40
28
func : F ,
41
29
) -> seed:: EventHandler < Ms > ;
42
-
43
30
}
44
31
45
32
impl < T > StateAccessEventHandlers < T > for StateAccess < T >
46
33
where
47
34
T : ' static ,
48
35
{
49
- fn input_ev < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static , > (
36
+ fn input_ev < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static > (
50
37
& self ,
51
38
event : Ev ,
52
39
func : F ,
@@ -57,55 +44,43 @@ where
57
44
} )
58
45
}
59
46
60
- fn mouse_ev <
61
- F : FnOnce ( & mut T , web_sys:: MouseEvent ) -> ( ) + ' static + Clone ,
62
- Ms : ' static ,
63
- > (
47
+ fn mouse_ev < F : FnOnce ( & mut T , web_sys:: MouseEvent ) -> ( ) + ' static + Clone , Ms : ' static > (
64
48
& self ,
65
49
event : Ev ,
66
50
func : F ,
67
51
) -> seed:: EventHandler < Ms > {
68
52
let accessor = * self ;
69
53
mouse_ev ( event, move |m_ev| {
70
54
accessor. update ( |val| func ( val, m_ev) ) ;
71
-
72
55
} )
73
56
}
74
57
75
- fn on_click <
76
- F : FnOnce ( & mut T ) -> ( ) + ' static + Clone ,
77
- Ms : ' static ,
78
- > (
58
+ fn on_click < F : FnOnce ( & mut T ) -> ( ) + ' static + Clone , Ms : ' static > (
79
59
& self ,
80
60
func : F ,
81
61
) -> seed:: EventHandler < Ms > {
82
62
let accessor = * self ;
83
63
mouse_ev ( Ev :: Click , move |_| {
84
64
accessor. update ( |val| func ( val) ) ;
85
-
86
65
} )
87
66
}
88
67
89
- fn on_input < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static , > (
90
- & self ,
91
- func : F ,
92
- ) -> seed:: EventHandler < Ms > {
93
- let accessor = * self ;
94
- input_ev ( Ev :: Input , move |text| {
95
- accessor. update ( |val| func ( val, text) ) ;
96
- } )
97
- }
98
-
99
-
68
+ fn on_input < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static > (
69
+ & self ,
70
+ func : F ,
71
+ ) -> seed:: EventHandler < Ms > {
72
+ let accessor = * self ;
73
+ input_ev ( Ev :: Input , move |text| {
74
+ accessor. update ( |val| func ( val, text) ) ;
75
+ } )
76
+ }
100
77
}
101
78
102
-
103
-
104
79
impl < T > StateAccessEventHandlers < T > for Atom < T >
105
80
where
106
81
T : ' static ,
107
82
{
108
- fn input_ev < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static , > (
83
+ fn input_ev < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static > (
109
84
& self ,
110
85
event : Ev ,
111
86
func : F ,
@@ -116,44 +91,34 @@ where
116
91
} )
117
92
}
118
93
119
- fn mouse_ev <
120
- F : FnOnce ( & mut T , web_sys:: MouseEvent ) -> ( ) + ' static + Clone ,
121
- Ms : ' static ,
122
- > (
94
+ fn mouse_ev < F : FnOnce ( & mut T , web_sys:: MouseEvent ) -> ( ) + ' static + Clone , Ms : ' static > (
123
95
& self ,
124
96
event : Ev ,
125
97
func : F ,
126
98
) -> seed:: EventHandler < Ms > {
127
99
let accessor = * self ;
128
100
mouse_ev ( event, move |m_ev| {
129
101
accessor. update ( |val| func ( val, m_ev) ) ;
130
-
131
102
} )
132
103
}
133
104
134
- fn on_click <
135
- F : FnOnce ( & mut T ) -> ( ) + ' static + Clone ,
136
- Ms : ' static ,
137
- > (
105
+ fn on_click < F : FnOnce ( & mut T ) -> ( ) + ' static + Clone , Ms : ' static > (
138
106
& self ,
139
107
func : F ,
140
108
) -> seed:: EventHandler < Ms > {
141
109
let accessor = * self ;
142
110
mouse_ev ( Ev :: Click , move |_| {
143
111
accessor. update ( |val| func ( val) ) ;
144
-
145
112
} )
146
113
}
147
114
148
- fn on_input < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static , > (
149
- & self ,
150
- func : F ,
151
- ) -> seed:: EventHandler < Ms > {
152
- let accessor = * self ;
153
- input_ev ( Ev :: Input , move |text| {
154
- accessor. update ( |val| func ( val, text) ) ;
155
- } )
156
- }
157
-
158
-
115
+ fn on_input < F : FnOnce ( & mut T , String ) -> ( ) + ' static + Clone , Ms : ' static > (
116
+ & self ,
117
+ func : F ,
118
+ ) -> seed:: EventHandler < Ms > {
119
+ let accessor = * self ;
120
+ input_ev ( Ev :: Input , move |text| {
121
+ accessor. update ( |val| func ( val, text) ) ;
122
+ } )
123
+ }
159
124
}
0 commit comments