datetime_picker_formfield 0.2.0

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 99

Date/Time picker FormFields #

A widget that wraps a TextFormField and integrates the date and/or time picker dialogs.

Example #

screenshot.gif

import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:datetime_picker_formfield/datetime_picker_formfield.dart';

const appName = 'DateTimePickerFormField Example';

void main() => runApp(MaterialApp(
      title: appName,
      home: MyHomePage(),
      theme: ThemeData.light().copyWith(
          inputDecorationTheme:
              InputDecorationTheme(border: OutlineInputBorder())),
    ));

class MyHomePage extends StatefulWidget {
  @override
  MyHomePageState createState() => MyHomePageState();
}

class MyHomePageState extends State<MyHomePage> {
  // Show some different formats.
  final formats = {
    InputType.both: DateFormat("EEEE, MMMM d, yyyy 'at' h:mma"),
    InputType.date: DateFormat('yyyy-MM-dd'),
    InputType.time: DateFormat("HH:mm"),
  };

  // Changeable in demo
  InputType inputType = InputType.both;
  bool editable = true;
  DateTime date;

  @override
  Widget build(BuildContext context) => Scaffold(
      appBar: AppBar(title: Text(appName)),
      body: Padding(
        padding: EdgeInsets.all(16.0),
        child: ListView(
          children: <Widget>[
            Text('Format: "${formats[inputType].pattern}"'),

            //
            // The widget.
            //
            DateTimePickerFormField(
              inputType: inputType,
              format: formats[inputType],
              editable: editable,
              decoration: InputDecoration(
                  labelText: 'Date/Time', hasFloatingPlaceholder: false),
              onChanged: (dt) => setState(() => date = dt),
            ),

            Text('Date value: $date'),
            SizedBox(height: 16.0),
            CheckboxListTile(
              title: Text('Date picker'),
              value: inputType != InputType.time,
              onChanged: (value) => updateInputType(date: value),
            ),
            CheckboxListTile(
              title: Text('Time picker'),
              value: inputType != InputType.date,
              onChanged: (value) => updateInputType(time: value),
            ),
            CheckboxListTile(
              title: Text('Editable'),
              value: editable,
              onChanged: (value) => setState(() => editable = value),
            ),
          ],
        ),
      ));

  void updateInputType({bool date, bool time}) {
    date = date ?? inputType != InputType.time;
    time = time ?? inputType != InputType.date;
    setState(() => inputType =
        date ? time ? InputType.both : InputType.date : InputType.time);
  }
}

}

[0.2.0] - May 29, 2019

  • Add [datePicker] and [timePicker] callback functions to enable full control of the system dialogs (material vs cupertino, language, theme, etc.)
  • Remove deprecated [dateOnly] and [TimePickerFormField]
  • Remove accidental log messages
  • Add [builder] param for localization and theming

[0.1.8] - January 21, 2019

  • Remove state reference to widget (#22)
  • Allow DateTimePickerFormField to use time-only.
  • Deprecate TimePickerFormField.

[0.1.7] - November 25, 2018

  • Fix #11, previous time forgotten when editable is false.

[0.1.6] - November 5, 2018

  • Add editable option to TimePickerFormField.

[0.1.5] - November 2, 2018

  • Add editable option to disable manual editing and always show the picker(s) when the field gains focus.

[0.1.4] - October 16, 2018

  • Setting initialTime to null will cause it to start at the current time when shown.
  • Add screenshot to readme.

[0.1.3] - August 12, 2018

  • Add remaining parameters from showDatePicker().

[0.1.2] - August 9, 2018

  • Fix autovalidate setting.

[0.1.1] - July 21, 2018

  • Fix and improve documentation.

[0.1.0] - July 21, 2018

  • Support Dart 2.0

[0.0.3] - June 13, 2018

  • Added License (MIT).

[0.0.2] - June 13, 2018

  • Fix pubspec.yaml Flutter SDK version requirements.

[0.0.1] - June 13, 2018

  • Initial release.

example/README.md

datetime_picker_formfield example #

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  datetime_picker_formfield: ^0.2.0

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:datetime_picker_formfield/datetime_picker_formfield.dart';
  
Version Uploaded Documentation Archive
0.2.0 May 29, 2019 Go to the documentation of datetime_picker_formfield 0.2.0 Download datetime_picker_formfield 0.2.0 archive
0.1.8 Jan 21, 2019 Go to the documentation of datetime_picker_formfield 0.1.8 Download datetime_picker_formfield 0.1.8 archive
0.1.7 Nov 25, 2018 Go to the documentation of datetime_picker_formfield 0.1.7 Download datetime_picker_formfield 0.1.7 archive
0.1.6 Nov 5, 2018 Go to the documentation of datetime_picker_formfield 0.1.6 Download datetime_picker_formfield 0.1.6 archive
0.1.5 Nov 2, 2018 Go to the documentation of datetime_picker_formfield 0.1.5 Download datetime_picker_formfield 0.1.5 archive
0.1.4 Oct 17, 2018 Go to the documentation of datetime_picker_formfield 0.1.4 Download datetime_picker_formfield 0.1.4 archive
0.1.3 Aug 12, 2018 Go to the documentation of datetime_picker_formfield 0.1.3 Download datetime_picker_formfield 0.1.3 archive
0.1.2 Aug 9, 2018 Go to the documentation of datetime_picker_formfield 0.1.2 Download datetime_picker_formfield 0.1.2 archive
0.1.1 Jul 21, 2018 Go to the documentation of datetime_picker_formfield 0.1.1 Download datetime_picker_formfield 0.1.1 archive
0.1.0 Jul 21, 2018 Go to the documentation of datetime_picker_formfield 0.1.0 Download datetime_picker_formfield 0.1.0 archive

All 13 versions...

Popularity:
Describes how popular the package is relative to other packages. [more]
98
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
99
Learn more about scoring.

We analyzed this package on Jun 12, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.3.1
  • pana: 0.12.17
  • Flutter: 1.5.4-hotfix.2

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
flutter 0.0.0
intl ^0.15.0 0.15.8
Transitive dependencies
collection 1.14.11
meta 1.1.6 1.1.7
path 1.6.2
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test