Skip to content

Commit af123d1

Browse files
Merge pull request #35 from astubenbord/main
Add customization option for color preview of FormBuilderColorPickerField
2 parents 7ad61ad + b1be77c commit af123d1

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

lib/src/fields/form_builder_color_picker.dart

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ class FormBuilderColorPickerField extends FormBuilderField<Color> {
6666
final bool enableInteractiveSelection;
6767
final InputCounterWidgetBuilder? buildCounter;
6868

69+
final Widget Function(Color?)? colorPreviewBuilder;
70+
6971
FormBuilderColorPickerField({
7072
Key? key,
7173
//From Super
@@ -109,6 +111,7 @@ class FormBuilderColorPickerField extends FormBuilderField<Color> {
109111
this.enableInteractiveSelection = true,
110112
this.buildCounter,
111113
this.controller,
114+
this.colorPreviewBuilder,
112115
}) : super(
113116
key: key,
114117
initialValue: initialValue,
@@ -127,23 +130,19 @@ class FormBuilderColorPickerField extends FormBuilderField<Color> {
127130
return TextField(
128131
style: style,
129132
decoration: state.decoration.copyWith(
130-
suffixIcon: LayoutBuilder(
131-
key: ObjectKey(state.value),
132-
builder: (context, constraints) {
133-
return Container(
134-
key: ObjectKey(state.value),
135-
height: constraints.minHeight,
136-
width: constraints.minHeight,
137-
decoration: BoxDecoration(
138-
color: state.value,
139-
shape: BoxShape.circle,
140-
border: Border.all(
141-
color: Colors.black,
142-
),
133+
suffixIcon: colorPreviewBuilder != null
134+
? colorPreviewBuilder(field.value)
135+
: LayoutBuilder(
136+
key: ObjectKey(state.value),
137+
builder: (context, constraints) {
138+
return Icon(
139+
Icons.circle,
140+
key: ObjectKey(state.value),
141+
size: constraints.minHeight,
142+
color: state.value,
143+
);
144+
},
143145
),
144-
);
145-
},
146-
),
147146
),
148147
enabled: state.enabled,
149148
readOnly: readOnly,

0 commit comments

Comments
 (0)