diff --git a/example/lib/example_pages/date_page.dart b/example/lib/example_pages/date_page.dart index 5277d40..829b7e9 100644 --- a/example/lib/example_pages/date_page.dart +++ b/example/lib/example_pages/date_page.dart @@ -13,7 +13,7 @@ class DatePage extends StatefulWidget { super.key, }); - final FlutterFormInputPlainTextController dateController; + final FlutterFormInputDateTimeController dateController; @override State createState() => _DatePageState(); @@ -35,8 +35,8 @@ class _DatePageState extends State { Padding( padding: const EdgeInsets.fromLTRB(40, 0, 40, 40), child: FlutterFormInputDateTime( - inputType: FlutterFormDateTimeType.range, - dateFormat: DateFormat.yMd(), + inputType: FlutterFormDateTimeType.dateTime, + dateFormat: DateFormat('dd-MM-yyyy'), firstDate: DateTime.now(), initialDateTimeRange: DateTimeRange( start: DateTime.now(), diff --git a/example/lib/form_example.dart b/example/lib/form_example.dart index 2dde502..1f64507 100644 --- a/example/lib/form_example.dart +++ b/example/lib/form_example.dart @@ -9,6 +9,7 @@ import 'package:form_example/example_pages/age_page.dart'; import 'package:form_example/example_pages/carousel_page.dart'; import 'package:form_example/example_pages/check_page.dart'; import 'package:form_example/example_pages/name_page.dart'; +import 'package:intl/intl.dart'; import 'example_pages/date_page.dart'; @@ -69,13 +70,16 @@ class _FormExampleState extends ConsumerState { onChanged: (value) => debugPrint(value), ); - FlutterFormInputPlainTextController dateController = - FlutterFormInputPlainTextController( - mandatory: true, + FlutterFormInputDateTimeController dateController = + FlutterFormInputDateTimeController( id: "date", - checkPageTitle: (dynamic date) { - return "Date: $date"; + dateTimeType: FlutterFormDateTimeType.date, + dateFormat: DateFormat('dd-MM-yyyy'), + checkPageTitle: (dynamic date) => "Date: $date", + onChanged: (String? value) => () { + debugPrint(value.toString()); }, + value: DateTime.now().toString(), ); @override @@ -113,21 +117,6 @@ class _FormExampleState extends ConsumerState { }, onNext: (int pageNumber, Map results) { debugPrint("Results page $pageNumber: $results"); - - if (pageNumber == 0) { - if (results['age'] >= 18) { - if (showLastName == false) { - showLastName = true; - formController.disableCheckingPages(); - } - } else { - if (showLastName == true) { - showLastName = false; - formController.disableCheckingPages(); - } - } - setState(() {}); - } }, nextButton: (int pageNumber, bool checkingPages) { return Align( diff --git a/example/pubspec.lock b/example/pubspec.lock index 3c8d4da..344a74b 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: collection - sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 url: "https://pub.dev" source: hosted - version: "1.17.1" + version: "1.17.2" cupertino_icons: dependency: "direct main" description: @@ -73,8 +73,8 @@ packages: dependency: transitive description: path: "." - ref: "2.2.1" - resolved-ref: "2fabb07499ceebb86ab84f02d191f930041882ec" + ref: master + resolved-ref: "2f0ceff64e85f137d59af682075b36591601c899" url: "https://github.com/Iconica-Development/flutter_input_library" source: git version: "2.2.1" @@ -108,18 +108,10 @@ packages: dependency: "direct main" description: name: intl - sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" url: "https://pub.dev" source: hosted - version: "0.18.0" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" + version: "0.18.1" lints: dependency: transitive description: @@ -132,18 +124,18 @@ packages: dependency: transitive description: name: matcher - sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.15" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: @@ -177,10 +169,10 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: @@ -225,10 +217,10 @@ packages: dependency: transitive description: name: test_api - sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.6.0" vector_math: dependency: transitive description: @@ -237,6 +229,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" sdks: - dart: ">=3.0.0-0 <4.0.0" + dart: ">=3.1.0-185.0.dev <4.0.0" flutter: ">=3.0.0" 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 614995e..db4c9f7 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 @@ -76,7 +76,11 @@ class FlutterFormInputDateTimeController required this.dateTimeType, required this.dateFormat, this.onChanged, - }); + }) { + if (value != null) { + value = dateFormat.format(DateTime.parse(value!)); + } + } final DateTime? initialDate; final DateTimeRange? initialDateTimeRange; diff --git a/pubspec.yaml b/pubspec.yaml index fa0c46c..9ce2e1d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,7 +18,7 @@ dependencies: flutter_input_library: git: url: https://github.com/Iconica-Development/flutter_input_library - ref: 2.2.1 + ref: master dev_dependencies: flutter_test: