@@ -20,6 +20,7 @@ export default function SelectCourseDialog({
2020 handleCoursesUpdate : ( courses : Course [ ] ) => void ;
2121} ) {
2222 const [ availableCourses , setAvailableCourses ] = useState < Course [ ] > ( [ ] ) ;
23+ const [ searchText , setSearchText ] = useState ( "" ) ;
2324 const [ filteredAvailableCourses , setFilteredAvailableCourses ] = useState <
2425 Course [ ]
2526 > ( [ ] ) ;
@@ -48,7 +49,14 @@ export default function SelectCourseDialog({
4849 onClick = { ( e ) => e . stopPropagation ( ) }
4950 >
5051 < form className = "modal-backdrop" >
51- < button type = "button" onClick = { onClose } >
52+ < button
53+ type = "button"
54+ onClick = { ( ) => {
55+ setSearchText ( "" ) ;
56+ setFilteredAvailableCourses ( availableCourses ) ;
57+ onClose ( ) ;
58+ } }
59+ >
5260 閉じる
5361 </ button >
5462 </ form >
@@ -64,7 +72,11 @@ export default function SelectCourseDialog({
6472 < button
6573 type = "button"
6674 className = "btn btn-ghost btn-sm absolute top-3 right-3"
67- onClick = { onClose }
75+ onClick = { ( ) => {
76+ setSearchText ( "" ) ;
77+ setFilteredAvailableCourses ( availableCourses ) ;
78+ onClose ( ) ;
79+ } }
6880 >
6981 閉じる
7082 </ button >
@@ -102,9 +114,12 @@ export default function SelectCourseDialog({
102114 type = "text"
103115 placeholder = "授業名で検索"
104116 className = "input input-bordered mt-4 w-full"
117+ value = { searchText }
105118 onChange = { ( e ) => {
119+ const text = e . target . value . trim ( ) ;
120+ setSearchText ( text ) ;
106121 const newFilteredCourses = availableCourses . filter ( ( course ) =>
107- course . name . includes ( e . target . value . trim ( ) ) ,
122+ course . name . includes ( text ) ,
108123 ) ;
109124 setFilteredAvailableCourses ( newFilteredCourses ) ;
110125 } }
@@ -140,6 +155,8 @@ export default function SelectCourseDialog({
140155 onClose = { ( ) => {
141156 setConfirmDialogStatus ( "closed" ) ;
142157 setNewCourse ( null ) ;
158+ setSearchText ( "" ) ;
159+ setFilteredAvailableCourses ( availableCourses ) ;
143160 onClose ( ) ;
144161 } }
145162 onCancel = { ( ) => {
0 commit comments