fix: dateformat for datecontroller

This commit is contained in:
Niels Gorter 2023-09-26 11:07:29 +02:00
parent f7aba6a679
commit 427fb555e1
5 changed files with 41 additions and 48 deletions

View file

@ -13,7 +13,7 @@ class DatePage extends StatefulWidget {
super.key, super.key,
}); });
final FlutterFormInputPlainTextController dateController; final FlutterFormInputDateTimeController dateController;
@override @override
State<DatePage> createState() => _DatePageState(); State<DatePage> createState() => _DatePageState();
@ -35,8 +35,8 @@ class _DatePageState extends State<DatePage> {
Padding( Padding(
padding: const EdgeInsets.fromLTRB(40, 0, 40, 40), padding: const EdgeInsets.fromLTRB(40, 0, 40, 40),
child: FlutterFormInputDateTime( child: FlutterFormInputDateTime(
inputType: FlutterFormDateTimeType.range, inputType: FlutterFormDateTimeType.dateTime,
dateFormat: DateFormat.yMd(), dateFormat: DateFormat('dd-MM-yyyy'),
firstDate: DateTime.now(), firstDate: DateTime.now(),
initialDateTimeRange: DateTimeRange( initialDateTimeRange: DateTimeRange(
start: DateTime.now(), start: DateTime.now(),

View file

@ -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/carousel_page.dart';
import 'package:form_example/example_pages/check_page.dart'; import 'package:form_example/example_pages/check_page.dart';
import 'package:form_example/example_pages/name_page.dart'; import 'package:form_example/example_pages/name_page.dart';
import 'package:intl/intl.dart';
import 'example_pages/date_page.dart'; import 'example_pages/date_page.dart';
@ -69,13 +70,16 @@ class _FormExampleState extends ConsumerState<FormExample> {
onChanged: (value) => debugPrint(value), onChanged: (value) => debugPrint(value),
); );
FlutterFormInputPlainTextController dateController = FlutterFormInputDateTimeController dateController =
FlutterFormInputPlainTextController( FlutterFormInputDateTimeController(
mandatory: true,
id: "date", id: "date",
checkPageTitle: (dynamic date) { dateTimeType: FlutterFormDateTimeType.date,
return "Date: $date"; dateFormat: DateFormat('dd-MM-yyyy'),
checkPageTitle: (dynamic date) => "Date: $date",
onChanged: (String? value) => () {
debugPrint(value.toString());
}, },
value: DateTime.now().toString(),
); );
@override @override
@ -113,21 +117,6 @@ class _FormExampleState extends ConsumerState<FormExample> {
}, },
onNext: (int pageNumber, Map<String, dynamic> results) { onNext: (int pageNumber, Map<String, dynamic> results) {
debugPrint("Results page $pageNumber: $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) { nextButton: (int pageNumber, bool checkingPages) {
return Align( return Align(

View file

@ -37,10 +37,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.1" version: "1.17.2"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -73,8 +73,8 @@ packages:
dependency: transitive dependency: transitive
description: description:
path: "." path: "."
ref: "2.2.1" ref: master
resolved-ref: "2fabb07499ceebb86ab84f02d191f930041882ec" resolved-ref: "2f0ceff64e85f137d59af682075b36591601c899"
url: "https://github.com/Iconica-Development/flutter_input_library" url: "https://github.com/Iconica-Development/flutter_input_library"
source: git source: git
version: "2.2.1" version: "2.2.1"
@ -108,18 +108,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: intl name: intl
sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.18.0" version: "0.18.1"
js:
dependency: transitive
description:
name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev"
source: hosted
version: "0.6.7"
lints: lints:
dependency: transitive dependency: transitive
description: description:
@ -132,18 +124,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.15" version: "0.12.16"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.0" version: "0.5.0"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -177,10 +169,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -225,10 +217,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.1" version: "0.6.0"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
@ -237,6 +229,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.4" version: "2.1.4"
web:
dependency: transitive
description:
name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
url: "https://pub.dev"
source: hosted
version: "0.1.4-beta"
sdks: sdks:
dart: ">=3.0.0-0 <4.0.0" dart: ">=3.1.0-185.0.dev <4.0.0"
flutter: ">=3.0.0" flutter: ">=3.0.0"

View file

@ -76,7 +76,11 @@ class FlutterFormInputDateTimeController
required this.dateTimeType, required this.dateTimeType,
required this.dateFormat, required this.dateFormat,
this.onChanged, this.onChanged,
}); }) {
if (value != null) {
value = dateFormat.format(DateTime.parse(value!));
}
}
final DateTime? initialDate; final DateTime? initialDate;
final DateTimeRange? initialDateTimeRange; final DateTimeRange? initialDateTimeRange;

View file

@ -18,7 +18,7 @@ dependencies:
flutter_input_library: flutter_input_library:
git: git:
url: https://github.com/Iconica-Development/flutter_input_library url: https://github.com/Iconica-Development/flutter_input_library
ref: 2.2.1 ref: master
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: