renderAsync method
Implementation
@override
Future<dynamic> renderAsync(Map<String, dynamic> properties) async {
await resourceContent!.load();
var type = resourceContent!.uriMimeType!.subType;
if (isEmptyString(type)) return null;
var docContent = await resourceContent!.getContent();
if (docContent == null) return null;
var extension = resourceContent!.uriFileExtension!.toLowerCase().trim();
if (isNotEmptyString(extension)) {
var language = getLanguageByExtension(extension);
if (language == 'html') {
return docContent;
} else if (language == 'text') {
return '<pre>\n$docContent\n</pre>';
} else if (language == 'markdown') {
var div = markdownToDiv(docContent);
div.style.overflowWrap = 'break-word';
return div;
} else if (language == 'json') {
var jsonRender = JSONRender.fromJSONAsString(docContent);
jsonRender.addAllKnownTypeRenders();
var div = jsonRender.render();
div.style.overflowWrap = 'break-word';
return div;
}
}
return docContent;
}