Update the example + Few more changes

pull/1517/head
Ellet 1 year ago
parent 00d0d650c1
commit b61c4353ce
No known key found for this signature in database
GPG Key ID: C488CC70BBCEF0D1
  1. 8
      example/lib/pages/home_page.dart
  2. 2
      lib/src/models/config/toolbar/base_configurations.dart
  3. 6
      lib/src/models/config/toolbar/configurations.dart
  4. 1
      lib/src/widgets/toolbar/buttons/custom_button.dart
  5. 5
      lib/src/widgets/toolbar/toolbar.dart
  6. 10
      test/bug_fix_test.dart

@ -457,9 +457,15 @@ class _HomePageState extends State<HomePage> {
} }
QuillToolbar get quillToolbar { QuillToolbar get quillToolbar {
final customButtons = [
const QuillToolbarCustomButtonOptions(
icon: Icon(Icons.add),
),
];
if (kIsWeb) { if (kIsWeb) {
return QuillToolbar( return QuillToolbar(
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
customButtons: customButtons,
embedButtons: FlutterQuillEmbeds.toolbarButtons( embedButtons: FlutterQuillEmbeds.toolbarButtons(
imageButtonOptions: QuillToolbarImageButtonOptions( imageButtonOptions: QuillToolbarImageButtonOptions(
imageButtonConfigurations: QuillToolbarImageConfigurations( imageButtonConfigurations: QuillToolbarImageConfigurations(
@ -482,6 +488,7 @@ class _HomePageState extends State<HomePage> {
if (isDesktop()) { if (isDesktop()) {
return QuillToolbar( return QuillToolbar(
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
customButtons: customButtons,
embedButtons: FlutterQuillEmbeds.toolbarButtons( embedButtons: FlutterQuillEmbeds.toolbarButtons(
imageButtonOptions: QuillToolbarImageButtonOptions( imageButtonOptions: QuillToolbarImageButtonOptions(
imageButtonConfigurations: QuillToolbarImageConfigurations( imageButtonConfigurations: QuillToolbarImageConfigurations(
@ -502,6 +509,7 @@ class _HomePageState extends State<HomePage> {
} }
return QuillToolbar( return QuillToolbar(
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
customButtons: customButtons,
embedButtons: FlutterQuillEmbeds.toolbarButtons( embedButtons: FlutterQuillEmbeds.toolbarButtons(
videoButtonOptions: QuillToolbarVideoButtonOptions( videoButtonOptions: QuillToolbarVideoButtonOptions(
videoConfigurations: QuillToolbarVideoConfigurations( videoConfigurations: QuillToolbarVideoConfigurations(

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

@ -2,9 +2,8 @@ import 'package:equatable/equatable.dart';
import 'package:flutter/foundation.dart' show immutable; import 'package:flutter/foundation.dart' show immutable;
import 'package:flutter/widgets.dart' 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/toolbar/buttons/custom_button.dart'; import '../../../widgets/embeds.dart';
import '../../structs/link_dialog_action.dart'; import '../../structs/link_dialog_action.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';
@ -27,6 +26,7 @@ export './../../../widgets/toolbar/buttons/search/search_dialog.dart';
export './buttons/base.dart'; export './buttons/base.dart';
export './buttons/clear_format.dart'; export './buttons/clear_format.dart';
export './buttons/color.dart'; export './buttons/color.dart';
export './buttons/custom_button.dart';
export './buttons/font_family.dart'; export './buttons/font_family.dart';
export './buttons/font_size.dart'; export './buttons/font_size.dart';
export './buttons/history.dart'; export './buttons/history.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<QuillToolbarCustomButton> customButtons; final List<QuillToolbarCustomButtonOptions> customButtons;
/// The decoration to use for the toolbar. /// The decoration to use for the toolbar.
final Decoration? decoration; final Decoration? decoration;

@ -1,6 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../../models/config/toolbar/buttons/custom_button.dart';
import '../../../models/themes/quill_icon_theme.dart'; import '../../../models/themes/quill_icon_theme.dart';
import '../../../utils/extensions/build_context.dart'; import '../../../utils/extensions/build_context.dart';
import '../../controller.dart'; import '../../controller.dart';

@ -411,7 +411,10 @@ class QuillToolbar extends StatelessWidget {
space: configurations.sectionDividerSpace, space: configurations.sectionDividerSpace,
), ),
for (final customButton in configurations.customButtons) for (final customButton in configurations.customButtons)
customButton, QuillToolbarCustomButton(
options: customButton,
controller: customButton.controller ?? globalController,
),
// if (customButton.child != null) ...[ // if (customButton.child != null) ...[
// InkWell( // InkWell(
// onTap: customButton.onTap, // onTap: customButton.onTap,

@ -1,6 +1,5 @@
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';
@ -21,16 +20,13 @@ void main() {
configurations: QuillConfigurations( configurations: QuillConfigurations(
controller: controller, controller: controller,
), ),
child: QuillToolbar( child: const QuillToolbar(
configurations: QuillToolbarConfigurations( configurations: QuillToolbarConfigurations(
showRedo: false, showRedo: false,
customButtons: [ customButtons: [
QuillToolbarCustomButton( QuillToolbarCustomButtonOptions(
options: const QuillToolbarCustomButtonOptions(
tooltip: tooltip, tooltip: tooltip,
), )
controller: controller,
),
], ],
), ),
), ),

Loading…
Cancel
Save