@@ -34,38 +34,8 @@ public function buildForm(FormBuilderInterface $builder, array $options)
34
34
'error_bubbling ' => true ,
35
35
'attr ' => [
36
36
'data-controller ' => trim (($ options ['attr ' ]['data-controller ' ] ?? '' ).' symfony--ux-cropperjs--cropper ' ),
37
- 'data-public-url ' => $ options ['public_url ' ],
38
- 'data-view-mode ' => $ options ['view_mode ' ],
39
- 'data-drag-mode ' => $ options ['drag_mode ' ],
40
- 'data-aspect-ratio ' => $ options ['aspect_ratio ' ] ?: false ,
41
- 'data-initial-aspect-ratio ' => $ options ['initial_aspect_ratio ' ] ?: false ,
42
- 'data-responsive ' => $ options ['responsive ' ],
43
- 'data-restore ' => $ options ['restore ' ],
44
- 'data-check-cross-origin ' => $ options ['check_cross_origin ' ],
45
- 'data-check-orientation ' => $ options ['check_orientation ' ],
46
- 'data-modal ' => $ options ['modal ' ],
47
- 'data-guides ' => $ options ['guides ' ],
48
- 'data-center ' => $ options ['center ' ],
49
- 'data-highlight ' => $ options ['highlight ' ],
50
- 'data-background ' => $ options ['background ' ],
51
- 'data-auto-crop ' => $ options ['auto_crop ' ],
52
- 'data-auto-crop-area ' => $ options ['auto_crop_area ' ],
53
- 'data-movable ' => $ options ['movable ' ],
54
- 'data-rotatable ' => $ options ['rotatable ' ],
55
- 'data-scalable ' => $ options ['scalable ' ],
56
- 'data-zoomable ' => $ options ['zoomable ' ],
57
- 'data-zoom-on-touch ' => $ options ['zoom_on_touch ' ],
58
- 'data-zoom-on-wheel ' => $ options ['zoom_on_wheel ' ],
59
- 'data-wheel-zoom-ratio ' => $ options ['wheel_zoom_ratio ' ],
60
- 'data-crop-box-movable ' => $ options ['crop_box_movable ' ],
61
- 'data-crop-box-resizable ' => $ options ['crop_box_resizable ' ],
62
- 'data-toggle-drag-mode-on-dblclick ' => $ options ['toggle_drag_mode_on_dblclick ' ],
63
- 'data-min-container-width ' => $ options ['min_container_width ' ],
64
- 'data-min-container-height ' => $ options ['min_container_height ' ],
65
- 'data-min-canvas-width ' => $ options ['min_canvas_width ' ],
66
- 'data-min-canvas-height ' => $ options ['min_canvas_height ' ],
67
- 'data-min-crop-box-width ' => $ options ['min_crop_box_width ' ],
68
- 'data-min-crop-box-height ' => $ options ['min_crop_box_height ' ],
37
+ 'data-symfony--ux-cropperjs--cropper-public-url-value ' => $ options ['public_url ' ],
38
+ 'data-symfony--ux-cropperjs--cropper-options-value ' => json_encode ($ options ['cropper_options ' ]),
69
39
],
70
40
])
71
41
;
@@ -85,107 +55,11 @@ public function configureOptions(OptionsResolver $resolver)
85
55
{
86
56
$ resolver ->setRequired ('public_url ' );
87
57
$ resolver ->setAllowedTypes ('public_url ' , 'string ' );
88
-
89
- $ resolver ->setDefined ([
90
- 'view_mode ' ,
91
- 'drag_mode ' ,
92
- 'aspect_ratio ' ,
93
- 'initial_aspect_ratio ' ,
94
- 'responsive ' ,
95
- 'restore ' ,
96
- 'check_cross_origin ' ,
97
- 'check_orientation ' ,
98
- 'modal ' ,
99
- 'guides ' ,
100
- 'center ' ,
101
- 'highlight ' ,
102
- 'background ' ,
103
- 'auto_crop ' ,
104
- 'auto_crop_area ' ,
105
- 'movable ' ,
106
- 'rotatable ' ,
107
- 'scalable ' ,
108
- 'zoomable ' ,
109
- 'zoom_on_touch ' ,
110
- 'zoom_on_wheel ' ,
111
- 'wheel_zoom_ratio ' ,
112
- 'crop_box_movable ' ,
113
- 'crop_box_resizable ' ,
114
- 'toggle_drag_mode_on_dblclick ' ,
115
- 'min_container_width ' ,
116
- 'min_container_height ' ,
117
- 'min_canvas_width ' ,
118
- 'min_canvas_height ' ,
119
- 'min_crop_box_width ' ,
120
- 'min_crop_box_height ' ,
121
- ]);
122
-
123
- $ resolver ->setAllowedTypes ('view_mode ' , ['int ' ]);
124
- $ resolver ->setAllowedTypes ('drag_mode ' , ['string ' ]);
125
- $ resolver ->setAllowedTypes ('aspect_ratio ' , ['double ' , 'null ' ]);
126
- $ resolver ->setAllowedTypes ('initial_aspect_ratio ' , ['double ' , 'null ' ]);
127
- $ resolver ->setAllowedTypes ('responsive ' , ['bool ' ]);
128
- $ resolver ->setAllowedTypes ('restore ' , ['bool ' ]);
129
- $ resolver ->setAllowedTypes ('check_cross_origin ' , ['bool ' ]);
130
- $ resolver ->setAllowedTypes ('check_orientation ' , ['bool ' ]);
131
- $ resolver ->setAllowedTypes ('modal ' , ['bool ' ]);
132
- $ resolver ->setAllowedTypes ('guides ' , ['bool ' ]);
133
- $ resolver ->setAllowedTypes ('center ' , ['bool ' ]);
134
- $ resolver ->setAllowedTypes ('highlight ' , ['bool ' ]);
135
- $ resolver ->setAllowedTypes ('background ' , ['bool ' ]);
136
- $ resolver ->setAllowedTypes ('auto_crop ' , ['bool ' ]);
137
- $ resolver ->setAllowedTypes ('auto_crop_area ' , ['float ' ]);
138
- $ resolver ->setAllowedTypes ('movable ' , ['bool ' ]);
139
- $ resolver ->setAllowedTypes ('rotatable ' , ['bool ' ]);
140
- $ resolver ->setAllowedTypes ('scalable ' , ['bool ' ]);
141
- $ resolver ->setAllowedTypes ('zoomable ' , ['bool ' ]);
142
- $ resolver ->setAllowedTypes ('zoom_on_touch ' , ['bool ' ]);
143
- $ resolver ->setAllowedTypes ('zoom_on_wheel ' , ['bool ' ]);
144
- $ resolver ->setAllowedTypes ('wheel_zoom_ratio ' , ['float ' ]);
145
- $ resolver ->setAllowedTypes ('crop_box_movable ' , ['bool ' ]);
146
- $ resolver ->setAllowedTypes ('crop_box_resizable ' , ['bool ' ]);
147
- $ resolver ->setAllowedTypes ('toggle_drag_mode_on_dblclick ' , ['bool ' ]);
148
- $ resolver ->setAllowedTypes ('min_container_width ' , ['int ' ]);
149
- $ resolver ->setAllowedTypes ('min_container_height ' , ['int ' ]);
150
- $ resolver ->setAllowedTypes ('min_canvas_width ' , ['int ' ]);
151
- $ resolver ->setAllowedTypes ('min_canvas_height ' , ['int ' ]);
152
- $ resolver ->setAllowedTypes ('min_crop_box_width ' , ['int ' ]);
153
- $ resolver ->setAllowedTypes ('min_crop_box_height ' , ['int ' ]);
58
+ $ resolver ->setDefault ('cropper_options ' , []);
154
59
155
60
$ resolver ->setDefaults ([
156
61
'label ' => false ,
157
62
'data_class ' => Crop::class,
158
- 'view_mode ' => 0 ,
159
- 'drag_mode ' => 'crop ' ,
160
- 'initial_aspect_ratio ' => null ,
161
- 'aspect_ratio ' => null ,
162
- 'responsive ' => true ,
163
- 'restore ' => true ,
164
- 'check_cross_origin ' => true ,
165
- 'check_orientation ' => true ,
166
- 'modal ' => true ,
167
- 'guides ' => true ,
168
- 'center ' => true ,
169
- 'highlight ' => true ,
170
- 'background ' => true ,
171
- 'auto_crop ' => true ,
172
- 'auto_crop_area ' => 0.8 ,
173
- 'movable ' => false ,
174
- 'rotatable ' => true ,
175
- 'scalable ' => false ,
176
- 'zoomable ' => false ,
177
- 'zoom_on_touch ' => true ,
178
- 'zoom_on_wheel ' => true ,
179
- 'wheel_zoom_ratio ' => 0.1 ,
180
- 'crop_box_movable ' => true ,
181
- 'crop_box_resizable ' => true ,
182
- 'toggle_drag_mode_on_dblclick ' => true ,
183
- 'min_container_width ' => 200 ,
184
- 'min_container_height ' => 100 ,
185
- 'min_canvas_width ' => 0 ,
186
- 'min_canvas_height ' => 0 ,
187
- 'min_crop_box_width ' => 0 ,
188
- 'min_crop_box_height ' => 0 ,
189
63
]);
190
64
}
191
65
0 commit comments