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.
93 lines
3.7 KiB
93 lines
3.7 KiB
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; |
|
} |
|
}
|
|
|