@@ -97,12 +97,12 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
9797
9898 if ( IsTriggerClick ( ) )
9999 {
100- builder . AddAttribute ( 2 , "onclick" , EventCallback . Factory . Create < MouseEventArgs > ( this , e => OnClick ! ( ) ) ) ;
100+ builder . AddAttribute ( 2 , "onclick" , EventCallback . Factory . Create < MouseEventArgs > ( this , OnTriggerClick ) ) ;
101101 }
102102
103103 if ( IsTriggerDoubleClick ( ) )
104104 {
105- builder . AddAttribute ( 3 , "ondblclick" , EventCallback . Factory . Create < MouseEventArgs > ( this , e => OnDoubleClick ! ( ) ) ) ;
105+ builder . AddAttribute ( 3 , "ondblclick" , EventCallback . Factory . Create < MouseEventArgs > ( this , OnTriggerDoubleClick ) ) ;
106106 }
107107
108108 if ( IsTriggerClick ( ) || IsTriggerDoubleClick ( ) )
@@ -111,9 +111,9 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
111111 builder . AddEventStopPropagationAttribute ( 5 , "onclick" , StopPropagation ) ;
112112 }
113113
114- if ( TriggerContextMenu && OnContextMenu != null )
114+ if ( IsTriggerContextMenu ( ) )
115115 {
116- builder . AddAttribute ( 6 , "oncontextmenu" , EventCallback . Factory . Create < MouseEventArgs > ( this , e => OnContextMenu ( e ) ) ) ;
116+ builder . AddAttribute ( 6 , "oncontextmenu" , EventCallback . Factory . Create < MouseEventArgs > ( this , OnTriggerContextMenu ) ) ;
117117 builder . AddEventPreventDefaultAttribute ( 7 , "oncontextmenu" , true ) ;
118118 }
119119
@@ -123,8 +123,35 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
123123 {
124124 builder . CloseElement ( ) ;
125125 }
126+ }
127+
128+ private bool IsTriggerClick ( ) => TriggerClick && OnClick != null ;
129+
130+ private bool IsTriggerDoubleClick ( ) => TriggerDoubleClick && OnDoubleClick != null ;
131+
132+ private bool IsTriggerContextMenu ( ) => TriggerContextMenu && OnContextMenu != null ;
133+
134+ private async Task OnTriggerClick ( )
135+ {
136+ if ( OnClick != null )
137+ {
138+ await OnClick ( ) ;
139+ }
140+ }
126141
127- bool IsTriggerClick ( ) => TriggerClick && OnClick != null ;
128- bool IsTriggerDoubleClick ( ) => TriggerDoubleClick && OnDoubleClick != null ;
142+ private async Task OnTriggerDoubleClick ( )
143+ {
144+ if ( OnDoubleClick != null )
145+ {
146+ await OnDoubleClick ( ) ;
147+ }
148+ }
149+
150+ private async Task OnTriggerContextMenu ( MouseEventArgs e )
151+ {
152+ if ( OnContextMenu != null )
153+ {
154+ await OnContextMenu ( e ) ;
155+ }
129156 }
130157}
0 commit comments