Skip to content

Optional properties: selectable, placeholderAlignment. #1191

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/custom_render.dart
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ CustomRender blockElementRender({Style? style, List<InlineSpan>? children}) =>
);
}
return WidgetSpan(
alignment: PlaceholderAlignment.baseline,
alignment: style?.placeholderAlignment ?? PlaceholderAlignment.bottom,
baseline: TextBaseline.alphabetic,
child: CssBoxWidget.withInlineSpanChildren(
key: context.key,
Expand Down
8 changes: 7 additions & 1 deletion lib/flutter_html.dart
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class Html extends StatefulWidget {
this.onImageTap,
this.tagsList = const [],
this.style = const {},
this.selectable = false,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're moving away from SelectableHtml (see #1153). Please remove this selectable parameter from your changes so we can evaluate just the placeholderAlignment portion.

}) : documentElement = null,
assert(data != null),
_anchorKey = anchorKey ?? GlobalKey(),
Expand All @@ -80,6 +81,7 @@ class Html extends StatefulWidget {
this.onImageTap,
this.tagsList = const [],
this.style = const {},
this.selectable = false,
}) : data = null,
assert(document != null),
documentElement = document!.documentElement,
Expand All @@ -99,6 +101,7 @@ class Html extends StatefulWidget {
this.onImageTap,
this.tagsList = const [],
this.style = const {},
this.selectable = false,
}) : data = null,
assert(documentElement != null),
_anchorKey = anchorKey ?? GlobalKey(),
Expand Down Expand Up @@ -143,6 +146,9 @@ class Html extends StatefulWidget {
/// An API that allows you to override the default style for any HTML element
final Map<String, Style> style;

/// Makes the text in the widget selectable.
final bool selectable;

static List<String> get tags => List<String>.from(HtmlElements.styledElements)
..addAll(HtmlElements.interactableElements)
..addAll(HtmlElements.replacedElements)
Expand Down Expand Up @@ -188,7 +194,7 @@ class _HtmlState extends State<Html> {
onCssParseError: widget.onCssParseError,
onImageError: widget.onImageError,
shrinkWrap: widget.shrinkWrap,
selectable: false,
selectable: widget.selectable,
style: widget.style,
customRenders: {}
..addAll(widget.customRenders)
Expand Down
6 changes: 6 additions & 0 deletions lib/style.dart
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,11 @@ class Style {
Alignment? alignment;
Widget? markerContent;

/// Where to vertically align the placeholder relative to the surrounding text.
///
/// Default: [PlaceholderAlignment.bottom]
PlaceholderAlignment? placeholderAlignment;

/// MaxLine
///
///
Expand Down Expand Up @@ -271,6 +276,7 @@ class Style {
this.maxLines,
this.textOverflow,
this.textTransform = TextTransform.none,
this.placeholderAlignment = PlaceholderAlignment.bottom,
}) {
if (alignment == null &&
(display == Display.block || display == Display.listItem)) {
Expand Down
60 changes: 41 additions & 19 deletions packages/flutter_html_all/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,47 @@ dependencies:
flutter:
sdk: flutter
html: '>=0.15.0 <1.0.0'
flutter_html: ^3.0.0-alpha.6
flutter_html_audio: ^3.0.0-alpha.4
flutter_html_iframe: ^3.0.0-alpha.4
flutter_html_math: ^3.0.0-alpha.4
flutter_html_svg: ^3.0.0-alpha.4
flutter_html_table: ^3.0.0-alpha.4
flutter_html_video: ^3.0.0-alpha.5
# flutter_html_audio:
# path: ../flutter_html_audio
# flutter_html_iframe:
# path: ../flutter_html_iframe
# flutter_html_math:
# path: ../flutter_html_math
# flutter_html_svg:
# path: ../flutter_html_svg
# flutter_html_table:
# path: ../flutter_html_table
# flutter_html_video:
# path: ../flutter_html_video
# flutter_html: ^3.0.0-alpha.6
# flutter_html_audio: ^3.0.0-alpha.4
# flutter_html_iframe: ^3.0.0-alpha.4
# flutter_html_math: ^3.0.0-alpha.4
# flutter_html_svg: ^3.0.0-alpha.4
# flutter_html_table: ^3.0.0-alpha.4
# flutter_html_video: ^3.0.0-alpha.5
flutter_html:
git:
url: git@github.com:darkstarx/flutter_html.git
ref: master
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an issue

flutter_html_audio:
git:
url: git@github.com:darkstarx/flutter_html.git
path: packages/flutter_html_audio
ref: master
flutter_html_iframe:
git:
url: git@github.com:darkstarx/flutter_html.git
path: packages/flutter_html_iframe
ref: master
flutter_html_math:
git:
url: git@github.com:darkstarx/flutter_html.git
path: packages/flutter_html_math
ref: master
flutter_html_svg:
git:
url: git@github.com:darkstarx/flutter_html.git
path: packages/flutter_html_svg
ref: master
flutter_html_table:
git:
url: git@github.com:darkstarx/flutter_html.git
path: packages/flutter_html_table
ref: master
flutter_html_video:
git:
url: git@github.com:darkstarx/flutter_html.git
path: packages/flutter_html_video
ref: master

dev_dependencies:
flutter_test:
Expand Down
8 changes: 5 additions & 3 deletions packages/flutter_html_audio/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ dependencies:
flutter:
sdk: flutter
html: '>=0.15.0 <1.0.0'
flutter_html: ^3.0.0-alpha.6
# flutter_html:
# path: ../..
# flutter_html: ^3.0.0-alpha.6
flutter_html:
git:
url: git@github.com:darkstarx/flutter_html.git
ref: master
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove all instances of referencing your own fork


video_player: '>=2.2.8 <3.0.0'
chewie_audio: '>=1.3.0 <2.0.0'
Expand Down
8 changes: 5 additions & 3 deletions packages/flutter_html_iframe/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ dependencies:
flutter:
sdk: flutter
html: '>=0.15.0 <1.0.0'
flutter_html: ^3.0.0-alpha.6
# flutter_html:
# path: ../..
# flutter_html: ^3.0.0-alpha.6
flutter_html:
git:
url: git@github.com:darkstarx/flutter_html.git
ref: master

webview_flutter: '>=2.0.4 <4.0.0'

Expand Down
8 changes: 5 additions & 3 deletions packages/flutter_html_math/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ dependencies:
flutter:
sdk: flutter
html: '>=0.15.0 <1.0.0'
flutter_html: ^3.0.0-alpha.6
# flutter_html:
# path: ../..
# flutter_html: ^3.0.0-alpha.6
flutter_html:
git:
url: git@github.com:darkstarx/flutter_html.git
ref: master

flutter_math_fork: '>=0.6.0 <1.0.0'

Expand Down
8 changes: 5 additions & 3 deletions packages/flutter_html_svg/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ dependencies:
flutter:
sdk: flutter
html: '>=0.15.0 <1.0.0'
flutter_html: ^3.0.0-alpha.6
# flutter_html:
# path: ../..
# flutter_html: ^3.0.0-alpha.6
flutter_html:
git:
url: git@github.com:darkstarx/flutter_html.git
ref: master

flutter_svg: '>=1.0.0 <2.0.0'

Expand Down
8 changes: 5 additions & 3 deletions packages/flutter_html_table/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@ dependencies:
flutter:
sdk: flutter
html: '>=0.15.0 <1.0.0'
flutter_html: ^3.0.0-alpha.6
# flutter_html:
# path: ../..
# flutter_html: ^3.0.0-alpha.6
flutter_html:
git:
url: git@github.com:darkstarx/flutter_html.git
ref: master

flutter_layout_grid: '>=1.0.1 <2.0.0'

Expand Down
8 changes: 5 additions & 3 deletions packages/flutter_html_video/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ dependencies:
flutter:
sdk: flutter
html: '>=0.15.0 <1.0.0'
flutter_html: ^3.0.0-alpha.6
# flutter_html:
# path: ../..
# flutter_html: ^3.0.0-alpha.6
flutter_html:
git:
url: git@github.com:darkstarx/flutter_html.git
ref: master

video_player: '>=2.2.8 <3.0.0'
chewie: '>=1.1.0 <2.0.0'
Expand Down