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

@ -1,7 +1,7 @@
## 0.6.9
- Feature: Add supprot for formula for web
- 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
- 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(
configurations: videoEmbedConfigurations,
),
const QuillEditorFormulaEmbedBuilder(),
if (webViewEmbedConfigurations != null)
QuillEditorWebViewEmbedBuilder(
configurations: webViewEmbedConfigurations,
@ -143,7 +142,6 @@ class FlutterQuillEmbeds {
QuillEditorWebVideoEmbedBuilder(
configurations: videoEmbedConfigurations,
),
const QuillEditorFormulaEmbedBuilder()
];
}
@ -185,8 +183,6 @@ class FlutterQuillEmbeds {
const QuillToolbarImageButtonOptions(),
QuillToolbarVideoButtonOptions? videoButtonOptions =
const QuillToolbarVideoButtonOptions(),
QuillToolbarFormulaButtonOptions? formulaButtonOptions =
const QuillToolbarFormulaButtonOptions(),
QuillToolbarCameraButtonOptions? cameraButtonOptions,
QuillToolbarMediaButtonOptions? mediaButtonOptions,
}) =>
@ -216,11 +212,12 @@ class FlutterQuillEmbeds {
// controller: mediaButtonOptions.controller ?? controller,
// options: mediaButtonOptions,
// ),
if (formulaButtonOptions != null)
(controller, toolbarIconSize, iconTheme, dialogTheme) =>
QuillToolbarFormulaButton(
controller: formulaButtonOptions.controller ?? controller,
options: formulaButtonOptions,
),
// Drop the support for formula button for now
// if (formulaButtonOptions != null)
// (controller, toolbarIconSize, iconTheme, dialogTheme) =>
// QuillToolbarFormulaButton(
// 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_quill/extensions.dart' as base;
import 'package:flutter_quill/flutter_quill.dart'
show BlockEmbed, EmbedBuilder, QuillController;
import 'package:math_keyboard/math_keyboard.dart';
class QuillEditorFormulaEmbedBuilder extends EmbedBuilder {
const QuillEditorFormulaEmbedBuilder();
@override
String get key => BlockEmbed.formulaType;
@override
bool get expanded => false;
@override
Widget build(
BuildContext context,
@ -20,23 +20,26 @@ class QuillEditorFormulaEmbedBuilder extends EmbedBuilder {
bool inline,
TextStyle textStyle,
) {
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) {},
),
throw UnsupportedError(
'The formula EmbedBuilder is not supported for now.',
);
// 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
universal_html: ^2.2.4
cross_file: ^0.3.3+6
math_keyboard: ^0.2.1
# math_keyboard: ^0.2.1
photo_view: ^0.14.0

Loading…
Cancel
Save