@@ -79,22 +79,34 @@ const SheetOperatorEditorForm: FC<SheetOperatorEditorFormProp> = ({
79
79
React . FormHTMLAttributes < HTMLFormElement > ,
80
80
HTMLFormElement
81
81
> [ 'onSubmit' ] = ( e ) => {
82
+ console . log ( selectedOperators )
82
83
e . preventDefault ( )
84
+ const targetGroup = existedGroups . find (
85
+ ( { name : exsitedName } ) => exsitedName === name ,
86
+ ) || { name, opers : [ ] }
83
87
const deleteArray : number [ ] = [ ]
84
88
const opers = selectedOperators . map ( ( { groupName, operName } ) => {
85
89
if ( groupName ) {
86
- const targetGroup = existedGroups . find ( ( { name } ) => name === groupName )
87
- return existedGroups
88
- . find ( ( { name } ) => name === groupName )
89
- ?. opers ?. find ( ( { name } ) => name === operName )
90
+ const { opers : otherGroupOpers , ...rest } = existedGroups . find (
91
+ ( { name } ) => name === groupName ,
92
+ ) || { name : groupName , opers : [ ] }
93
+ const targetIndex =
94
+ otherGroupOpers ?. findIndex (
95
+ ( { name : otherOpersName } ) => otherOpersName === operName ,
96
+ ) || - 1
97
+ const target = otherGroupOpers ?. splice ( targetIndex , 1 ) [ 0 ]
98
+ submitGroup ( { ...rest , opers : otherGroupOpers } , undefined , true )
99
+ return target
90
100
} else {
91
101
const index = existedOperators . findIndex (
92
102
( { name } ) => name === operName ,
93
103
)
94
104
deleteArray . push ( index )
105
+ removeOperator ( deleteArray )
95
106
return existedOperators [ index ]
96
107
}
97
- } )
108
+ } ) as Group [ 'opers' ]
109
+ submitGroup ( { ...targetGroup , opers } , undefined , true )
98
110
}
99
111
100
112
const onReset = ( ) => {
0 commit comments