Fix test failures + New adjustments

pull/1517/head
Ellet 1 year ago
parent ad642da044
commit ce97e29091
No known key found for this signature in database
GPG Key ID: C488CC70BBCEF0D1
  1. 2
      lib/src/models/config/toolbar/base_configurations.dart
  2. 4
      lib/src/models/config/toolbar/configurations.dart
  3. 34
      lib/src/models/themes/quill_custom_button.dart
  4. 29
      lib/src/widgets/toolbar/toolbar.dart
  5. 14
      test/bug_fix_test.dart

@ -41,7 +41,7 @@ class QuillBaseToolbarConfigurations extends Equatable {
final Color? color; final Color? color;
/// List of custom buttons /// List of custom buttons
final List<QuillCustomButton> customButtons; final List<QuillToolbarCustomButton> customButtons;
/// The color to use when painting the toolbar section divider. /// The color to use when painting the toolbar section divider.
/// ///

@ -4,8 +4,8 @@ import 'package:flutter/widgets.dart'
show Axis, Color, Decoration, Widget, WrapAlignment, WrapCrossAlignment; show Axis, Color, Decoration, Widget, WrapAlignment, WrapCrossAlignment;
import '../../../widgets/embeds.dart'; import '../../../widgets/embeds.dart';
import '../../../widgets/toolbar/buttons/custom_button.dart';
import '../../structs/link_dialog_action.dart'; import '../../structs/link_dialog_action.dart';
import '../../themes/quill_custom_button.dart';
import '../../themes/quill_dialog_theme.dart'; import '../../themes/quill_dialog_theme.dart';
import '../../themes/quill_icon_theme.dart'; import '../../themes/quill_icon_theme.dart';
import 'buttons/base.dart'; import 'buttons/base.dart';
@ -212,7 +212,7 @@ class QuillToolbarConfigurations extends Equatable {
final bool showSearchButton; final bool showSearchButton;
final bool showSubscript; final bool showSubscript;
final bool showSuperscript; final bool showSuperscript;
final List<QuillCustomButton> customButtons; final List<QuillToolbarCustomButton> customButtons;
/// The decoration to use for the toolbar. /// The decoration to use for the toolbar.
final Decoration? decoration; final Decoration? decoration;

@ -1,22 +1,22 @@
import 'package:flutter/material.dart'; // import 'package:flutter/material.dart';
import '../../widgets/toolbar/base_toolbar.dart'; // import '../../widgets/toolbar/base_toolbar.dart';
class QuillCustomButton extends QuillToolbarBaseButtonOptions { // class QuillCustomButton extends QuillToolbarBaseButtonOptions {
const QuillCustomButton({ // const QuillCustomButton({
this.icon, // this.icon,
this.onTap, // this.onTap,
super.tooltip, // super.tooltip,
this.child, // this.child,
super.iconTheme, // super.iconTheme,
}); // });
/// The icon widget // /// The icon widget
final Widget? icon; // final Widget? icon;
/// The function when the icon is tapped // /// The function when the icon is tapped
final VoidCallback? onTap; // final VoidCallback? onTap;
/// The customButton placeholder // /// The customButton placeholder
final Widget? child; // final Widget? child;
} // }

@ -411,20 +411,21 @@ class QuillToolbar extends StatelessWidget {
space: configurations.sectionDividerSpace, space: configurations.sectionDividerSpace,
), ),
for (final customButton in configurations.customButtons) for (final customButton in configurations.customButtons)
if (customButton.child != null) ...[ customButton,
InkWell( // if (customButton.child != null) ...[
onTap: customButton.onTap, // InkWell(
child: customButton.child, // onTap: customButton.onTap,
), // child: customButton.child,
] else ...[ // ),
QuillToolbarCustomButton( // ] else ...[
options: // QuillToolbarCustomButton(
toolbarConfigurations.buttonOptions.customButtons, // options:
controller: toolbarConfigurations // toolbarConfigurations.buttonOptions.customButtons,
.buttonOptions.customButtons.controller ?? // controller: toolbarConfigurations
globalController, // .buttonOptions.customButtons.controller ??
), // globalController,
], // ),
// ],
spacerWidget, spacerWidget,
], ],
]; ];

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_quill/flutter_quill.dart'; import 'package:flutter_quill/flutter_quill.dart';
import 'package:flutter_quill/src/models/config/toolbar/buttons/custom_button.dart';
import 'package:flutter_quill_test/flutter_quill_test.dart'; import 'package:flutter_quill_test/flutter_quill_test.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
@ -12,17 +13,24 @@ void main() {
(tester) async { (tester) async {
const tooltip = 'custom button'; const tooltip = 'custom button';
final controller = QuillController.basic();
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
home: QuillProvider( home: QuillProvider(
configurations: QuillConfigurations( configurations: QuillConfigurations(
controller: QuillController.basic(), controller: controller,
), ),
child: const QuillToolbar( child: QuillToolbar(
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
showRedo: false, showRedo: false,
customButtons: [ customButtons: [
QuillCustomButton(tooltip: tooltip), QuillToolbarCustomButton(
options: const QuillToolbarCustomButtonOptions(
tooltip: tooltip,
),
controller: controller,
),
], ],
), ),
), ),

Loading…
Cancel
Save