1
1
import 'dart:async' ;
2
+ import 'dart:math' ;
2
3
3
4
import 'package:flutter/material.dart' ;
4
5
import 'package:flutter/services.dart' ;
@@ -66,6 +67,8 @@ class FormBuilderColorPickerField extends FormBuilderField<Color> {
66
67
final bool enableInteractiveSelection;
67
68
final InputCounterWidgetBuilder ? buildCounter;
68
69
70
+ final Widget Function (Color ? )? colorPreviewBuilder;
71
+
69
72
FormBuilderColorPickerField ({
70
73
Key ? key,
71
74
//From Super
@@ -109,6 +112,7 @@ class FormBuilderColorPickerField extends FormBuilderField<Color> {
109
112
this .enableInteractiveSelection = true ,
110
113
this .buildCounter,
111
114
this .controller,
115
+ this .colorPreviewBuilder,
112
116
}) : super (
113
117
key: key,
114
118
initialValue: initialValue,
@@ -127,23 +131,19 @@ class FormBuilderColorPickerField extends FormBuilderField<Color> {
127
131
return TextField (
128
132
style: style,
129
133
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
- ),
134
+ suffixIcon: colorPreviewBuilder != null
135
+ ? colorPreviewBuilder (field.value)
136
+ : LayoutBuilder (
137
+ key: ObjectKey (state.value),
138
+ builder: (context, constraints) {
139
+ return Icon (
140
+ Icons .circle,
141
+ key: ObjectKey (state.value),
142
+ size: constraints.minHeight,
143
+ color: state.value,
144
+ );
145
+ },
143
146
),
144
- );
145
- },
146
- ),
147
147
),
148
148
enabled: state.enabled,
149
149
readOnly: readOnly,
@@ -178,8 +178,7 @@ class FormBuilderColorPickerField extends FormBuilderField<Color> {
178
178
);
179
179
180
180
@override
181
- FormBuilderColorPickerFieldState createState () =>
182
- FormBuilderColorPickerFieldState ();
181
+ FormBuilderColorPickerFieldState createState () => FormBuilderColorPickerFieldState ();
183
182
}
184
183
185
184
class FormBuilderColorPickerFieldState
0 commit comments