@@ -60,16 +60,12 @@ interface SheetOperatorEditorFormProp {
60
60
opers ?: Group [ 'opers' ]
61
61
}
62
62
63
- type FormHTMLElement = DetailedHTMLProps <
64
- React . FormHTMLAttributes < HTMLFormElement > ,
65
- HTMLFormElement
66
- >
67
-
68
63
const SheetOperatorEditorForm : FC < SheetOperatorEditorFormProp > = ( {
69
64
name,
70
65
opers = [ ] ,
71
66
} ) => {
72
- const { existedOperators, existedGroups } = useSheet ( )
67
+ const { existedOperators, existedGroups, removeOperator, submitGroup } =
68
+ useSheet ( )
73
69
const [ selectedOperators , setSelectedOperators ] = useState <
74
70
OperatorInSheetOperatorEditor [ ]
75
71
> (
@@ -79,13 +75,29 @@ const SheetOperatorEditorForm: FC<SheetOperatorEditorFormProp> = ({
79
75
} ) ) ,
80
76
)
81
77
82
- const onSubmit : FormHTMLElement [ 'onSubmit' ] = ( e ) => {
78
+ const onSubmit : DetailedHTMLProps <
79
+ React . FormHTMLAttributes < HTMLFormElement > ,
80
+ HTMLFormElement
81
+ > [ 'onSubmit' ] = ( e ) => {
83
82
e . preventDefault ( )
83
+ const deleteArray : number [ ] = [ ]
84
+ const opers = selectedOperators . map ( ( { groupName, operName } ) => {
85
+ 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
+ } else {
91
+ const index = existedOperators . findIndex (
92
+ ( { name } ) => name === operName ,
93
+ )
94
+ deleteArray . push ( index )
95
+ return existedOperators [ index ]
96
+ }
97
+ } )
84
98
}
85
99
86
- const onReset : FormHTMLElement [ 'onReset' ] = ( e ) => {
87
- // e.preventDefault()
88
- console . log ( '111' )
100
+ const onReset = ( ) => {
89
101
setSelectedOperators (
90
102
opers . map ( ( { name : operName } ) => ( {
91
103
groupName : name ,
@@ -96,7 +108,7 @@ const SheetOperatorEditorForm: FC<SheetOperatorEditorFormProp> = ({
96
108
97
109
return (
98
110
< SheetContainerSkeleton title = "选择干员" icon = "select" >
99
- < form className = "mt-3" onSubmit = { onSubmit } onReset = { onReset } >
111
+ < form className = "mt-3" onSubmit = { onSubmit } >
100
112
< div className = "max-h-96 overflow-y-auto overflow-x-hidden" >
101
113
< OperatorSelectorSkeleton
102
114
icon = "person"
@@ -175,6 +187,7 @@ const SheetOperatorEditorForm: FC<SheetOperatorEditorFormProp> = ({
175
187
< Button
176
188
type = "reset"
177
189
text = "继续"
190
+ onClick = { onReset }
178
191
className = { clsx ( Classes . POPOVER_DISMISS , 'mx-1' ) }
179
192
/>
180
193
< Button text = "取消" className = { Classes . POPOVER_DISMISS } />
0 commit comments