Fix quill provider bug

pull/1530/head
Ellet 1 year ago
parent 49db2ef5cf
commit e28a916abb
No known key found for this signature in database
GPG Key ID: C488CC70BBCEF0D1
  1. 19
      flutter_quill_extensions/lib/presentation/embeds/editor/image/image.dart
  2. 6
      flutter_quill_extensions/lib/presentation/embeds/editor/image/image_menu.dart
  3. 7
      flutter_quill_extensions/lib/presentation/embeds/widgets/image.dart

@ -117,14 +117,17 @@ class QuillEditorImageEmbedBuilder extends EmbedBuilder {
onTap: configurations.onImageClicked ?? onTap: configurations.onImageClicked ??
() => showDialog( () => showDialog(
context: context, context: context,
builder: (context) { builder: (_) {
return ImageOptionsMenu( return QuillProvider.value(
controller: controller, value: context.requireQuillProvider,
configurations: configurations, child: ImageOptionsMenu(
imageSource: imageSource, controller: controller,
imageSize: imageSize, configurations: configurations,
isReadOnly: readOnly, imageSource: imageSource,
imageSaverService: imageSaverService, imageSize: imageSize,
isReadOnly: readOnly,
imageSaverService: imageSaverService,
),
); );
}, },
), ),

@ -6,6 +6,7 @@ import 'package:flutter_quill/flutter_quill.dart'
show ImageUrl, QuillController, StyleAttribute, getEmbedNode; show ImageUrl, QuillController, StyleAttribute, getEmbedNode;
import 'package:flutter_quill/translations.dart'; import 'package:flutter_quill/translations.dart';
import '../../../../logic/models/config/shared_configurations.dart';
import '../../../../logic/services/image_saver/s_image_saver.dart'; import '../../../../logic/services/image_saver/s_image_saver.dart';
import '../../../models/config/editor/image/image.dart'; import '../../../models/config/editor/image/image.dart';
import '../../../utils/utils.dart'; import '../../../utils/utils.dart';
@ -178,7 +179,10 @@ class ImageOptionsMenu extends StatelessWidget {
onTap: () => Navigator.pushReplacement( onTap: () => Navigator.pushReplacement(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => ImageTapWrapper( builder: (_) => ImageTapWrapper(
assetsPrefix: QuillSharedExtensionsConfigurations.get(
context: context)
.assetsPrefix,
imageUrl: imageSource, imageUrl: imageSource,
configurations: configurations, configurations: configurations,
), ),

@ -5,7 +5,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill.dart';
import 'package:photo_view/photo_view.dart'; import 'package:photo_view/photo_view.dart';
import '../../../logic/models/config/shared_configurations.dart';
import '../../models/config/editor/image/image.dart'; import '../../models/config/editor/image/image.dart';
import '../../utils/utils.dart'; import '../../utils/utils.dart';
import '../embed_types/image.dart'; import '../embed_types/image.dart';
@ -109,11 +108,13 @@ class ImageTapWrapper extends StatelessWidget {
const ImageTapWrapper({ const ImageTapWrapper({
required this.imageUrl, required this.imageUrl,
required this.configurations, required this.configurations,
required this.assetsPrefix,
super.key, super.key,
}); });
final String imageUrl; final String imageUrl;
final QuillEditorImageEmbedConfigurations configurations; final QuillEditorImageEmbedConfigurations configurations;
final String assetsPrefix;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -128,9 +129,7 @@ class ImageTapWrapper extends StatelessWidget {
imageProvider: getImageProviderByImageSource( imageProvider: getImageProviderByImageSource(
imageUrl, imageUrl,
imageProviderBuilder: configurations.imageProviderBuilder, imageProviderBuilder: configurations.imageProviderBuilder,
assetsPrefix: assetsPrefix: assetsPrefix,
QuillSharedExtensionsConfigurations.get(context: context)
.assetsPrefix,
), ),
errorBuilder: configurations.imageErrorWidgetBuilder, errorBuilder: configurations.imageErrorWidgetBuilder,
loadingBuilder: (context, event) { loadingBuilder: (context, event) {

Loading…
Cancel
Save