1- use tui_realm_stdlib:: Textarea ;
1+ use tui_realm_stdlib:: { Phantom , Textarea } ;
22
33use tuirealm:: command:: { Cmd , CmdResult , Direction } ;
44use tuirealm:: event:: { Event , Key , KeyEvent } ;
@@ -9,10 +9,12 @@ use tui::components::{ApplicationTitle, ShortcutBar, TabContainer};
99
1010use super :: app:: Message ;
1111
12- /// Since `terminal-tui` does not know the type of messages that are being
13- /// passed around in the app, the following handlers need to be implemented for
14- /// each component used.
15- impl Component < Message , NoUserEvent > for ApplicationTitle {
12+ #[ derive( Default , MockComponent ) ]
13+ pub struct GlobalListener {
14+ component : Phantom ,
15+ }
16+
17+ impl Component < Message , NoUserEvent > for GlobalListener {
1618 fn on ( & mut self , event : Event < NoUserEvent > ) -> Option < Message > {
1719 match event {
1820 Event :: Keyboard ( KeyEvent {
@@ -24,27 +26,24 @@ impl Component<Message, NoUserEvent> for ApplicationTitle {
2426 }
2527}
2628
29+ /// Since `terminal-tui` does not know the type of messages that are being
30+ /// passed around in the app, the following handlers need to be implemented for
31+ /// each component used.
32+ impl Component < Message , NoUserEvent > for ApplicationTitle {
33+ fn on ( & mut self , _event : Event < NoUserEvent > ) -> Option < Message > {
34+ None
35+ }
36+ }
37+
2738impl Component < Message , NoUserEvent > for Textarea {
28- fn on ( & mut self , event : Event < NoUserEvent > ) -> Option < Message > {
29- match event {
30- Event :: Keyboard ( KeyEvent {
31- code : Key :: Char ( 'q' ) ,
32- ..
33- } ) => Some ( Message :: Quit ) ,
34- _ => None ,
35- }
39+ fn on ( & mut self , _event : Event < NoUserEvent > ) -> Option < Message > {
40+ None
3641 }
3742}
3843
3944impl Component < Message , NoUserEvent > for ShortcutBar {
40- fn on ( & mut self , event : Event < NoUserEvent > ) -> Option < Message > {
41- match event {
42- Event :: Keyboard ( KeyEvent {
43- code : Key :: Char ( 'q' ) ,
44- ..
45- } ) => Some ( Message :: Quit ) ,
46- _ => None ,
47- }
45+ fn on ( & mut self , _event : Event < NoUserEvent > ) -> Option < Message > {
46+ None
4847 }
4948}
5049
@@ -54,10 +53,6 @@ impl Component<Message, NoUserEvent> for TabContainer {
5453 Event :: Keyboard ( KeyEvent { code : Key :: Tab , .. } ) => {
5554 self . perform ( Cmd :: Move ( Direction :: Right ) )
5655 }
57- Event :: Keyboard ( KeyEvent {
58- code : Key :: Char ( 'q' ) ,
59- ..
60- } ) => return Some ( Message :: Quit ) ,
6156 _ => CmdResult :: None ,
6257 } ;
6358 None
0 commit comments