Skip to content

Commit de841bb

Browse files
author
gregor
committed
added onImageError callback
1 parent 175c0a5 commit de841bb

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

lib/flutter_html.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class Html extends StatelessWidget {
1515
this.customRender,
1616
this.blockSpacing = 14.0,
1717
this.useRichText = false,
18+
this.onImageError,
1819
}) : super(key: key);
1920

2021
final String data;
@@ -25,6 +26,7 @@ class Html extends StatelessWidget {
2526
final bool renderNewlines;
2627
final double blockSpacing;
2728
final bool useRichText;
29+
final ImageErrorListener onImageError;
2830

2931
/// Either return a custom widget for specific node types or return null to
3032
/// fallback to the default rendering.
@@ -46,6 +48,7 @@ class Html extends StatelessWidget {
4648
onLinkTap: onLinkTap,
4749
renderNewlines: renderNewlines,
4850
html: data,
51+
onImageError: onImageError,
4952
)
5053
: HtmlOldParser(
5154
width: width,

lib/html_parser.dart

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ class HtmlRichTextParser extends StatelessWidget {
144144
this.onLinkTap,
145145
this.renderNewlines = false,
146146
this.html,
147+
this.onImageError,
147148
});
148149

149150
final double indentSize = 10.0;
@@ -152,6 +153,7 @@ class HtmlRichTextParser extends StatelessWidget {
152153
final onLinkTap;
153154
final bool renderNewlines;
154155
final String html;
156+
final ImageErrorListener onImageError;
155157

156158
// style elements set a default style
157159
// for all child nodes
@@ -628,19 +630,15 @@ class HtmlRichTextParser extends StatelessWidget {
628630
),
629631
),
630632
buildContext,
631-
onError: (_, stacktrace) {
632-
print(stacktrace);
633-
},
633+
onError: onImageError,
634634
);
635635
parseContext.rootWidgetList.add(Image.memory(base64.decode(
636636
node.attributes['src'].split("base64,")[1].trim())));
637637
} else {
638638
precacheImage(
639639
NetworkImage(node.attributes['src']),
640640
buildContext,
641-
onError: (_, stacktrace) {
642-
print(stacktrace);
643-
},
641+
onError: onImageError,
644642
);
645643
parseContext.rootWidgetList
646644
.add(Image.network(node.attributes['src']));

0 commit comments

Comments
 (0)