diff --git a/CHANGELOG.md b/CHANGELOG.md index cda7b09bbd..9b403ff1ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [0.11.0] - September 6, 2019: + +* Make it so `width=100%` doesn't throw error. Fixes [#118](https://github.com/Sub6Resources/flutter_html/issues/118). + ## [0.10.4] - June 22, 2019: * Add support for `customTextStyle` to block and specialty HTML elements. diff --git a/README.md b/README.md index 372be9549d..570ac5822d 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ A Flutter widget for rendering static html tags as Flutter widgets. (Will render Add the following to your `pubspec.yaml` file: dependencies: - flutter_html: ^0.10.4 + flutter_html: ^0.11.0 ## Currently Supported HTML Tags: `a`, `abbr`, `acronym`, `address`, `article`, `aside`, `b`, `bdi`, `bdo`, `big`, `blockquote`, `body`, `br`, `caption`, `cite`, `code`, `data`, `dd`, `del`, `dfn`, `div`, `dl`, `dt`, `em`, `figcaption`, `figure`, `footer`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `header`, `hr`, `i`, `img`, `ins`, `kbd`, `li`, `main`, `mark`, `nav`, `noscript`, `ol`, `p`, `pre`, `q`, `rp`, `rt`, `ruby`, `s`, `samp`, `section`, `small`, `span`, `strike`, `strong`, `sub`, `sup`, `table`, `tbody`, `td`, `template`, `tfoot`, `th`, `thead`, `time`, `tr`, `tt`, `u`, `ul`, `var` diff --git a/lib/rich_text_parser.dart b/lib/rich_text_parser.dart index af39f02dea..5632aa969a 100644 --- a/lib/rich_text_parser.dart +++ b/lib/rich_text_parser.dart @@ -732,6 +732,18 @@ class HtmlRichTextParser extends StatelessWidget { case "img": if (showImages) { if (node.attributes['src'] != null) { + + final width = imageProperties?.width ?? + ((node.attributes['width'] != null) + ? double.tryParse(node.attributes['width']) + : null + ); + final height = imageProperties?.height ?? + ((node.attributes['height'] != null) + ? double.tryParse(node.attributes['height']) + : null + ); + if (node.attributes['src'].startsWith("data:image") && node.attributes['src'].contains("base64,")) { precacheImage( @@ -747,14 +759,8 @@ class HtmlRichTextParser extends StatelessWidget { child: Image.memory( base64.decode( node.attributes['src'].split("base64,")[1].trim()), - width: imageProperties?.width ?? - ((node.attributes['width'] != null) - ? double.tryParse(node.attributes['width']) - : null), - height: imageProperties?.height ?? - ((node.attributes['height'] != null) - ? double.tryParse(node.attributes['height']) - : null), + width: width, + height: height, scale: imageProperties?.scale ?? 1.0, matchTextDirection: imageProperties?.matchTextDirection ?? false, @@ -787,14 +793,8 @@ class HtmlRichTextParser extends StatelessWidget { parseContext.rootWidgetList.add(GestureDetector( child: Image.network( node.attributes['src'], - width: imageProperties?.width ?? - ((node.attributes['width'] != null) - ? double.parse(node.attributes['width']) - : null), - height: imageProperties?.height ?? - ((node.attributes['height'] != null) - ? double.parse(node.attributes['height']) - : null), + width: width, + height: height, scale: imageProperties?.scale ?? 1.0, matchTextDirection: imageProperties?.matchTextDirection ?? false, diff --git a/pubspec.lock b/pubspec.lock index 0ea08348ac..d45ef57534 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,5 +1,5 @@ # Generated by pub -# See https://www.dartlang.org/tools/pub/glossary#lockfile +# See https://dart.dev/tools/pub/glossary#lockfile packages: async: dependency: transitive @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.2.0" boolean_selector: dependency: transitive description: @@ -80,14 +80,14 @@ packages: name: pedantic url: "https://pub.dartlang.org" source: hosted - version: "1.5.0" + version: "1.7.0" quiver: dependency: transitive description: name: quiver url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.0.3" sky_engine: dependency: transitive description: flutter @@ -134,7 +134,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.4" + version: "0.2.5" typed_data: dependency: transitive description: @@ -150,5 +150,5 @@ packages: source: hosted version: "2.0.8" sdks: - dart: ">=2.2.0 <3.0.0" + dart: ">=2.2.2 <3.0.0" flutter: ">=0.5.0" diff --git a/pubspec.yaml b/pubspec.yaml index 0a21f25fdb..9da47f8b9b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_html description: A Flutter widget for rendering static html tags as Flutter widgets. (Will render over 70 different html tags!) -version: 0.10.4 +version: 0.11.0 author: Matthew Whitaker homepage: https://github.com/Sub6Resources/flutter_html