@@ -9,6 +9,7 @@ import TaskSelect from "@src/task/view/task-select.view";
99import { useQuery } from "crossroad" ;
1010import { Accordion , Col , Form , Row , Stack } from "react-bootstrap" ;
1111import TriggerListItemView from "./trigger-list-item.view" ;
12+ import { useEffect , useState } from "react" ;
1213
1314interface Props {
1415 url : string ;
@@ -21,8 +22,13 @@ const TriggersSearchView = ({
2122 showReRunButton,
2223} : Props ) => {
2324 const [ query , setQuery ] = useQuery ( ) ;
25+ const [ search , setSearch ] = useState ( query . search || "" ) ;
2426 const triggers = useServerObject < PagedModel < Trigger > > ( url ) ;
2527
28+ useEffect ( ( ) => {
29+ setSearch ( query . search || "" ) ;
30+ } , [ query ] ) ;
31+
2632 const doReload = ( ) => {
2733 return triggers . doGet (
2834 "?size=10&" + new URLSearchParams ( query ) . toString ( )
@@ -44,16 +50,12 @@ const TriggersSearchView = ({
4450 < Row >
4551 < Col >
4652 < Form . Control
47- defaultValue = { query . id || "" }
53+ value = { search }
54+ onChange = { ( e ) => setSearch ( e . target . value ) }
4855 type = "text"
4956 placeholder = "ID search, '*' any string, '_' any character ..."
5057 onKeyUp = { ( e ) =>
51- e . key == "Enter"
52- ? doUpdateQuery ( {
53- search : ( e . target as HTMLInputElement )
54- . value ,
55- } )
56- : null
58+ e . key == "Enter" ? doUpdateQuery ( { search } ) : null
5759 }
5860 />
5961 </ Col >
@@ -99,6 +101,7 @@ const TriggersSearchView = ({
99101 afterTriggerChanged = {
100102 allowUpdateAnCancel ? doReload : undefined
101103 }
104+ onFieldClick = { ( k , v ) => doUpdateQuery ( { [ k ] : v } ) }
102105 />
103106 ) ) }
104107 </ Accordion >
0 commit comments