fix: Drop the support for formula in the editor

pull/1530/head
Ellet 1 year ago
parent b45675cfee
commit 8872055f5c
No known key found for this signature in database
GPG Key ID: C488CC70BBCEF0D1
  1. 2
      example/lib/pages/home_page.dart
  2. 2
      flutter_quill_extensions/CHANGELOG.md
  3. 17
      flutter_quill_extensions/lib/flutter_quill_extensions.dart
  4. 43
      flutter_quill_extensions/lib/presentation/embeds/editor/formula.dart
  5. 2
      flutter_quill_extensions/pubspec.yaml

@ -536,7 +536,6 @@ class _HomePageState extends State<HomePage> {
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
customButtons: customButtons, customButtons: customButtons,
embedButtons: FlutterQuillEmbeds.toolbarButtons( embedButtons: FlutterQuillEmbeds.toolbarButtons(
formulaButtonOptions: const QuillToolbarFormulaButtonOptions(),
cameraButtonOptions: const QuillToolbarCameraButtonOptions(), cameraButtonOptions: const QuillToolbarCameraButtonOptions(),
imageButtonOptions: QuillToolbarImageButtonOptions( imageButtonOptions: QuillToolbarImageButtonOptions(
imageButtonConfigurations: QuillToolbarImageConfigurations( imageButtonConfigurations: QuillToolbarImageConfigurations(
@ -582,7 +581,6 @@ class _HomePageState extends State<HomePage> {
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
customButtons: customButtons, customButtons: customButtons,
embedButtons: FlutterQuillEmbeds.toolbarButtons( embedButtons: FlutterQuillEmbeds.toolbarButtons(
formulaButtonOptions: const QuillToolbarFormulaButtonOptions(),
cameraButtonOptions: const QuillToolbarCameraButtonOptions(), cameraButtonOptions: const QuillToolbarCameraButtonOptions(),
videoButtonOptions: QuillToolbarVideoButtonOptions( videoButtonOptions: QuillToolbarVideoButtonOptions(
videoConfigurations: QuillToolbarVideoConfigurations( videoConfigurations: QuillToolbarVideoConfigurations(

@ -1,7 +1,7 @@
## 0.6.9 ## 0.6.9
- Feature: Add supprot for formula for web - Feature: Add supprot for formula for web
- Remove duplicated class - Remove duplicated class
- Improve the image and video embed builder for both web and other platforms - Drop the support for `QuillEditorFormulaEmbedBuilder` for now as it's not usable, we are working on providing a fixes
## 0.6.8 ## 0.6.8
- Feature: Allow the developer to override the `assetsPrefix` and default value is `assets`, you should define this correctly if you planning on using asset images in the `QuillEditor`, take a look at `QuillSharedExtensionsConfigurations` class for more info - Feature: Allow the developer to override the `assetsPrefix` and default value is `assets`, you should define this correctly if you planning on using asset images in the `QuillEditor`, take a look at `QuillSharedExtensionsConfigurations` class for more info

@ -107,7 +107,6 @@ class FlutterQuillEmbeds {
QuillEditorVideoEmbedBuilder( QuillEditorVideoEmbedBuilder(
configurations: videoEmbedConfigurations, configurations: videoEmbedConfigurations,
), ),
const QuillEditorFormulaEmbedBuilder(),
if (webViewEmbedConfigurations != null) if (webViewEmbedConfigurations != null)
QuillEditorWebViewEmbedBuilder( QuillEditorWebViewEmbedBuilder(
configurations: webViewEmbedConfigurations, configurations: webViewEmbedConfigurations,
@ -143,7 +142,6 @@ class FlutterQuillEmbeds {
QuillEditorWebVideoEmbedBuilder( QuillEditorWebVideoEmbedBuilder(
configurations: videoEmbedConfigurations, configurations: videoEmbedConfigurations,
), ),
const QuillEditorFormulaEmbedBuilder()
]; ];
} }
@ -185,8 +183,6 @@ class FlutterQuillEmbeds {
const QuillToolbarImageButtonOptions(), const QuillToolbarImageButtonOptions(),
QuillToolbarVideoButtonOptions? videoButtonOptions = QuillToolbarVideoButtonOptions? videoButtonOptions =
const QuillToolbarVideoButtonOptions(), const QuillToolbarVideoButtonOptions(),
QuillToolbarFormulaButtonOptions? formulaButtonOptions =
const QuillToolbarFormulaButtonOptions(),
QuillToolbarCameraButtonOptions? cameraButtonOptions, QuillToolbarCameraButtonOptions? cameraButtonOptions,
QuillToolbarMediaButtonOptions? mediaButtonOptions, QuillToolbarMediaButtonOptions? mediaButtonOptions,
}) => }) =>
@ -216,11 +212,12 @@ class FlutterQuillEmbeds {
// controller: mediaButtonOptions.controller ?? controller, // controller: mediaButtonOptions.controller ?? controller,
// options: mediaButtonOptions, // options: mediaButtonOptions,
// ), // ),
if (formulaButtonOptions != null) // Drop the support for formula button for now
(controller, toolbarIconSize, iconTheme, dialogTheme) => // if (formulaButtonOptions != null)
QuillToolbarFormulaButton( // (controller, toolbarIconSize, iconTheme, dialogTheme) =>
controller: formulaButtonOptions.controller ?? controller, // QuillToolbarFormulaButton(
options: formulaButtonOptions, // controller: formulaButtonOptions.controller ?? controller,
), // options: formulaButtonOptions,
// ),
]; ];
} }

@ -1,16 +1,16 @@
import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:flutter/services.dart' show SystemChannels;
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:flutter_quill/extensions.dart' as base; import 'package:flutter_quill/extensions.dart' as base;
import 'package:flutter_quill/flutter_quill.dart' import 'package:flutter_quill/flutter_quill.dart'
show BlockEmbed, EmbedBuilder, QuillController; show BlockEmbed, EmbedBuilder, QuillController;
import 'package:math_keyboard/math_keyboard.dart';
class QuillEditorFormulaEmbedBuilder extends EmbedBuilder { class QuillEditorFormulaEmbedBuilder extends EmbedBuilder {
const QuillEditorFormulaEmbedBuilder(); const QuillEditorFormulaEmbedBuilder();
@override @override
String get key => BlockEmbed.formulaType; String get key => BlockEmbed.formulaType;
@override
bool get expanded => false;
@override @override
Widget build( Widget build(
BuildContext context, BuildContext context,
@ -20,23 +20,26 @@ class QuillEditorFormulaEmbedBuilder extends EmbedBuilder {
bool inline, bool inline,
TextStyle textStyle, TextStyle textStyle,
) { ) {
assert(!kIsWeb, 'Please provide formula EmbedBuilder for Web'); throw UnsupportedError(
'The formula EmbedBuilder is not supported for now.',
final mathController = MathFieldEditingController();
return Focus(
onFocusChange: (hasFocus) {
if (hasFocus) {
// If the MathField is tapped, hides the built in keyboard
SystemChannels.textInput.invokeMethod('TextInput.hide');
debugPrint(mathController.currentEditingValue());
}
},
child: MathField(
controller: mathController,
variables: const ['x', 'y', 'z'],
onChanged: (value) {},
onSubmitted: (value) {},
),
); );
// assert(!kIsWeb, 'Please provide formula EmbedBuilder for Web');
// final mathController = MathFieldEditingController();
// return Focus(
// onFocusChange: (hasFocus) {
// if (hasFocus) {
// // If the MathField is tapped, hides the built in keyboard
// SystemChannels.textInput.invokeMethod('TextInput.hide');
// debugPrint(mathController.currentEditingValue());
// }
// },
// child: MathField(
// controller: mathController,
// variables: const ['x', 'y', 'z'],
// onChanged: (value) {},
// onSubmitted: (value) {},
// ),
// );
} }
} }

@ -33,7 +33,7 @@ dependencies:
meta: ^1.9.1 meta: ^1.9.1
universal_html: ^2.2.4 universal_html: ^2.2.4
cross_file: ^0.3.3+6 cross_file: ^0.3.3+6
math_keyboard: ^0.2.1 # math_keyboard: ^0.2.1
photo_view: ^0.14.0 photo_view: ^0.14.0

Loading…
Cancel
Save