initialiseJsHandlers function
void
initialiseJsHandlers(
- dynamic controller,
- dynamic onPageEvent(
- String
)?
)
Implementation
void initialiseJsHandlers(controller, Function(String)? onPageEvent) {
controller.addJavaScriptHandler(
handlerName: pageEventsHandler,
callback: (args) {
if (args.isNotEmpty) {
onPageEvent?.call(args[0].toString());
}
},
);
controller.addJavaScriptHandler(
handlerName: downloadFileHandler,
callback: (args) {
final filePath = args[0].toString();
// data: "<file_url>" or "data:"
// eg data: "https://example.com/file.pdf" or "data:data:text/plain;base64,SGVsbG8sIFdvcmxkIQ=="
downloadFile(filePath).then((value) {}).catchError((error) {
controller.evaluateJavascript(
source: "window.alert('error downloading file');",
);
});
},
);
controller.addJavaScriptHandler(
handlerName: shareFileHandler,
callback: (args) {
final data = args[0].toString();
// data {"title":"Shared Image","text":"Take a look at this image","url":"<file_url> or "}
shareFile(data).then((value) {}).catchError((error) {
controller.evaluateJavascript(
source: "window.alert('error sharing file');",
);
});
},
);
}