Skip to content

Commit 675d545

Browse files
committed
Refactored the decoration logic.
1 parent db1b4c1 commit 675d545

25 files changed

+53
-114
lines changed

lib/src/fields/form_builder_checkbox.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,7 @@ class FormBuilderCheckbox extends FormBuilderField<bool> {
107107
final _FormBuilderCheckboxState state = field;
108108

109109
return InputDecorator(
110-
decoration: decoration.copyWith(
111-
enabled: !state.readOnly,
112-
errorText: decoration?.errorText ?? field.errorText,
113-
),
110+
decoration: state.decoration(),
114111
child: CheckboxListTile(
115112
dense: true,
116113
isThreeLine: false,

lib/src/fields/form_builder_checkbox_group.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,7 @@ class FormBuilderCheckboxGroup<T> extends FormBuilderField<List<T>> {
7676
final _FormBuilderCheckboxGroupState<T> state = field;
7777

7878
return InputDecorator(
79-
decoration: decoration.copyWith(
80-
enabled: !state.readOnly,
81-
errorText: decoration?.errorText ?? state.errorText,
82-
),
79+
decoration: state.decoration(),
8380
child: GroupedCheckbox<T>(
8481
orientation: orientation,
8582
value: state.value,

lib/src/fields/form_builder_chips_input.dart

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,8 @@ class FormBuilderChipsInput<T> extends FormBuilderField<List<T>> {
7474
return ChipsInput<T>(
7575
key: ObjectKey(state.value),
7676
initialValue: field.value,
77-
enabled: !state.readOnly,
78-
decoration: decoration.copyWith(
79-
enabled: !state.readOnly,
80-
errorText: decoration?.errorText ?? field.errorText,
81-
),
77+
enabled: enabled,
78+
decoration: state.decoration(),
8279
findSuggestions: findSuggestions,
8380
onChanged: (data) {
8481
field.didChange(data);

lib/src/fields/form_builder_choice_chips.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -293,10 +293,7 @@ class FormBuilderChoiceChip<T> extends FormBuilderField<T> {
293293
final _FormBuilderChoiceChipState<T> state = field;
294294

295295
return InputDecorator(
296-
decoration: decoration.copyWith(
297-
enabled: !state.readOnly,
298-
errorText: decoration?.errorText ?? field.errorText,
299-
),
296+
decoration: state.decoration(),
300297
child: Wrap(
301298
direction: direction,
302299
alignment: alignment,

lib/src/fields/form_builder_color_picker.dart

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -127,28 +127,26 @@ class FormBuilderColorPickerField extends FormBuilderField<Color> {
127127
final _FormBuilderColorPickerFieldState state = field;
128128
return TextField(
129129
style: style,
130-
decoration: decoration.copyWith(
131-
errorText: decoration?.errorText ?? field.errorText,
132-
enabled: !state.readOnly,
133-
suffixIcon: LayoutBuilder(
134-
key: ObjectKey(state.value),
135-
builder: (context, constraints) {
136-
return Container(
130+
decoration: state.decoration().copyWith(
131+
suffixIcon: LayoutBuilder(
137132
key: ObjectKey(state.value),
138-
height: constraints.minHeight,
139-
width: constraints.minHeight,
140-
decoration: BoxDecoration(
141-
color: state.value,
142-
shape: BoxShape.circle,
143-
border: Border.all(
144-
color: Colors.black,
145-
),
146-
),
147-
);
148-
},
149-
),
150-
),
151-
enabled: !state.readOnly,
133+
builder: (context, constraints) {
134+
return Container(
135+
key: ObjectKey(state.value),
136+
height: constraints.minHeight,
137+
width: constraints.minHeight,
138+
decoration: BoxDecoration(
139+
color: state.value,
140+
shape: BoxShape.circle,
141+
border: Border.all(
142+
color: Colors.black,
143+
),
144+
),
145+
);
146+
},
147+
),
148+
),
149+
enabled: enabled,
152150
readOnly: state.readOnly,
153151
controller: state._effectiveController,
154152
focusNode: state.effectiveFocusNode,

lib/src/fields/form_builder_date_range_picker.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,7 @@ class FormBuilderDateRangePicker extends FormBuilderField<List<DateTime>> {
138138
focusNode: state.readOnly
139139
? AlwaysDisabledFocusNode()
140140
: state.effectiveFocusNode,
141-
decoration: decoration.copyWith(
142-
enabled: !state.readOnly,
143-
errorText: decoration?.errorText ?? field.errorText,
144-
),
141+
decoration: state.decoration(),
145142
// initialValue: "${_initialValue ?? ''}",
146143
maxLines: maxLines,
147144
keyboardType: keyboardType,

lib/src/fields/form_builder_date_time_picker.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,10 +248,7 @@ class FormBuilderDateTimePicker extends FormBuilderField<DateTime> {
248248
textAlign: textAlign,
249249
maxLength: maxLength,
250250
autofocus: autofocus,
251-
decoration: decoration.copyWith(
252-
enabled: !state.readOnly,
253-
errorText: decoration?.errorText ?? field.errorText,
254-
),
251+
decoration: state.decoration(),
255252
readOnly: true,
256253
enabled: state.readOnly ? false : enabled,
257254
autocorrect: autocorrect,

lib/src/fields/form_builder_dropdown.dart

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -232,13 +232,11 @@ class FormBuilderDropdown<T> extends FormBuilderField<T> {
232232
// TextFormField
233233

234234
return InputDecorator(
235-
decoration: decoration.copyWith(
236-
enabled: !state.readOnly,
237-
errorText: decoration?.errorText ?? field.errorText,
238-
floatingLabelBehavior: hint == null
239-
? decoration.floatingLabelBehavior
240-
: FloatingLabelBehavior.always,
241-
),
235+
decoration: state.decoration().copyWith(
236+
floatingLabelBehavior: hint == null
237+
? decoration.floatingLabelBehavior
238+
: FloatingLabelBehavior.always,
239+
),
242240
isEmpty: state.value == null,
243241
child: Row(
244242
children: <Widget>[

lib/src/fields/form_builder_file_picker.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,7 @@ class FormBuilderFilePicker extends FormBuilderField<List<PlatformFile>> {
8383
final _FormBuilderFilePickerState state = field;
8484

8585
return InputDecorator(
86-
decoration: decoration.copyWith(
87-
enabled: !state.readOnly,
88-
errorText: decoration?.errorText ?? field.errorText,
89-
),
86+
decoration: state.decoration(),
9087
child: Column(
9188
children: <Widget>[
9289
Row(

lib/src/fields/form_builder_filter_chips.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,7 @@ class FormBuilderFilterChip<T> extends FormBuilderField<List<T>> {
9292
builder: (FormFieldState<List<T>> field) {
9393
final _FormBuilderFilterChipState<T> state = field;
9494
return InputDecorator(
95-
decoration: decoration.copyWith(
96-
errorText: decoration?.errorText ?? field.errorText,
97-
),
95+
decoration: state.decoration(),
9896
child: Wrap(
9997
direction: direction,
10098
alignment: alignment,

0 commit comments

Comments
 (0)