From 6ce1daffaadd45fdf971a3104ce0d06b0db2cf35 Mon Sep 17 00:00:00 2001 From: Ahmed Hnewa <73608287+freshtechtips@users.noreply.github.com> Date: Sat, 21 Oct 2023 23:53:43 +0300 Subject: [PATCH] Fixes --- example/ios/Runner.xcodeproj/project.pbxproj | 3 ++- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- flutter_quill_extensions/pubspec.yaml | 6 +++--- lib/src/models/config/editor/configurations.dart | 9 ++++++++- lib/src/models/config/quill_configurations.dart | 10 +++++++++- lib/src/models/config/shared_configurations.dart | 9 ++++++++- .../config/toolbar/buttons/font_family.dart | 2 +- .../models/config/toolbar/configurations.dart | 16 ++++++++++++---- lib/src/widgets/utils/provider.dart | 4 ++-- pubspec.yaml | 1 + 10 files changed, 47 insertions(+), 15 deletions(-) diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 3d83c0c2..01a3496a 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -167,7 +167,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -215,6 +215,7 @@ files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 3db53b6e..b52b2e69 100644 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =1.0.4" diff --git a/lib/src/models/config/editor/configurations.dart b/lib/src/models/config/editor/configurations.dart index ce4e7ead..98abf0ad 100644 --- a/lib/src/models/config/editor/configurations.dart +++ b/lib/src/models/config/editor/configurations.dart @@ -1,8 +1,9 @@ +import 'package:equatable/equatable.dart'; import 'package:flutter/foundation.dart' show immutable; /// The configurations for the quill editor widget of flutter quill @immutable -class QuillEditorConfigurations { +class QuillEditorConfigurations extends Equatable { const QuillEditorConfigurations({ this.placeholder, this.readOnly = false, @@ -18,4 +19,10 @@ class QuillEditorConfigurations { /// /// Defaults to `false`. Must not be `null`. final bool readOnly; + + @override + List get props => [ + placeholder, + readOnly, + ]; } diff --git a/lib/src/models/config/quill_configurations.dart b/lib/src/models/config/quill_configurations.dart index 25313dbf..e37a9fad 100644 --- a/lib/src/models/config/quill_configurations.dart +++ b/lib/src/models/config/quill_configurations.dart @@ -1,3 +1,4 @@ +import 'package:equatable/equatable.dart'; import 'package:flutter/foundation.dart' show immutable; import '../../../flutter_quill.dart'; @@ -7,7 +8,7 @@ export './shared_configurations.dart'; export './toolbar/configurations.dart'; @immutable -class QuillConfigurations { +class QuillConfigurations extends Equatable { const QuillConfigurations({ required this.controller, this.editorConfigurations = const QuillEditorConfigurations(), @@ -32,4 +33,11 @@ class QuillConfigurations { /// The shared configurations between [QuillEditorConfigurations] and /// [QuillToolbarConfigurations] so we don't duplicate things final QuillSharedConfigurations sharedConfigurations; + + @override + List get props => [ + editorConfigurations, + toolbarConfigurations, + sharedConfigurations, + ]; } diff --git a/lib/src/models/config/shared_configurations.dart b/lib/src/models/config/shared_configurations.dart index 434677a0..8c1a9449 100644 --- a/lib/src/models/config/shared_configurations.dart +++ b/lib/src/models/config/shared_configurations.dart @@ -1,10 +1,11 @@ +import 'package:equatable/equatable.dart'; import 'package:flutter/material.dart' show Color, Colors, Locale; import './editor/configurations.dart' show QuillEditorConfigurations; import './toolbar/configurations.dart' show QuillToolbarConfigurations; /// The shared configurations between [QuillEditorConfigurations] and /// [QuillToolbarConfigurations] so we don't duplicate things -class QuillSharedConfigurations { +class QuillSharedConfigurations extends Equatable { const QuillSharedConfigurations({ this.dialogBarrierColor = Colors.black54, this.locale, @@ -18,4 +19,10 @@ class QuillSharedConfigurations { /// The locale to use for the editor and toolbar, defaults to system locale /// More https://github.com/singerdmx/flutter-quill#translation final Locale? locale; + + @override + List get props => [ + dialogBarrierColor, + locale, + ]; } diff --git a/lib/src/models/config/toolbar/buttons/font_family.dart b/lib/src/models/config/toolbar/buttons/font_family.dart index babdb56d..f098c9ec 100644 --- a/lib/src/models/config/toolbar/buttons/font_family.dart +++ b/lib/src/models/config/toolbar/buttons/font_family.dart @@ -25,7 +25,7 @@ class QuillToolbarFontFamilyButtonOptions extends QuillToolbarBaseButtonOptions< QuillToolbarFontFamilyButtonOptions, QuillToolbarFontFamilyButtonExtraOptions> { const QuillToolbarFontFamilyButtonOptions({ - required this.attribute, + this.attribute = Attribute.bold, this.rawItemsMap, super.controller, super.iconData, diff --git a/lib/src/models/config/toolbar/configurations.dart b/lib/src/models/config/toolbar/configurations.dart index 6a8193bb..54cadd33 100644 --- a/lib/src/models/config/toolbar/configurations.dart +++ b/lib/src/models/config/toolbar/configurations.dart @@ -1,3 +1,4 @@ +import 'package:equatable/equatable.dart'; import 'package:flutter/foundation.dart' show immutable; import '../../documents/attribute.dart'; @@ -6,6 +7,7 @@ import 'buttons/font_family.dart'; import 'buttons/history.dart'; export './buttons/base.dart'; +export './buttons/font_family.dart'; export './buttons/history.dart'; export './buttons/toggle_style.dart'; @@ -23,7 +25,7 @@ const double kToolbarSectionSpacing = 4; /// The configurations for the toolbar widget of flutter quill @immutable -class QuillToolbarConfigurations { +class QuillToolbarConfigurations extends Equatable { const QuillToolbarConfigurations({ this.buttonOptions = const QuillToolbarButtonOptions(), this.multiRowsDisplay = true, @@ -67,6 +69,14 @@ class QuillToolbarConfigurations { /// }; /// ``` final Map? fontFamilyValues; + + @override + List get props => [ + buttonOptions, + multiRowsDisplay, + fontFamilyValues, + toolbarSize, + ]; } /// The configurations for the buttons of the toolbar widget of flutter quill @@ -80,9 +90,7 @@ class QuillToolbarButtonOptions { this.redoHistoryButtonOptions = const QuillToolbarHistoryButtonOptions( isUndo: false, ), - this.fontFamilyButtonOptions = const QuillToolbarFontFamilyButtonOptions( - attribute: Attribute.font, - ), + this.fontFamilyButtonOptions = const QuillToolbarFontFamilyButtonOptions(), }); /// The base configurations for all the buttons diff --git a/lib/src/widgets/utils/provider.dart b/lib/src/widgets/utils/provider.dart index 1835bc87..9e71e1ad 100644 --- a/lib/src/widgets/utils/provider.dart +++ b/lib/src/widgets/utils/provider.dart @@ -17,8 +17,8 @@ class QuillProvider extends InheritedWidget { final QuillConfigurations configurations; @override - bool updateShouldNotify(covariant InheritedWidget oldWidget) { - throw false; + bool updateShouldNotify(covariant QuillProvider oldWidget) { + throw true; } static QuillProvider? of(BuildContext context) { diff --git a/pubspec.yaml b/pubspec.yaml index 276a8160..98158560 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -30,6 +30,7 @@ dependencies: device_info_plus: ^9.1.0 platform: ^3.1.3 pasteboard: ^0.2.0 + equatable: ^2.0.5 flutter_test: sdk: flutter