Update _getImageNode method

pull/635/head
X Code 3 years ago
parent 122b3c0e59
commit 4f36393aea
  1. 12
      lib/src/widgets/embeds/default_embed_builder.dart

@ -69,8 +69,8 @@ Widget defaultEmbedBuilder(BuildContext context, QuillController controller,
builder: (context) { builder: (context) {
final _screenSize = MediaQuery.of(context).size; final _screenSize = MediaQuery.of(context).size;
return ImageResizer( return ImageResizer(
imageNode: res.item2!, imageNode: res.item2,
offset: res.item1!, offset: res.item1,
imageWidth: _widthHeight?.item1, imageWidth: _widthHeight?.item1,
imageHeight: _widthHeight?.item2, imageHeight: _widthHeight?.item2,
maxWidth: _screenSize.width, maxWidth: _screenSize.width,
@ -83,7 +83,7 @@ Widget defaultEmbedBuilder(BuildContext context, QuillController controller,
color: Colors.cyanAccent, color: Colors.cyanAccent,
text: 'Copy'.i18n, text: 'Copy'.i18n,
onPressed: () { onPressed: () {
final imageNode = _getImageNode(controller).item2!; final imageNode = _getImageNode(controller).item2;
final imageUrl = imageNode.value.data; final imageUrl = imageNode.value.data;
controller.copiedImageUrl = imageUrl; controller.copiedImageUrl = imageUrl;
Navigator.pop(context); Navigator.pop(context);
@ -94,7 +94,7 @@ Widget defaultEmbedBuilder(BuildContext context, QuillController controller,
color: Colors.red.shade200, color: Colors.red.shade200,
text: 'Remove'.i18n, text: 'Remove'.i18n,
onPressed: () { onPressed: () {
final offset = _getImageNode(controller).item1!; final offset = _getImageNode(controller).item1;
controller.replaceText(offset, 1, '', controller.replaceText(offset, 1, '',
TextSelection.collapsed(offset: offset)); TextSelection.collapsed(offset: offset));
Navigator.pop(context); Navigator.pop(context);
@ -135,7 +135,7 @@ Widget defaultEmbedBuilder(BuildContext context, QuillController controller,
} }
} }
Tuple2<int?, leaf.Embed?> _getImageNode(QuillController controller) { Tuple2<int, leaf.Embed> _getImageNode(QuillController controller) {
var offset = controller.selection.start; var offset = controller.selection.start;
var imageNode = controller.queryNode(offset); var imageNode = controller.queryNode(offset);
if (imageNode == null || !(imageNode is leaf.Embed)) { if (imageNode == null || !(imageNode is leaf.Embed)) {
@ -146,7 +146,7 @@ Tuple2<int?, leaf.Embed?> _getImageNode(QuillController controller) {
return Tuple2(offset, imageNode); return Tuple2(offset, imageNode);
} }
return const Tuple2(null, null); return throw 'Image node not found by offset $offset';
} }
Widget _menuOptionsForReadonlyImage( Widget _menuOptionsForReadonlyImage(

Loading…
Cancel
Save