11library flutter_html;
22
3- //export image render api
4- export 'package:flutter_html/image_render.dart' ;
5- //export style api
6- export 'package:flutter_html/style.dart' ;
7- //export render context api
8- export 'package:flutter_html/html_parser.dart' ;
9- //export src for advanced custom render uses (e.g. casting context.tree)
10- export 'package:flutter_html/src/layout_element.dart' ;
11- export 'package:flutter_html/src/replaced_element.dart' ;
12- export 'package:flutter_html/src/styled_element.dart' ;
13- export 'package:flutter_html/src/interactable_element.dart' ;
14-
153import 'package:flutter/material.dart' ;
164import 'package:flutter/rendering.dart' ;
175import 'package:flutter_html/html_parser.dart' ;
186import 'package:flutter_html/image_render.dart' ;
197import 'package:flutter_html/src/html_elements.dart' ;
208import 'package:flutter_html/style.dart' ;
21- import 'package:webview_flutter/webview_flutter.dart' ;
229import 'package:html/dom.dart' as dom;
10+ import 'package:webview_flutter/webview_flutter.dart' ;
11+
12+ //export render context api
13+ export 'package:flutter_html/html_parser.dart' ;
14+ //export render context api
15+ export 'package:flutter_html/html_parser.dart' ;
16+ //export image render api
17+ export 'package:flutter_html/image_render.dart' ;
18+ //export image render api
19+ export 'package:flutter_html/image_render.dart' ;
20+ export 'package:flutter_html/src/anchor.dart' ;
21+ export 'package:flutter_html/src/anchor.dart' ;
22+ export 'package:flutter_html/src/interactable_element.dart' ;
23+ export 'package:flutter_html/src/interactable_element.dart' ;
24+ //export src for advanced custom render uses (e.g. casting context.tree)
25+ export 'package:flutter_html/src/layout_element.dart' ;
26+ //export src for advanced custom render uses (e.g. casting context.tree)
27+ export 'package:flutter_html/src/layout_element.dart' ;
28+ export 'package:flutter_html/src/replaced_element.dart' ;
29+ export 'package:flutter_html/src/replaced_element.dart' ;
30+ export 'package:flutter_html/src/styled_element.dart' ;
31+ export 'package:flutter_html/src/styled_element.dart' ;
32+ //export style api
33+ export 'package:flutter_html/style.dart' ;
34+ //export style api
35+ export 'package:flutter_html/style.dart' ;
2336
2437class Html extends StatelessWidget {
2538 /// The `Html` widget takes HTML as input and displays a RichText
@@ -49,6 +62,7 @@ class Html extends StatelessWidget {
4962 /// See [its wiki page] (https://github.com/Sub6Resources/flutter_html/wiki/Style) for more info.
5063 Html ({
5164 Key ? key,
65+ GlobalKey ? anchorKey,
5266 required this .data,
5367 this .onLinkTap,
5468 this .customRender = const {},
@@ -61,13 +75,14 @@ class Html extends StatelessWidget {
6175 this .tagsList = const [],
6276 this .style = const {},
6377 this .navigationDelegateForIframe,
64- }) : document = null ,
65- assert (data != null ),
66- anchorKey = GlobalKey (),
78+ }) : document = null ,
79+ assert (data != null ),
80+ _anchorKey = anchorKey ?? GlobalKey (),
6781 super (key: key);
6882
6983 Html .fromDom ({
7084 Key ? key,
85+ GlobalKey ? anchorKey,
7186 @required this .document,
7287 this .onLinkTap,
7388 this .customRender = const {},
@@ -80,13 +95,13 @@ class Html extends StatelessWidget {
8095 this .tagsList = const [],
8196 this .style = const {},
8297 this .navigationDelegateForIframe,
83- }) : data = null ,
98+ }) : data = null ,
8499 assert (document != null ),
85- anchorKey = GlobalKey (),
100+ _anchorKey = anchorKey ?? GlobalKey (),
86101 super (key: key);
87102
88103 /// A unique key for this Html widget to ensure uniqueness of anchors
89- final Key anchorKey ;
104+ final GlobalKey _anchorKey ;
90105
91106 /// The HTML data passed to the widget as a String
92107 final String ? data;
@@ -111,7 +126,6 @@ class Html extends StatelessWidget {
111126 /// You can return a widget here to override the default error widget.
112127 final OnMathError ? onMathError;
113128
114-
115129 /// A parameter that should be set when the HTML widget is expected to be
116130 /// flexible
117131 final bool shrinkWrap;
@@ -143,13 +157,14 @@ class Html extends StatelessWidget {
143157
144158 @override
145159 Widget build (BuildContext context) {
146- final dom.Document doc = data != null ? HtmlParser .parseHTML (data! ) : document! ;
160+ final dom.Document doc =
161+ data != null ? HtmlParser .parseHTML (data! ) : document! ;
147162 final double ? width = shrinkWrap ? null : MediaQuery .of (context).size.width;
148163
149164 return Container (
150165 width: width,
151166 child: HtmlParser (
152- key: anchorKey ,
167+ key: _anchorKey ,
153168 htmlData: doc,
154169 onLinkTap: onLinkTap,
155170 onImageTap: onImageTap,
0 commit comments