@@ -20,7 +20,7 @@ const textareaStyles = `
2020const logger = new Logger ( 'AnalyticsQueryInput' ) ;
2121
2222const AnalyticsQueryInput = ( { onSubmit, isSubmitting, selectedResult } ) => {
23- const { analyticsState, updateAnalyticsState } = useAnalyticsContext ( ) ;
23+ const { analyticsState, updateAnalyticsState, resetAnalyticsState } = useAnalyticsContext ( ) ;
2424 const { currentInputText } = analyticsState ;
2525
2626 const [ queryHistory , setQueryHistory ] = useState ( [ ] ) ;
@@ -172,6 +172,18 @@ const AnalyticsQueryInput = ({ onSubmit, isSubmitting, selectedResult }) => {
172172 }
173173 } ;
174174
175+ const handleClearQuery = ( ) => {
176+ // Clean up any existing subscription before resetting state
177+ if ( analyticsState . subscription ) {
178+ analyticsState . subscription . unsubscribe ( ) ;
179+ }
180+
181+ // Reset all analytics state to initial values
182+ resetAnalyticsState ( ) ;
183+ // Also clear local component state
184+ setSelectedOption ( null ) ;
185+ } ;
186+
175187 const handleDropdownItemClick = ( { detail } ) => {
176188 // Prevent dropdown item selection if a delete operation is in progress
177189 if ( isDeletingJob ) {
@@ -294,16 +306,21 @@ const AnalyticsQueryInput = ({ onSubmit, isSubmitting, selectedResult }) => {
294306 value = { currentInputText }
295307 onChange = { ( { detail } ) => updateAnalyticsState ( { currentInputText : detail . value } ) }
296308 disabled = { isSubmitting }
297- rows = { 2 }
309+ rows = { 3 }
298310 className = "expandable-textarea"
299311 />
300312 </ FormField >
301313 < Box padding = { { top : 'xl' } } >
302314 { ' ' }
303315 { /* Add top padding to align with input box */ }
304- < Button variant = "primary" type = "submit" disabled = { ! currentInputText . trim ( ) || isSubmitting } fullWidth >
305- { isSubmitting ? 'Submitting...' : 'Submit query' }
306- </ Button >
316+ < SpaceBetween size = "s" >
317+ < Button variant = "primary" type = "submit" disabled = { ! currentInputText . trim ( ) || isSubmitting } fullWidth >
318+ { isSubmitting ? 'Submitting...' : 'Submit query' }
319+ </ Button >
320+ < Button variant = "normal" onClick = { handleClearQuery } disabled = { isSubmitting } fullWidth >
321+ Clear query
322+ </ Button >
323+ </ SpaceBetween >
307324 </ Box >
308325 </ Grid >
309326
0 commit comments