dartlangeditorflutterflutter-appsflutter-examplesflutter-packageflutter-widgetquillquill-deltaquilljsreactquillrich-textrich-text-editorwysiwygwysiwyg-editor
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
51 lines
1.5 KiB
2 years ago
|
import 'package:flutter/foundation.dart' show debugPrint, kDebugMode;
|
||
|
import 'package:flutter/widgets.dart' show InheritedWidget, BuildContext;
|
||
|
|
||
|
import '../../core/quill_configurations.dart';
|
||
|
|
||
|
class QuillProvider extends InheritedWidget {
|
||
|
const QuillProvider({
|
||
|
required this.configurations,
|
||
|
required super.child,
|
||
|
});
|
||
|
|
||
|
/// Controller object which establishes a link between a rich text document
|
||
|
/// and this editor.
|
||
|
///
|
||
|
/// Must not be null.
|
||
|
final QuillConfigurations configurations;
|
||
|
|
||
|
@override
|
||
|
bool updateShouldNotify(covariant InheritedWidget oldWidget) {
|
||
|
throw false;
|
||
|
}
|
||
|
|
||
|
static QuillProvider? of(BuildContext context) {
|
||
|
return context.dependOnInheritedWidgetOfExactType<QuillProvider>();
|
||
|
}
|
||
|
|
||
|
static QuillProvider ofNotNull(BuildContext context) {
|
||
|
final provider = of(context);
|
||
|
if (provider == null) {
|
||
|
if (kDebugMode) {
|
||
|
debugPrint(
|
||
|
'The quill provider must be provided in the widget tree.',
|
||
|
);
|
||
|
}
|
||
|
throw ArgumentError.checkNotNull(
|
||
|
'You are using a widget in the Flutter quill library that require '
|
||
|
'The Quill provider widget to be in the parent widget tree '
|
||
|
'because '
|
||
|
'The provider is $provider. Please make sure to wrap this widget'
|
||
|
' with'
|
||
|
' QuillProvider widget. '
|
||
|
'You might using QuillEditor and QuillToolbar so make sure to'
|
||
|
' wrap them with the quill provider widget and setup the required '
|
||
|
'configurations',
|
||
|
'QuillProvider',
|
||
|
);
|
||
|
}
|
||
|
return provider;
|
||
|
}
|
||
|
}
|