From 82fcf5258a3560dbebdd272a43e565a31f63705b Mon Sep 17 00:00:00 2001 From: FahadFahim71 <45163265+FahadFahim71@users.noreply.github.com> Date: Fri, 27 Oct 2023 11:12:26 +0200 Subject: [PATCH] fix: add enabled property to FlutterFormInputPlainText and FlutterFormInputDateTime --- CHANGELOG.md | 5 ++++- example/pubspec.lock | 2 +- lib/src/widgets/input/abstractions.dart | 3 +++ .../input_date_picker/input_date_picker.dart | 8 ++++++++ lib/src/widgets/input/input_types/input_email.dart | 3 +++ .../input_types/input_password/input_password.dart | 12 ++++++++---- .../widgets/input/input_types/input_plain_text.dart | 9 +++++++++ pubspec.yaml | 2 +- 8 files changed, 37 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6749d6e..4a1024c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -95,4 +95,7 @@ - Bump `flutter_input_library` to version 2.3.0 ## 6.1.5 - October 26th 2023 -- Bump `flutter_input_library` to version 2.4.0 \ No newline at end of file +- Bump `flutter_input_library` to version 2.4.0 + +## 6.1.6 - October 26th 2023 +- Add enabled property to FlutterFormInputPlainText and FlutterFormInputDateTime \ No newline at end of file diff --git a/example/pubspec.lock b/example/pubspec.lock index 6a558d9..aef79b9 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -68,7 +68,7 @@ packages: path: ".." relative: true source: path - version: "6.1.4" + version: "6.1.5" flutter_input_library: dependency: transitive description: diff --git a/lib/src/widgets/input/abstractions.dart b/lib/src/widgets/input/abstractions.dart index 62bf537..3440aac 100644 --- a/lib/src/widgets/input/abstractions.dart +++ b/lib/src/widgets/input/abstractions.dart @@ -19,6 +19,7 @@ abstract class FlutterFormInputWidget extends StatelessWidget { required this.controller, this.focusNode, this.label, + this.enabled = true, String? hintText, }) : super(key: key); @@ -30,6 +31,8 @@ abstract class FlutterFormInputWidget extends StatelessWidget { final FocusNode? focusNode; + final bool enabled; + /// [registerController] should be called to register the given [controller] to the form page. registerController(BuildContext context) { FlutterFormInputController? localController = diff --git a/lib/src/widgets/input/input_types/input_date_picker/input_date_picker.dart b/lib/src/widgets/input/input_types/input_date_picker/input_date_picker.dart index db4c9f7..33b0969 100644 --- a/lib/src/widgets/input/input_types/input_date_picker/input_date_picker.dart +++ b/lib/src/widgets/input/input_types/input_date_picker/input_date_picker.dart @@ -2,6 +2,8 @@ // // SPDX-License-Identifier: BSD-3-Clause +// ignore_for_file: overridden_fields, annotate_overrides + import 'package:flutter/material.dart'; import 'package:flutter_input_library/flutter_input_library.dart' as input; import 'package:intl/intl.dart'; @@ -24,6 +26,8 @@ class FlutterFormInputDateTime extends FlutterFormInputWidget { this.initialDate, this.initialDateTimeRange, this.icon = Icons.calendar_today, + this.enabled = true, + this.onTapEnabled = true, }) : super( key: key, controller: controller, @@ -37,6 +41,8 @@ class FlutterFormInputDateTime extends FlutterFormInputWidget { final DateTime? firstDate; final DateTime? lastDate; final IconData icon; + final bool enabled; + final bool onTapEnabled; @override Widget build(BuildContext context) { @@ -44,6 +50,8 @@ class FlutterFormInputDateTime extends FlutterFormInputWidget { super.registerController(context); return input.FlutterFormInputDateTime( + enabled: enabled, + onTapEnabled: onTapEnabled, label: label, icon: icon, firstDate: firstDate, diff --git a/lib/src/widgets/input/input_types/input_email.dart b/lib/src/widgets/input/input_types/input_email.dart index 831851f..d2d33dd 100644 --- a/lib/src/widgets/input/input_types/input_email.dart +++ b/lib/src/widgets/input/input_types/input_email.dart @@ -16,11 +16,13 @@ class FlutterFormInputEmail extends FlutterFormInputWidget { required FlutterFormInputController controller, FocusNode? focusNode, Widget? label, + bool? enabled, }) : super( key: key, controller: controller, focusNode: focusNode, label: label, + enabled: enabled ?? true, ); @override @@ -30,6 +32,7 @@ class FlutterFormInputEmail extends FlutterFormInputWidget { super.registerController(context); return input.FlutterFormInputPlainText( + enabled: enabled, initialValue: controller.value, onSaved: (value) { controller.onSaved(value); diff --git a/lib/src/widgets/input/input_types/input_password/input_password.dart b/lib/src/widgets/input/input_types/input_password/input_password.dart index 27733f7..6699efc 100644 --- a/lib/src/widgets/input/input_types/input_password/input_password.dart +++ b/lib/src/widgets/input/input_types/input_password/input_password.dart @@ -15,11 +15,14 @@ class FlutterFormInputPassword extends FlutterFormInputWidget { required FlutterFormInputController controller, FocusNode? focusNode, Widget? label, + bool? enabled, }) : super( - key: key, - controller: controller, - focusNode: focusNode, - label: label); + key: key, + controller: controller, + focusNode: focusNode, + label: label, + enabled: enabled ?? true, + ); @override Widget build(BuildContext context) { @@ -28,6 +31,7 @@ class FlutterFormInputPassword extends FlutterFormInputWidget { String Function(String, {List? params}) _ = getTranslator(context); return input.FlutterFormInputPassword( + enabled: enabled, initialValue: controller.value, focusNode: focusNode, onSaved: (value) => controller.onSaved(value), diff --git a/lib/src/widgets/input/input_types/input_plain_text.dart b/lib/src/widgets/input/input_types/input_plain_text.dart index 1aff94b..605c7c0 100644 --- a/lib/src/widgets/input/input_types/input_plain_text.dart +++ b/lib/src/widgets/input/input_types/input_plain_text.dart @@ -2,6 +2,8 @@ // // SPDX-License-Identifier: BSD-3-Clause +// ignore_for_file: overridden_fields + import 'package:flutter/material.dart'; import 'package:flutter_input_library/flutter_input_library.dart' as input; @@ -23,6 +25,7 @@ class FlutterFormInputPlainText extends FlutterFormInputWidget { this.scrollPadding, this.maxLength, this.keyboardType, + this.enabled = true, }) : super( key: key, controller: controller, @@ -36,6 +39,8 @@ class FlutterFormInputPlainText extends FlutterFormInputWidget { final int? maxLength; final EdgeInsets? scrollPadding; final TextInputType? keyboardType; + @override + final bool enabled; @override Widget build(BuildContext context) { @@ -49,6 +54,7 @@ class FlutterFormInputPlainText extends FlutterFormInputWidget { ); return input.FlutterFormInputPlainText( + enabled: enabled, scrollPadding: scrollPadding ?? const EdgeInsets.all(20.0), initialValue: controller.value, focusNode: focusNode, @@ -81,6 +87,7 @@ class FlutterFormInputMultiLine extends StatelessWidget { this.label, this.hint, this.maxCharacters, + this.enabled = true, }) : super(key: key); final FlutterFormInputController controller; @@ -89,12 +96,14 @@ class FlutterFormInputMultiLine extends StatelessWidget { final String? hint; final int? maxCharacters; + final bool enabled; @override Widget build(BuildContext context) { String Function(String, {List? params}) _ = getTranslator(context); return input.FlutterFormInputMultiLine( + enabled: enabled, label: label, hint: hint, focusNode: focusNode, diff --git a/pubspec.yaml b/pubspec.yaml index e1bffcd..3c0f4ab 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_form_wizard description: A new Flutter package project. -version: 6.1.5 +version: 6.1.6 homepage: https://github.com/Iconica-Development/flutter_form_wizard publish_to: none