@@ -23,6 +23,18 @@ public partial class PdfViewer
2323 [ Parameter ]
2424 public string ? Height { get ; set ; }
2525
26+ /// <summary>
27+ /// Gets or sets the document loaded event callback.
28+ /// </summary>
29+ [ Parameter ]
30+ public Func < Task > ? OnLoaded { get ; set ; }
31+
32+ /// <summary>
33+ /// Gets or sets the document loaded event callback.
34+ /// </summary>
35+ [ Parameter ]
36+ public Func < Task > ? NotSupportCallback { get ; set ; }
37+
2638 private string ? ClassString => CssBuilder . Default ( "bb-pdf-viewer-container" )
2739 . AddClassFromAttributes ( AdditionalAttributes )
2840 . Build ( ) ;
@@ -58,5 +70,35 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
5870 /// <inheritdoc/>
5971 /// </summary>
6072 /// <returns></returns>
61- protected override Task InvokeInitAsync ( ) => InvokeVoidAsync ( "init" , Id ) ;
73+ protected override Task InvokeInitAsync ( ) => InvokeVoidAsync ( "init" , Id , Interop , new
74+ {
75+ LoadedCallaback = nameof ( TriggerOnLoaded ) ,
76+ NotSupportCallback = nameof ( TriggerNotSupportCallback )
77+ } ) ;
78+
79+ /// <summary>
80+ /// Trigger OnLoaded callback when the PDF document is loaded.
81+ /// </summary>
82+ /// <returns></returns>
83+ [ JSInvokable ]
84+ public async Task TriggerOnLoaded ( )
85+ {
86+ if ( OnLoaded != null )
87+ {
88+ await OnLoaded ( ) ;
89+ }
90+ }
91+
92+ /// <summary>
93+ /// Trigger NotSupportCallback when the PDF viewer does not support the document.
94+ /// </summary>
95+ /// <returns></returns>
96+ [ JSInvokable ]
97+ public async Task TriggerNotSupportCallback ( )
98+ {
99+ if ( NotSupportCallback != null )
100+ {
101+ await NotSupportCallback ( ) ;
102+ }
103+ }
62104}
0 commit comments