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.
94 lines
3.7 KiB
94 lines
3.7 KiB
1 year ago
|
import 'package:flutter/widgets.dart' show BuildContext;
|
||
|
|
||
|
import '../../flutter_quill.dart';
|
||
|
|
||
|
extension QuillControllerExt on BuildContext {
|
||
|
/// return nullable [QuillController]
|
||
|
QuillController? get quilController {
|
||
|
return quillSimpleToolbarConfigurations?.controller ??
|
||
|
quillEditorConfigurations?.controller;
|
||
|
}
|
||
|
|
||
|
/// return [QuillController] as not null
|
||
|
QuillController get requireQuillController {
|
||
|
return quillSimpleToolbarConfigurations?.controller ??
|
||
|
quillEditorConfigurations?.controller ??
|
||
|
(throw ArgumentError(
|
||
|
'The quill provider is required, you must only call requireQuillController inside the QuillToolbar and QuillEditor'));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
extension QuillSharedExt on BuildContext {
|
||
|
/// return nullable [QuillSharedConfigurations]
|
||
|
QuillSharedConfigurations? get quillSharedConfigurations {
|
||
|
return quillSimpleToolbarConfigurations?.sharedConfigurations ??
|
||
|
quillEditorConfigurations?.sharedConfigurations;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
extension QuillEditorExt on BuildContext {
|
||
|
/// return [QuillEditorConfigurations] as not null
|
||
|
QuillEditorConfigurations get requireQuillEditorConfigurations {
|
||
|
return QuillEditorProvider.of(this).editorConfigurations;
|
||
|
}
|
||
|
|
||
|
/// return nullable [QuillEditorConfigurations]
|
||
|
QuillEditorConfigurations? get quillEditorConfigurations {
|
||
|
return QuillEditorProvider.maybeOf(this)?.editorConfigurations;
|
||
|
}
|
||
|
|
||
|
/// return nullable [QuillToolbarBaseButtonOptions]. Since the quill
|
||
|
/// quill editor block options is in the [QuillEditorProvider] then we need to
|
||
|
/// get the provider widget first and then we will return block options
|
||
|
/// throw exception if [QuillEditorProvider] is not in the widget tree
|
||
|
QuillEditorElementOptions? get quillEditorElementOptions {
|
||
|
return quillEditorConfigurations?.elementOptions;
|
||
|
}
|
||
|
|
||
|
/// return [QuillToolbarBaseButtonOptions] as not null. Since the quill
|
||
|
/// quill editor block options is in the [QuillEditorProvider] then we need to
|
||
|
/// get the provider widget first and then we will return block options
|
||
|
/// don't throw exception if [QuillEditorProvider] is not in the widget tree
|
||
|
QuillEditorElementOptions get requireQuillEditorElementOptions {
|
||
|
return requireQuillEditorConfigurations.elementOptions;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
extension QuillSimpleToolbarExt on BuildContext {
|
||
|
/// return [QuillSimpleToolbarConfigurations] as not null
|
||
|
QuillSimpleToolbarConfigurations get requireQuillSimpleToolbarConfigurations {
|
||
|
return QuillSimpleToolbarProvider.of(this).toolbarConfigurations;
|
||
|
}
|
||
|
|
||
|
/// return nullable [QuillSimpleToolbarConfigurations]
|
||
|
QuillSimpleToolbarConfigurations? get quillSimpleToolbarConfigurations {
|
||
|
return QuillSimpleToolbarProvider.maybeOf(this)?.toolbarConfigurations;
|
||
|
}
|
||
|
|
||
|
/// return nullable [QuillToolbarBaseButtonOptions].
|
||
|
QuillToolbarBaseButtonOptions? get quillToolbarBaseButtonOptions {
|
||
|
return quillSimpleToolbarConfigurations?.buttonOptions.base;
|
||
|
}
|
||
|
|
||
|
/// return [QuillToolbarBaseButtonOptions] as not null.
|
||
|
QuillToolbarBaseButtonOptions get requireQuillToolbarBaseButtonOptions {
|
||
|
return quillSimpleToolbarConfigurations?.buttonOptions.base ??
|
||
|
quillToolbarConfigurations?.buttonOptions.base ??
|
||
|
(throw ArgumentError(
|
||
|
"The buttonOptions is required and it's null because the toolbar configurations is.",
|
||
|
));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
extension QuillToolbarExt on BuildContext {
|
||
|
/// return [QuillToolbarConfigurations] as not null
|
||
|
QuillToolbarConfigurations get requireQuillToolbarConfigurations {
|
||
|
return QuillToolbarProvider.of(this).toolbarConfigurations;
|
||
|
}
|
||
|
|
||
|
/// return nullable [QuillToolbarConfigurations].
|
||
|
QuillToolbarConfigurations? get quillToolbarConfigurations {
|
||
|
return QuillToolbarProvider.maybeOf(this)?.toolbarConfigurations;
|
||
|
}
|
||
|
}
|