Skip to content

Commit

Permalink
dded fieldPadding to all controls
Browse files Browse the repository at this point in the history
  • Loading branch information
codegrue committed Jul 10, 2020
1 parent 3dc210e commit 7ea545f
Show file tree
Hide file tree
Showing 27 changed files with 142 additions and 27 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions lib/interfaces/common_field_properties.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
13 changes: 10 additions & 3 deletions lib/widgets/card_settings_field.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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);
Expand All @@ -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: <Widget>[
Expand Down
3 changes: 3 additions & 0 deletions lib/widgets/card_settings_panel.dart
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ class CardSettings extends InheritedWidget {
this.cardless = false,
this.divider,
this.scrollable = true,
this.fieldPadding,
}) : super(
key: key,
child: CardSettingsContent(
Expand Down Expand Up @@ -61,6 +62,7 @@ class CardSettings extends InheritedWidget {
this.cardless = false,
this.divider,
this.scrollable = true,
this.fieldPadding,
}) : super(
key: key,
child: CardSettingsContent(
Expand Down Expand Up @@ -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<CardSettings>();
Expand Down
9 changes: 8 additions & 1 deletion lib/widgets/information_fields/card_settings_header.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -17,6 +18,7 @@ class CardSettingsHeader extends StatelessWidget implements CardSettingsWidget {
this.showMaterialonIOS,
this.visible = true,
this.child,
this.fieldPadding,
});

final String label;
Expand All @@ -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) {
Expand All @@ -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: <Widget>[
Expanded(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -16,6 +17,7 @@ class CardSettingsInstructions extends StatelessWidget
this.textColor,
this.showMaterialonIOS,
this.visible = true,
this.fieldPadding,
});

final String text;
Expand All @@ -25,6 +27,7 @@ class CardSettingsInstructions extends StatelessWidget
final bool showMaterialonIOS;
@override
final bool visible;
final EdgeInsetsGeometry fieldPadding;

@override
Widget build(BuildContext context) {
Expand All @@ -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: <Widget>[
Text(
Expand Down
5 changes: 5 additions & 0 deletions lib/widgets/numeric_fields/card_settings_currency.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class CardSettingsCurrency extends StatefulWidget
this.onFieldSubmitted,
this.inputFormatters,
this.showMaterialonIOS,
this.fieldPadding,
});

@override
Expand Down Expand Up @@ -120,6 +121,9 @@ class CardSettingsCurrency extends StatefulWidget
@override
final bool showMaterialonIOS;

@override
final EdgeInsetsGeometry fieldPadding;

@override
CardSettingsCurrencyState createState() {
return CardSettingsCurrencyState();
Expand All @@ -144,6 +148,7 @@ class CardSettingsCurrencyState extends State<CardSettingsCurrency> {
Widget build(BuildContext context) {
return CardSettingsText(
showMaterialonIOS: widget?.showMaterialonIOS,
fieldPadding: widget.fieldPadding,
label: widget.label,
labelAlign: widget.labelAlign,
labelWidth: widget?.labelWidth,
Expand Down
5 changes: 5 additions & 0 deletions lib/widgets/numeric_fields/card_settings_double.dart
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ class CardSettingsDouble extends StatelessWidget
this.inputFormatters,
this.showMaterialonIOS,
this.locale,
this.fieldPadding,
});

@override
Expand Down Expand Up @@ -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);
Expand All @@ -144,6 +148,7 @@ class CardSettingsDouble extends StatelessWidget
label: label,
hintText: hintText,
showMaterialonIOS: showMaterialonIOS,
fieldPadding: fieldPadding,
labelAlign: labelAlign,
labelWidth: labelWidth,
contentAlign: contentAlign,
Expand Down
2 changes: 2 additions & 0 deletions lib/widgets/numeric_fields/card_settings_int.dart
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ class CardSettingsInt extends CardSettingsText
ValueChanged<String> onFieldSubmitted,
List<TextInputFormatter> inputFormatters,
bool showMaterialonIOS,
EdgeInsetsGeometry fieldPadding,
}) : super(
key: key,
label: label,
Expand All @@ -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<int>(value));
Expand Down
5 changes: 5 additions & 0 deletions lib/widgets/numeric_fields/card_settings_slider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ class CardSettingsSlider extends FormField<double>
this.max,
this.divisions,
this.showMaterialonIOS,
this.fieldPadding,
}) : super(
key: key,
initialValue: initialValue,
Expand Down Expand Up @@ -82,6 +83,9 @@ class CardSettingsSlider extends FormField<double>
@override
final bool showMaterialonIOS;

@override
final EdgeInsetsGeometry fieldPadding;

final int divisions;

final double min, max;
Expand Down Expand Up @@ -150,6 +154,7 @@ class _CardSettingsSliderState extends FormFieldState<double> {
icon: widget?.icon,
requiredIndicator: widget?.requiredIndicator,
errorText: errorText,
fieldPadding: widget.fieldPadding,
content: Row(children: <Widget>[
Expanded(
child: Container(
Expand Down
5 changes: 5 additions & 0 deletions lib/widgets/numeric_fields/card_settings_switch.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ class CardSettingsSwitch extends FormField<bool>
this.contentAlign,
this.onChanged,
this.showMaterialonIOS,
this.fieldPadding,
}) : super(
key: key,
initialValue: initialValue,
Expand Down Expand Up @@ -74,6 +75,9 @@ class CardSettingsSwitch extends FormField<bool>
@override
final bool showMaterialonIOS;

@override
final EdgeInsetsGeometry fieldPadding;

@override
_CardSettingsSwitchState createState() => _CardSettingsSwitchState();
}
Expand All @@ -98,6 +102,7 @@ class _CardSettingsSwitchState extends FormFieldState<bool> {
icon: widget?.icon,
requiredIndicator: widget?.requiredIndicator,
errorText: errorText,
fieldPadding: widget.fieldPadding,
content: Row(children: <Widget>[
Expanded(
child: Text(
Expand Down
5 changes: 5 additions & 0 deletions lib/widgets/picker_fields/card_settings_checkbox_picker.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ class CardSettingsCheckboxPicker extends FormField<List<String>>
this.requiredIndicator,
this.options,
this.showMaterialonIOS,
this.fieldPadding,
}) : super(
key: key,
initialValue: initialValues,
Expand Down Expand Up @@ -73,6 +74,9 @@ class CardSettingsCheckboxPicker extends FormField<List<String>>
@override
final bool showMaterialonIOS;

@override
final EdgeInsetsGeometry fieldPadding;

@override
_CardSettingsCheckboxPickerState createState() =>
_CardSettingsCheckboxPickerState();
Expand Down Expand Up @@ -184,6 +188,7 @@ class _CardSettingsCheckboxPickerState extends FormFieldState<List<String>> {
requiredIndicator: widget?.requiredIndicator,
errorText: errorText,
contentOnNewLine: true,
fieldPadding: widget.fieldPadding,
content: Wrap(
alignment: WrapAlignment.start,
spacing: 4.0,
Expand Down
5 changes: 5 additions & 0 deletions lib/widgets/picker_fields/card_settings_color_picker.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class CardSettingsColorPicker extends FormField<Color>
this.requiredIndicator,
this.label = "Label",
this.showMaterialonIOS,
this.fieldPadding,
}) : super(
key: key,
initialValue: initialValue ?? Colors.black,
Expand Down Expand Up @@ -73,6 +74,9 @@ class CardSettingsColorPicker extends FormField<Color>
@override
final bool showMaterialonIOS;

@override
final EdgeInsetsGeometry fieldPadding;

final CardSettingsColorPickerType pickerType;

@override
Expand Down Expand Up @@ -206,6 +210,7 @@ class _CardSettingsColorPickerState extends FormFieldState<Color> {
icon: widget?.icon,
requiredIndicator: widget?.requiredIndicator,
errorText: errorText,
fieldPadding: widget.fieldPadding,
content: Container(
height: 20.0,
decoration: BoxDecoration(
Expand Down
5 changes: 5 additions & 0 deletions lib/widgets/picker_fields/card_settings_date_picker.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ class CardSettingsDatePicker extends FormField<DateTime>
this.dateFormat,
this.style,
this.showMaterialonIOS,
this.fieldPadding,
}) : super(
key: key,
initialValue: initialValue ?? DateTime.now(),
Expand Down Expand Up @@ -81,6 +82,9 @@ class CardSettingsDatePicker extends FormField<DateTime>
@override
final bool showMaterialonIOS;

@override
final EdgeInsetsGeometry fieldPadding;

@override
_CardSettingsDatePickerState createState() => _CardSettingsDatePickerState();
}
Expand Down Expand Up @@ -228,6 +232,7 @@ class _CardSettingsDatePickerState extends FormFieldState<DateTime> {
icon: widget?.icon ?? Icon(Icons.event),
requiredIndicator: widget?.requiredIndicator,
errorText: errorText,
fieldPadding: widget.fieldPadding,
content: Text(
formattedValue,
style: contentStyle(context, value, widget.enabled),
Expand Down

0 comments on commit 7ea545f

Please sign in to comment.