From 7ea545f97b71850716e5d70c02cefd6834cfe521 Mon Sep 17 00:00:00 2001 From: Jeffrey Jorczak Date: Fri, 10 Jul 2020 15:52:16 -0400 Subject: [PATCH] dded `fieldPadding` to all controls --- CHANGELOG.md | 1 + lib/interfaces/common_field_properties.dart | 1 + lib/widgets/card_settings_field.dart | 13 +++-- lib/widgets/card_settings_panel.dart | 3 ++ .../card_settings_header.dart | 9 +++- .../card_settings_instructions.dart | 9 +++- .../card_settings_currency.dart | 5 ++ .../numeric_fields/card_settings_double.dart | 5 ++ .../numeric_fields/card_settings_int.dart | 2 + .../numeric_fields/card_settings_slider.dart | 5 ++ .../numeric_fields/card_settings_switch.dart | 5 ++ .../card_settings_checkbox_picker.dart | 5 ++ .../card_settings_color_picker.dart | 5 ++ .../card_settings_date_picker.dart | 5 ++ .../card_settings_datetime_picker.dart | 49 ++++++++++--------- .../card_settings_file_picker.dart | 5 ++ .../card_settings_list_picker.dart | 5 ++ .../card_settings_number_picker.dart | 4 ++ .../card_settings_radio_picker.dart | 5 ++ .../card_settings_selection_picker.dart | 5 ++ .../card_settings_time_picker.dart | 5 ++ .../card_settings_multiselect.dart | 2 + .../text_fields/card_settings_email.dart | 2 + .../text_fields/card_settings_paragraph.dart | 2 + .../text_fields/card_settings_password.dart | 2 + .../text_fields/card_settings_phone.dart | 5 ++ .../text_fields/card_settings_text.dart | 5 ++ 27 files changed, 142 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 466637e..07153fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - added `scrollable` property to turn off built in scrolling (Material only). - changed card `padding` proptety to EdgeInsetsGeometry to allow full control - added `margin` proptety to `CardSettings` +- added `fieldPadding` to all controls - refactored card building to merge common code ## [1.11.0] - 2020-07-10 diff --git a/lib/interfaces/common_field_properties.dart b/lib/interfaces/common_field_properties.dart index 9287a87..0473ea7 100644 --- a/lib/interfaces/common_field_properties.dart +++ b/lib/interfaces/common_field_properties.dart @@ -9,6 +9,7 @@ abstract class ICommonFieldProperties extends IMinimumFieldSettings { final double labelWidth = null; final TextAlign labelAlign = null; final TextAlign contentAlign = null; + final EdgeInsetsGeometry fieldPadding = null; final Icon icon = null; final Widget requiredIndicator = null; diff --git a/lib/widgets/card_settings_field.dart b/lib/widgets/card_settings_field.dart index 1a94cd6..03be848 100644 --- a/lib/widgets/card_settings_field.dart +++ b/lib/widgets/card_settings_field.dart @@ -22,9 +22,10 @@ class CardSettingsField extends StatelessWidget this.unitLabel, this.errorText, this.visible: true, - this.labelAlign, - this.requiredIndicator, + @required this.labelAlign, + @required this.requiredIndicator, this.enabled = true, + @required this.fieldPadding, }); @override @@ -45,6 +46,8 @@ class CardSettingsField extends StatelessWidget @override final Widget requiredIndicator; final bool enabled; + @override + final EdgeInsetsGeometry fieldPadding; @override TextAlign get contentAlign => throw UnimplementedError(unimplemented); @@ -61,9 +64,13 @@ class CardSettingsField extends StatelessWidget @override Widget build(BuildContext context) { + EdgeInsetsGeometry _fieldPadding = (fieldPadding ?? + CardSettings.of(context).fieldPadding ?? + EdgeInsets.only(left: 14.0, top: 8.0, right: 14.0, bottom: 8.0)); + if (visible) { return Container( - padding: EdgeInsets.all(14.0), + padding: _fieldPadding, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ diff --git a/lib/widgets/card_settings_panel.dart b/lib/widgets/card_settings_panel.dart index 6f39769..dd4b6e1 100644 --- a/lib/widgets/card_settings_panel.dart +++ b/lib/widgets/card_settings_panel.dart @@ -29,6 +29,7 @@ class CardSettings extends InheritedWidget { this.cardless = false, this.divider, this.scrollable = true, + this.fieldPadding, }) : super( key: key, child: CardSettingsContent( @@ -61,6 +62,7 @@ class CardSettings extends InheritedWidget { this.cardless = false, this.divider, this.scrollable = true, + this.fieldPadding, }) : super( key: key, child: CardSettingsContent( @@ -89,6 +91,7 @@ class CardSettings extends InheritedWidget { final bool cardless; final Divider divider; final bool scrollable; + final EdgeInsetsGeometry fieldPadding; static CardSettings of(BuildContext context) { return context.dependOnInheritedWidgetOfExactType(); diff --git a/lib/widgets/information_fields/card_settings_header.dart b/lib/widgets/information_fields/card_settings_header.dart index ec91c7c..6712969 100644 --- a/lib/widgets/information_fields/card_settings_header.dart +++ b/lib/widgets/information_fields/card_settings_header.dart @@ -5,6 +5,7 @@ import 'package:card_settings/helpers/platform_functions.dart'; import 'package:flutter/material.dart'; import 'package:flutter_cupertino_settings/flutter_cupertino_settings.dart'; +import '../card_settings_panel.dart'; import '../card_settings_widget.dart'; /// This is a header to distinguish sections of the form. @@ -17,6 +18,7 @@ class CardSettingsHeader extends StatelessWidget implements CardSettingsWidget { this.showMaterialonIOS, this.visible = true, this.child, + this.fieldPadding, }); final String label; @@ -28,6 +30,7 @@ class CardSettingsHeader extends StatelessWidget implements CardSettingsWidget { @override final bool visible; final Widget child; + final EdgeInsetsGeometry fieldPadding; @override Widget build(BuildContext context) { @@ -51,13 +54,17 @@ class CardSettingsHeader extends StatelessWidget implements CardSettingsWidget { } Widget materialHeader(BuildContext context) { + EdgeInsetsGeometry _fieldPadding = (fieldPadding ?? + CardSettings.of(context).fieldPadding ?? + EdgeInsets.only(left: 14.0, top: 8.0, right: 14.0, bottom: 8.0)); + return Container( margin: EdgeInsets.all(0.0), decoration: BoxDecoration( color: color ?? Theme.of(context).secondaryHeaderColor, ), height: height, - padding: EdgeInsets.only(left: 14.0, top: 8.0, right: 14.0, bottom: 8.0), + padding: _fieldPadding, child: Row( children: [ Expanded( diff --git a/lib/widgets/information_fields/card_settings_instructions.dart b/lib/widgets/information_fields/card_settings_instructions.dart index 3c1cb48..d3f3e7a 100644 --- a/lib/widgets/information_fields/card_settings_instructions.dart +++ b/lib/widgets/information_fields/card_settings_instructions.dart @@ -5,6 +5,7 @@ import 'package:card_settings/helpers/platform_functions.dart'; import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import '../card_settings_panel.dart'; import '../card_settings_widget.dart'; /// This is a read only section of text @@ -16,6 +17,7 @@ class CardSettingsInstructions extends StatelessWidget this.textColor, this.showMaterialonIOS, this.visible = true, + this.fieldPadding, }); final String text; @@ -25,6 +27,7 @@ class CardSettingsInstructions extends StatelessWidget final bool showMaterialonIOS; @override final bool visible; + final EdgeInsetsGeometry fieldPadding; @override Widget build(BuildContext context) { @@ -48,11 +51,15 @@ class CardSettingsInstructions extends StatelessWidget } Widget materialInstruction(BuildContext context, TextStyle textStyle) { + EdgeInsetsGeometry _fieldPadding = (fieldPadding ?? + CardSettings.of(context).fieldPadding ?? + EdgeInsets.all(14.0)); + return Container( margin: EdgeInsets.all(0.0), decoration: BoxDecoration(color: backgroundColor ?? Theme.of(context).cardColor), - padding: EdgeInsets.only(left: 14.0, top: 8.0, right: 14.0, bottom: 8.0), + padding: _fieldPadding, child: Row( children: [ Text( diff --git a/lib/widgets/numeric_fields/card_settings_currency.dart b/lib/widgets/numeric_fields/card_settings_currency.dart index 61100fe..e0c8095 100644 --- a/lib/widgets/numeric_fields/card_settings_currency.dart +++ b/lib/widgets/numeric_fields/card_settings_currency.dart @@ -44,6 +44,7 @@ class CardSettingsCurrency extends StatefulWidget this.onFieldSubmitted, this.inputFormatters, this.showMaterialonIOS, + this.fieldPadding, }); @override @@ -120,6 +121,9 @@ class CardSettingsCurrency extends StatefulWidget @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + @override CardSettingsCurrencyState createState() { return CardSettingsCurrencyState(); @@ -144,6 +148,7 @@ class CardSettingsCurrencyState extends State { Widget build(BuildContext context) { return CardSettingsText( showMaterialonIOS: widget?.showMaterialonIOS, + fieldPadding: widget.fieldPadding, label: widget.label, labelAlign: widget.labelAlign, labelWidth: widget?.labelWidth, diff --git a/lib/widgets/numeric_fields/card_settings_double.dart b/lib/widgets/numeric_fields/card_settings_double.dart index e48e96e..b79185e 100644 --- a/lib/widgets/numeric_fields/card_settings_double.dart +++ b/lib/widgets/numeric_fields/card_settings_double.dart @@ -49,6 +49,7 @@ class CardSettingsDouble extends StatelessWidget this.inputFormatters, this.showMaterialonIOS, this.locale, + this.fieldPadding, }); @override @@ -130,6 +131,9 @@ class CardSettingsDouble extends StatelessWidget @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + @override Widget build(BuildContext context) { var myLocale = locale ?? Localizations.localeOf(context); @@ -144,6 +148,7 @@ class CardSettingsDouble extends StatelessWidget label: label, hintText: hintText, showMaterialonIOS: showMaterialonIOS, + fieldPadding: fieldPadding, labelAlign: labelAlign, labelWidth: labelWidth, contentAlign: contentAlign, diff --git a/lib/widgets/numeric_fields/card_settings_int.dart b/lib/widgets/numeric_fields/card_settings_int.dart index 16a0f93..e51a6ad 100644 --- a/lib/widgets/numeric_fields/card_settings_int.dart +++ b/lib/widgets/numeric_fields/card_settings_int.dart @@ -41,6 +41,7 @@ class CardSettingsInt extends CardSettingsText ValueChanged onFieldSubmitted, List inputFormatters, bool showMaterialonIOS, + EdgeInsetsGeometry fieldPadding, }) : super( key: key, label: label, @@ -60,6 +61,7 @@ class CardSettingsInt extends CardSettingsText obscureText: obscureText, autocorrect: autocorrect, autovalidate: autovalidate, + fieldPadding: fieldPadding, validator: (value) { if (validator == null) return null; return validator(intelligentCast(value)); diff --git a/lib/widgets/numeric_fields/card_settings_slider.dart b/lib/widgets/numeric_fields/card_settings_slider.dart index 09b2bac..06aa5b7 100644 --- a/lib/widgets/numeric_fields/card_settings_slider.dart +++ b/lib/widgets/numeric_fields/card_settings_slider.dart @@ -36,6 +36,7 @@ class CardSettingsSlider extends FormField this.max, this.divisions, this.showMaterialonIOS, + this.fieldPadding, }) : super( key: key, initialValue: initialValue, @@ -82,6 +83,9 @@ class CardSettingsSlider extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + final int divisions; final double min, max; @@ -150,6 +154,7 @@ class _CardSettingsSliderState extends FormFieldState { icon: widget?.icon, requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: Row(children: [ Expanded( child: Container( diff --git a/lib/widgets/numeric_fields/card_settings_switch.dart b/lib/widgets/numeric_fields/card_settings_switch.dart index 2159293..dbd1ec9 100644 --- a/lib/widgets/numeric_fields/card_settings_switch.dart +++ b/lib/widgets/numeric_fields/card_settings_switch.dart @@ -31,6 +31,7 @@ class CardSettingsSwitch extends FormField this.contentAlign, this.onChanged, this.showMaterialonIOS, + this.fieldPadding, }) : super( key: key, initialValue: initialValue, @@ -74,6 +75,9 @@ class CardSettingsSwitch extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + @override _CardSettingsSwitchState createState() => _CardSettingsSwitchState(); } @@ -98,6 +102,7 @@ class _CardSettingsSwitchState extends FormFieldState { icon: widget?.icon, requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: Row(children: [ Expanded( child: Text( diff --git a/lib/widgets/picker_fields/card_settings_checkbox_picker.dart b/lib/widgets/picker_fields/card_settings_checkbox_picker.dart index ecfdab3..3b5ef01 100644 --- a/lib/widgets/picker_fields/card_settings_checkbox_picker.dart +++ b/lib/widgets/picker_fields/card_settings_checkbox_picker.dart @@ -31,6 +31,7 @@ class CardSettingsCheckboxPicker extends FormField> this.requiredIndicator, this.options, this.showMaterialonIOS, + this.fieldPadding, }) : super( key: key, initialValue: initialValues, @@ -73,6 +74,9 @@ class CardSettingsCheckboxPicker extends FormField> @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + @override _CardSettingsCheckboxPickerState createState() => _CardSettingsCheckboxPickerState(); @@ -184,6 +188,7 @@ class _CardSettingsCheckboxPickerState extends FormFieldState> { requiredIndicator: widget?.requiredIndicator, errorText: errorText, contentOnNewLine: true, + fieldPadding: widget.fieldPadding, content: Wrap( alignment: WrapAlignment.start, spacing: 4.0, diff --git a/lib/widgets/picker_fields/card_settings_color_picker.dart b/lib/widgets/picker_fields/card_settings_color_picker.dart index 2630afc..4c3f018 100644 --- a/lib/widgets/picker_fields/card_settings_color_picker.dart +++ b/lib/widgets/picker_fields/card_settings_color_picker.dart @@ -33,6 +33,7 @@ class CardSettingsColorPicker extends FormField this.requiredIndicator, this.label = "Label", this.showMaterialonIOS, + this.fieldPadding, }) : super( key: key, initialValue: initialValue ?? Colors.black, @@ -73,6 +74,9 @@ class CardSettingsColorPicker extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + final CardSettingsColorPickerType pickerType; @override @@ -206,6 +210,7 @@ class _CardSettingsColorPickerState extends FormFieldState { icon: widget?.icon, requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: Container( height: 20.0, decoration: BoxDecoration( diff --git a/lib/widgets/picker_fields/card_settings_date_picker.dart b/lib/widgets/picker_fields/card_settings_date_picker.dart index bbbde1c..fdd4150 100644 --- a/lib/widgets/picker_fields/card_settings_date_picker.dart +++ b/lib/widgets/picker_fields/card_settings_date_picker.dart @@ -34,6 +34,7 @@ class CardSettingsDatePicker extends FormField this.dateFormat, this.style, this.showMaterialonIOS, + this.fieldPadding, }) : super( key: key, initialValue: initialValue ?? DateTime.now(), @@ -81,6 +82,9 @@ class CardSettingsDatePicker extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + @override _CardSettingsDatePickerState createState() => _CardSettingsDatePickerState(); } @@ -228,6 +232,7 @@ class _CardSettingsDatePickerState extends FormFieldState { icon: widget?.icon ?? Icon(Icons.event), requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: Text( formattedValue, style: contentStyle(context, value, widget.enabled), diff --git a/lib/widgets/picker_fields/card_settings_datetime_picker.dart b/lib/widgets/picker_fields/card_settings_datetime_picker.dart index a729d24..a5953ba 100644 --- a/lib/widgets/picker_fields/card_settings_datetime_picker.dart +++ b/lib/widgets/picker_fields/card_settings_datetime_picker.dart @@ -16,28 +16,29 @@ import '../../interfaces/common_field_properties.dart'; /// This is the date picker field class CardSettingsDateTimePicker extends FormField implements ICommonFieldProperties { - CardSettingsDateTimePicker( - {Key key, - bool autovalidate: false, - FormFieldSetter onSaved, - FormFieldValidator validator, - DateTime initialValue, - this.enabled = true, - this.visible = true, - this.label = 'Label', - this.onChanged, - this.contentAlign, - this.icon, - this.labelAlign, - this.labelWidth, - this.requiredIndicator, - this.firstDate, - this.lastDate, - this.style, - this.showMaterialonIOS, - this.dateBuilder, - this.timeBuilder}) - : super( + CardSettingsDateTimePicker({ + Key key, + bool autovalidate: false, + FormFieldSetter onSaved, + FormFieldValidator validator, + DateTime initialValue, + this.enabled = true, + this.visible = true, + this.label = 'Label', + this.onChanged, + this.contentAlign, + this.icon, + this.labelAlign, + this.labelWidth, + this.requiredIndicator, + this.firstDate, + this.lastDate, + this.style, + this.showMaterialonIOS, + this.fieldPadding, + this.dateBuilder, + this.timeBuilder, + }) : super( key: key, initialValue: initialValue ?? DateTime.now(), onSaved: onSaved, @@ -83,6 +84,9 @@ class CardSettingsDateTimePicker extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + final Widget Function(BuildContext, Widget) dateBuilder; final Widget Function(BuildContext, Widget) timeBuilder; @@ -256,6 +260,7 @@ class _CardSettingsDateTimePickerState extends FormFieldState { icon: widget?.icon ?? Icon(Icons.event), requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: Text( value == null ? '' : DateFormat.yMd().add_jms().format(value), style: contentStyle(context, value, widget.enabled), diff --git a/lib/widgets/picker_fields/card_settings_file_picker.dart b/lib/widgets/picker_fields/card_settings_file_picker.dart index 3c921b4..b539136 100644 --- a/lib/widgets/picker_fields/card_settings_file_picker.dart +++ b/lib/widgets/picker_fields/card_settings_file_picker.dart @@ -40,6 +40,7 @@ class CardSettingsFilePicker extends FormField this.requiredIndicator, this.style, this.showMaterialonIOS, + this.fieldPadding, this.fileType, this.fileExtension, }) : unattachDialogTitle = unattachDialogTitle ?? 'Unattach ' + label + "?", @@ -98,6 +99,9 @@ class CardSettingsFilePicker extends FormField final String fileExtension; + @override + final EdgeInsetsGeometry fieldPadding; + @override _CardSettingsFilePickerState createState() => _CardSettingsFilePickerState(); @@ -243,6 +247,7 @@ class _CardSettingsFilePickerState extends FormFieldState { icon: widget?.icon ?? Icon(Icons.attach_file), requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: _buildFieldContent(formattedValue), pickerIcon: (widget.enabled) ? (value == null) ? Icons.attach_file : Icons.clear diff --git a/lib/widgets/picker_fields/card_settings_list_picker.dart b/lib/widgets/picker_fields/card_settings_list_picker.dart index 2293c92..b6df3b8 100644 --- a/lib/widgets/picker_fields/card_settings_list_picker.dart +++ b/lib/widgets/picker_fields/card_settings_list_picker.dart @@ -33,6 +33,7 @@ class CardSettingsListPicker extends FormField this.options, this.values, this.showMaterialonIOS, + this.fieldPadding, }) : assert(values == null || options.length == values.length, "If you provide 'values', they need the same number as 'options'"), super( @@ -80,6 +81,9 @@ class CardSettingsListPicker extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + @override _CardSettingsListPickerState createState() => _CardSettingsListPickerState(); } @@ -249,6 +253,7 @@ class _CardSettingsListPickerState extends FormFieldState { icon: widget?.icon, requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: Text( content, style: contentStyle(context, value, widget.enabled), diff --git a/lib/widgets/picker_fields/card_settings_number_picker.dart b/lib/widgets/picker_fields/card_settings_number_picker.dart index d61ffed..d39326e 100644 --- a/lib/widgets/picker_fields/card_settings_number_picker.dart +++ b/lib/widgets/picker_fields/card_settings_number_picker.dart @@ -28,6 +28,7 @@ class CardSettingsNumberPicker extends StatelessWidget this.onChanged, this.visible: true, this.showMaterialonIOS, + this.fieldPadding, }) : assert(min < max); // Variables @@ -54,6 +55,8 @@ class CardSettingsNumberPicker extends StatelessWidget final bool enabled; @override final double labelWidth; + @override + final EdgeInsetsGeometry fieldPadding; // Events @override @@ -69,6 +72,7 @@ class CardSettingsNumberPicker extends StatelessWidget key: key, label: this.label, showMaterialonIOS: showMaterialonIOS, + fieldPadding: fieldPadding, labelAlign: labelAlign, labelWidth: labelWidth, contentAlign: contentAlign, diff --git a/lib/widgets/picker_fields/card_settings_radio_picker.dart b/lib/widgets/picker_fields/card_settings_radio_picker.dart index 700bf31..0d1c320 100644 --- a/lib/widgets/picker_fields/card_settings_radio_picker.dart +++ b/lib/widgets/picker_fields/card_settings_radio_picker.dart @@ -33,6 +33,7 @@ class CardSettingsRadioPicker extends FormField this.options, this.values, this.showMaterialonIOS, + this.fieldPadding, }) : assert(values == null || options.length == values.length, "If you provide 'values', they need the same number as 'options'"), super( @@ -80,6 +81,9 @@ class CardSettingsRadioPicker extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + @override _CardSettingsRadioPickerState createState() => _CardSettingsRadioPickerState(); @@ -250,6 +254,7 @@ class _CardSettingsRadioPickerState extends FormFieldState { icon: widget?.icon, requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: Text( content, style: contentStyle(context, value, widget.enabled), diff --git a/lib/widgets/picker_fields/card_settings_selection_picker.dart b/lib/widgets/picker_fields/card_settings_selection_picker.dart index 6c10763..5338a64 100644 --- a/lib/widgets/picker_fields/card_settings_selection_picker.dart +++ b/lib/widgets/picker_fields/card_settings_selection_picker.dart @@ -34,6 +34,7 @@ class CardSettingsSelectionPicker extends FormField this.icons, this.values, this.showMaterialonIOS, + this.fieldPadding, }) : assert(values == null || options.length == values.length, "If you provide 'values', they need the same number as 'options'"), assert(icons == null || options.length == icons.length, @@ -85,6 +86,9 @@ class CardSettingsSelectionPicker extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + @override _CardSettingsListPickerState createState() => _CardSettingsListPickerState(); } @@ -265,6 +269,7 @@ class _CardSettingsListPickerState extends FormFieldState { icon: widget?.icon, requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: Text( content, style: style, diff --git a/lib/widgets/picker_fields/card_settings_time_picker.dart b/lib/widgets/picker_fields/card_settings_time_picker.dart index 833431f..5a35703 100644 --- a/lib/widgets/picker_fields/card_settings_time_picker.dart +++ b/lib/widgets/picker_fields/card_settings_time_picker.dart @@ -30,6 +30,7 @@ class CardSettingsTimePicker extends FormField this.icon, this.style, this.showMaterialonIOS, + this.fieldPadding, }) : super( key: key, initialValue: initialValue ?? TimeOfDay.now(), @@ -72,6 +73,9 @@ class CardSettingsTimePicker extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + @override _CardSettingsTimePickerState createState() => _CardSettingsTimePickerState(); } @@ -206,6 +210,7 @@ class _CardSettingsTimePickerState extends FormFieldState { icon: widget?.icon ?? Icon(Icons.event), requiredIndicator: widget?.requiredIndicator, errorText: errorText, + fieldPadding: widget.fieldPadding, content: Text( value == null ? '' : value.format(context), style: contentStyle(context, value, widget.enabled), diff --git a/lib/widgets/selection_fields/card_settings_multiselect.dart b/lib/widgets/selection_fields/card_settings_multiselect.dart index 156dde7..22698c8 100644 --- a/lib/widgets/selection_fields/card_settings_multiselect.dart +++ b/lib/widgets/selection_fields/card_settings_multiselect.dart @@ -23,6 +23,7 @@ class CardSettingsMultiselect extends CardSettingsCheckboxPicker { Widget requiredIndicator, List options, bool showMaterialonIOS = false, + EdgeInsetsGeometry fieldPadding, }) : super( key: key, initialValues: initialValues, @@ -38,5 +39,6 @@ class CardSettingsMultiselect extends CardSettingsCheckboxPicker { requiredIndicator: requiredIndicator, options: options, showMaterialonIOS: showMaterialonIOS, + fieldPadding: fieldPadding, ); } diff --git a/lib/widgets/text_fields/card_settings_email.dart b/lib/widgets/text_fields/card_settings_email.dart index 4636bd0..bd4f44d 100644 --- a/lib/widgets/text_fields/card_settings_email.dart +++ b/lib/widgets/text_fields/card_settings_email.dart @@ -41,12 +41,14 @@ class CardSettingsEmail extends CardSettingsText ValueChanged onFieldSubmitted, List inputFormatters, bool showMaterialonIOS, + EdgeInsetsGeometry fieldPadding, }) : super( key: key, label: label, labelWidth: labelWidth, labelAlign: labelAlign, showMaterialonIOS: showMaterialonIOS, + fieldPadding: fieldPadding, contentAlign: contentAlign, contentOnNewLine: contentOnNewLine, initialValue: initialValue, diff --git a/lib/widgets/text_fields/card_settings_paragraph.dart b/lib/widgets/text_fields/card_settings_paragraph.dart index f259775..7cac6dd 100644 --- a/lib/widgets/text_fields/card_settings_paragraph.dart +++ b/lib/widgets/text_fields/card_settings_paragraph.dart @@ -43,6 +43,7 @@ class CardSettingsParagraph extends CardSettingsText ValueChanged onFieldSubmitted, List inputFormatters, bool showMaterialonIOS, + EdgeInsetsGeometry fieldPadding, }) : super( key: key, label: label, @@ -50,6 +51,7 @@ class CardSettingsParagraph extends CardSettingsText hintText: hintText, contentAlign: contentAlign, showMaterialonIOS: showMaterialonIOS, + fieldPadding: fieldPadding, initialValue: initialValue, contentOnNewLine: contentOnNewLine, maxLength: maxLength, diff --git a/lib/widgets/text_fields/card_settings_password.dart b/lib/widgets/text_fields/card_settings_password.dart index 163c9a4..759661b 100644 --- a/lib/widgets/text_fields/card_settings_password.dart +++ b/lib/widgets/text_fields/card_settings_password.dart @@ -42,6 +42,7 @@ class CardSettingsPassword extends CardSettingsText ValueChanged onFieldSubmitted, List inputFormatters, bool showMaterialonIOS, + EdgeInsetsGeometry fieldPadding, }) : super( key: key, label: label, @@ -49,6 +50,7 @@ class CardSettingsPassword extends CardSettingsText labelAlign: labelAlign, hintText: hintText, showMaterialonIOS: showMaterialonIOS, + fieldPadding: fieldPadding, contentAlign: contentAlign, contentOnNewLine: contentOnNewLine, initialValue: initialValue, diff --git a/lib/widgets/text_fields/card_settings_phone.dart b/lib/widgets/text_fields/card_settings_phone.dart index 1260a0e..19f206b 100644 --- a/lib/widgets/text_fields/card_settings_phone.dart +++ b/lib/widgets/text_fields/card_settings_phone.dart @@ -44,6 +44,7 @@ class CardSettingsPhone extends StatelessWidget this.onFieldSubmitted, this.inputFormatters, this.showMaterialonIOS, + this.fieldPadding, }); @override @@ -116,6 +117,9 @@ class CardSettingsPhone extends StatelessWidget final List inputFormatters; + @override + final EdgeInsetsGeometry fieldPadding; + @override final bool showMaterialonIOS; @@ -146,6 +150,7 @@ class CardSettingsPhone extends StatelessWidget onChanged: _safeOnChanged, controller: controller, focusNode: focusNode, + fieldPadding: fieldPadding, inputActionNode: inputActionNode, keyboardType: keyboardType ?? TextInputType.numberWithOptions(decimal: false), diff --git a/lib/widgets/text_fields/card_settings_text.dart b/lib/widgets/text_fields/card_settings_text.dart index 9c6eac3..fce176e 100644 --- a/lib/widgets/text_fields/card_settings_text.dart +++ b/lib/widgets/text_fields/card_settings_text.dart @@ -54,6 +54,7 @@ class CardSettingsText extends FormField this.unitLabel, this.showMaterialonIOS, this.showClearButtonIOS = OverlayVisibilityMode.never, + this.fieldPadding, }) : //assert(initialValue == null || controller == null), assert(keyboardType != null), assert(autofocus != null), @@ -147,6 +148,9 @@ class CardSettingsText extends FormField @override final bool showMaterialonIOS; + @override + final EdgeInsetsGeometry fieldPadding; + ///Since the CupertinoTextField does not support onSaved, please use [onChanged] or [onFieldSubmitted] instead @override final FormFieldSetter onSaved; @@ -430,6 +434,7 @@ class _CardSettingsTextState extends FormFieldState { requiredIndicator: widget?.requiredIndicator, contentOnNewLine: widget?.contentOnNewLine ?? false, enabled: widget.enabled, + fieldPadding: widget.fieldPadding, content: TextField( controller: _controller, focusNode: widget?.focusNode,