Fixing critical issue

This commit is contained in:
Gaspard Merten 2021-01-23 11:57:52 +01:00
parent aa20bfc716
commit 525e980e20
5 changed files with 88 additions and 78 deletions

View file

@ -70,3 +70,15 @@ Breaking change:
##1.0.1
* Removing the ripple effect
##1.0.2
* Improving package description
##1.0.3
* Improving package description
##1.0.4
* Fixing critical issue

View file

@ -15,7 +15,7 @@ In the `pubspec.yaml` of your flutter project, add the following dependency:
```yaml
dependencies:
...
date_field: ^1.0.1
date_field: ^1.0.4
```
In your library add the following import:

View file

@ -12,10 +12,8 @@ class MyApp extends StatelessWidget {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
inputDecorationTheme: const InputDecorationTheme(
border: OutlineInputBorder()
),
inputDecorationTheme:
const InputDecorationTheme(border: OutlineInputBorder()),
primarySwatch: Colors.blue,
),
home: MyHomePage(),
@ -23,7 +21,6 @@ class MyApp extends StatelessWidget {
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
@ -34,74 +31,72 @@ class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Padding(
padding: const EdgeInsets.all(20.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const FlutterLogo(size: 100),
const SizedBox(height: 20),
const Text('DateField package showcase'),
const Padding(
padding: EdgeInsets.symmetric(vertical: 20.0),
child: Text('DateTimeField'),
),
DateTimeField(
decoration: const InputDecoration(
hintText: 'Please select your birthday date and time'
),
selectedDate: selectedDate,
onDateSelected: (DateTime value) {
setState(() {
selectedDate = value;
});
}
),
const Padding(
padding: EdgeInsets.symmetric(vertical: 20.0),
child: Text('DateTimeFormField'),
),
Form(
child: Column(
children: [
DateTimeFormField(
decoration: const InputDecoration(
hintStyle: TextStyle(color: Colors.black45),
errorStyle: TextStyle(color: Colors.redAccent),
border: OutlineInputBorder(),
suffixIcon: Icon(Icons.event_note),
labelText: 'My Super Date Time Field',
),
autovalidateMode: AutovalidateMode.always,
validator: (e) => (e?.day ?? 0) == 1 ? 'Please not the first day' : null,
onDateSelected: (DateTime value) {
print(value);
},
),
const SizedBox(height: 50),
DateTimeFormField(
decoration: const InputDecoration(
hintStyle: TextStyle(color: Colors.black45),
errorStyle: TextStyle(color: Colors.redAccent),
border: OutlineInputBorder(),
suffixIcon: Icon(Icons.event_note),
labelText: 'Only time',
),
mode: DateTimeFieldPickerMode.time,
autovalidateMode: AutovalidateMode.always,
validator: (e) => (e?.day ?? 0) == 1 ? 'Please not the first day' : null,
onDateSelected: (DateTime value) {
print(value);
},
),
],
),
),
],
padding: const EdgeInsets.all(20.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const FlutterLogo(size: 100),
const SizedBox(height: 20),
const Text('DateField package showcase'),
const Padding(
padding: EdgeInsets.symmetric(vertical: 20.0),
child: Text('DateTimeField'),
),
)
);
DateTimeField(
decoration: const InputDecoration(
hintText: 'Please select your birthday date and time'),
selectedDate: selectedDate,
onDateSelected: (DateTime value) {
setState(() {
selectedDate = value;
});
}),
const Padding(
padding: EdgeInsets.symmetric(vertical: 20.0),
child: Text('DateTimeFormField'),
),
Form(
child: Column(
children: [
DateTimeFormField(
decoration: const InputDecoration(
hintStyle: TextStyle(color: Colors.black45),
errorStyle: TextStyle(color: Colors.redAccent),
border: OutlineInputBorder(),
suffixIcon: Icon(Icons.event_note),
labelText: 'My Super Date Time Field',
),
autovalidateMode: AutovalidateMode.always,
validator: (e) =>
(e?.day ?? 0) == 1 ? 'Please not the first day' : null,
onDateSelected: (DateTime value) {
print(value);
},
),
const SizedBox(height: 50),
DateTimeFormField(
decoration: const InputDecoration(
hintStyle: TextStyle(color: Colors.black45),
errorStyle: TextStyle(color: Colors.redAccent),
border: OutlineInputBorder(),
suffixIcon: Icon(Icons.event_note),
labelText: 'Only time',
),
mode: DateTimeFieldPickerMode.time,
autovalidateMode: AutovalidateMode.always,
validator: (e) =>
(e?.day ?? 0) == 1 ? 'Please not the first day' : null,
onDateSelected: (DateTime value) {
print(value);
},
),
],
),
),
],
),
));
}
}

View file

@ -312,9 +312,12 @@ class _InputDropdown extends StatelessWidget {
suffixIcon: const Icon(Icons.arrow_drop_down),
).applyDefaults(Theme.of(context).inputDecorationTheme);
return InputDecorator(
decoration: effectiveDecoration,
child: Text(text, style: textStyle),
return GestureDetector(
onTap: onPressed,
child: InputDecorator(
decoration: effectiveDecoration,
child: Text(text, style: textStyle),
),
);
}
}

View file

@ -1,6 +1,6 @@
name: date_field
description: A widget in the form of a field that lets people enter choose a date/time/date and time via a date/time picker dialog.
version: 1.0.1
description: A widget in the form of a field that lets people enter choose a date/time/date and time via a date/time picker dialog. You can specify a custom input decoration, a custom date display. Uses DateTime.
version: 1.0.4
homepage: 'https://github.com/GaspardMerten/date_field'
environment:
@ -10,5 +10,5 @@ dependencies:
flutter:
sdk: flutter
intl: ">=0.2.7 <2.0.0"
intl: ">=0.2.7 <5.0.0"