@@ -108,7 +108,7 @@ export const FormComponent: React.FC<FieldProps> = (props) => {
108
108
109
109
const customOnChange = useCallback (
110
110
( newData : Array < LinearMetadataItem > ) => {
111
- onChange ( newData . filter ( ( e ) => ( valueField ? ! isNil ( e [ valueField ] ) : true ) ) ) ;
111
+ onChange ( valueField === "gradient" ? newData : newData . filter ( ( e ) => ( valueField ? ! isNil ( e [ valueField ] ) : true ) ) )
112
112
} ,
113
113
[ onChange , valueField ]
114
114
) ;
@@ -363,43 +363,41 @@ export const FormComponent: React.FC<FieldProps> = (props) => {
363
363
} }
364
364
formData = { selectedData }
365
365
onChange = { ( e ) => {
366
- if ( e . errors . length === 0 ) {
367
- const newItem = e . formData ;
368
- const oldItem = data [ selected ] ;
369
- let newData = [ ...data ] ;
370
- // we keep the old value for begin and end
371
- // they will be change in the resize function if needed
372
- newData [ selected ] = {
373
- ...oldItem ,
374
- ...omit ( newItem , [ 'begin' , 'end' ] ) ,
375
- } ;
366
+ const newItem = e . formData ;
367
+ const oldItem = data [ selected ] ;
368
+ let newData = [ ...data ] ;
369
+ // we keep the old value for begin and end
370
+ // they will be change in the resize function if needed
371
+ newData [ selected ] = {
372
+ ...oldItem ,
373
+ ...omit ( newItem , [ 'begin' , 'end' ] ) ,
374
+ } ;
376
375
377
- // Check if there is a resize
378
- try {
379
- if ( newItem . begin !== oldItem . begin ) {
380
- const resizeBegin = resizeSegment (
381
- [ ...newData ] ,
382
- selected ,
383
- newItem . begin - oldItem . begin ,
384
- 'begin'
385
- ) ;
386
- newData = resizeBegin . result ;
387
- }
388
- if ( oldItem . end !== newItem . end ) {
389
- const resizeEnd = resizeSegment (
390
- [ ...newData ] ,
391
- selected ,
392
- newItem . end - oldItem . end ,
393
- 'end'
394
- ) ;
395
- newData = resizeEnd . result ;
396
- }
397
- customOnChange ( newData ) ;
398
- } catch ( error ) {
399
- // TODO: Should we display the resize error ?
400
- } finally {
401
- setSelectedData ( newItem ) ;
376
+ // Check if there is a resize
377
+ try {
378
+ if ( newItem . begin !== oldItem . begin ) {
379
+ const resizeBegin = resizeSegment (
380
+ [ ...newData ] ,
381
+ selected ,
382
+ newItem . begin - oldItem . begin ,
383
+ 'begin'
384
+ ) ;
385
+ newData = resizeBegin . result ;
386
+ }
387
+ if ( oldItem . end !== newItem . end ) {
388
+ const resizeEnd = resizeSegment (
389
+ [ ...newData ] ,
390
+ selected ,
391
+ newItem . end - oldItem . end ,
392
+ 'end'
393
+ ) ;
394
+ newData = resizeEnd . result ;
402
395
}
396
+ customOnChange ( newData ) ;
397
+ } catch ( error ) {
398
+ // TODO: Should we display the resize error ?
399
+ } finally {
400
+ setSelectedData ( newItem ) ;
403
401
}
404
402
} }
405
403
>
0 commit comments