@@ -2,7 +2,6 @@ library flutter_html;
2
2
3
3
//export image render api
4
4
export 'package:flutter_html/image_render.dart' ;
5
- export 'package:flutter_html/custom_render.dart' ;
6
5
//export style api
7
6
export 'package:flutter_html/style.dart' ;
8
7
//export render context api
@@ -20,8 +19,33 @@ import 'package:flutter_html/html_parser.dart';
20
19
import 'package:flutter_html/image_render.dart' ;
21
20
import 'package:flutter_html/src/html_elements.dart' ;
22
21
import 'package:flutter_html/style.dart' ;
23
- import 'package:webview_flutter/webview_flutter.dart' ;
24
22
import 'package:html/dom.dart' as dom;
23
+ import 'package:webview_flutter/webview_flutter.dart' ;
24
+
25
+ //export render context api
26
+ export 'package:flutter_html/html_parser.dart' ;
27
+ //export render context api
28
+ export 'package:flutter_html/html_parser.dart' ;
29
+ //export image render api
30
+ export 'package:flutter_html/image_render.dart' ;
31
+ //export image render api
32
+ export 'package:flutter_html/image_render.dart' ;
33
+ export 'package:flutter_html/src/anchor.dart' ;
34
+ export 'package:flutter_html/src/anchor.dart' ;
35
+ export 'package:flutter_html/src/interactable_element.dart' ;
36
+ export 'package:flutter_html/src/interactable_element.dart' ;
37
+ //export src for advanced custom render uses (e.g. casting context.tree)
38
+ export 'package:flutter_html/src/layout_element.dart' ;
39
+ //export src for advanced custom render uses (e.g. casting context.tree)
40
+ export 'package:flutter_html/src/layout_element.dart' ;
41
+ export 'package:flutter_html/src/replaced_element.dart' ;
42
+ export 'package:flutter_html/src/replaced_element.dart' ;
43
+ export 'package:flutter_html/src/styled_element.dart' ;
44
+ export 'package:flutter_html/src/styled_element.dart' ;
45
+ //export style api
46
+ export 'package:flutter_html/style.dart' ;
47
+ //export style api
48
+ export 'package:flutter_html/style.dart' ;
25
49
26
50
class Html extends StatelessWidget {
27
51
/// The `Html` widget takes HTML as input and displays a RichText
@@ -51,6 +75,7 @@ class Html extends StatelessWidget {
51
75
/// See [its wiki page] (https://github.com/Sub6Resources/flutter_html/wiki/Style) for more info.
52
76
Html ({
53
77
Key ? key,
78
+ GlobalKey ? anchorKey,
54
79
required this .data,
55
80
this .onLinkTap,
56
81
this .customRenders = const {},
@@ -63,13 +88,14 @@ class Html extends StatelessWidget {
63
88
this .tagsList = const [],
64
89
this .style = const {},
65
90
this .navigationDelegateForIframe,
66
- }) : document = null ,
67
- assert (data != null ),
68
- anchorKey = GlobalKey (),
91
+ }) : document = null ,
92
+ assert (data != null ),
93
+ _anchorKey = anchorKey ?? GlobalKey (),
69
94
super (key: key);
70
95
71
96
Html .fromDom ({
72
97
Key ? key,
98
+ GlobalKey ? anchorKey,
73
99
@required this .document,
74
100
this .onLinkTap,
75
101
this .customRenders = const {},
@@ -82,13 +108,13 @@ class Html extends StatelessWidget {
82
108
this .tagsList = const [],
83
109
this .style = const {},
84
110
this .navigationDelegateForIframe,
85
- }) : data = null ,
111
+ }) : data = null ,
86
112
assert (document != null ),
87
- anchorKey = GlobalKey (),
113
+ _anchorKey = anchorKey ?? GlobalKey (),
88
114
super (key: key);
89
115
90
116
/// A unique key for this Html widget to ensure uniqueness of anchors
91
- final Key anchorKey ;
117
+ final GlobalKey _anchorKey ;
92
118
93
119
/// The HTML data passed to the widget as a String
94
120
final String ? data;
@@ -113,7 +139,6 @@ class Html extends StatelessWidget {
113
139
/// You can return a widget here to override the default error widget.
114
140
final OnMathError ? onMathError;
115
141
116
-
117
142
/// A parameter that should be set when the HTML widget is expected to be
118
143
/// flexible
119
144
final bool shrinkWrap;
@@ -145,13 +170,14 @@ class Html extends StatelessWidget {
145
170
146
171
@override
147
172
Widget build (BuildContext context) {
148
- final dom.Document doc = data != null ? HtmlParser .parseHTML (data! ) : document! ;
173
+ final dom.Document doc =
174
+ data != null ? HtmlParser .parseHTML (data! ) : document! ;
149
175
final double ? width = shrinkWrap ? null : MediaQuery .of (context).size.width;
150
176
151
177
return Container (
152
178
width: width,
153
179
child: HtmlParser (
154
- key: anchorKey ,
180
+ key: _anchorKey ,
155
181
htmlData: doc,
156
182
onLinkTap: onLinkTap,
157
183
onImageTap: onImageTap,
0 commit comments