@@ -31,6 +31,10 @@ export const TraceVariantPopover: FC<ITraceVariantButtonProps> = observer(
31
31
//const [transcript] = useState<string>('') // reserved for future use
32
32
const transcript = ''
33
33
34
+ const dataReady : boolean = ! ! (
35
+ data && data [ 0 ] . variant . trim ( ) === variant . trim ( )
36
+ )
37
+
34
38
const point2stepIdx : PointToStepIdx = p => {
35
39
const idx = stepStore . steps . findIndex (
36
40
step => step . returnPointIndex === p || step . conditionPointIndex === p ,
@@ -118,18 +122,17 @@ export const TraceVariantPopover: FC<ITraceVariantButtonProps> = observer(
118
122
< Loader size = "xs" />
119
123
)
120
124
}
121
- if ( ! data || data [ 0 ] . variant !== variant ) {
122
- return null
125
+ if ( data && dataReady ) {
126
+ return data [ 1 ] === 'Finished' ? (
127
+ < TracesResultView
128
+ data = { data [ 0 ] }
129
+ point2step = { point2step . bind ( this ) }
130
+ selectStep = { selectStep . bind ( this ) }
131
+ />
132
+ ) : (
133
+ < div style = { { color : 'red' } } > { `Error: ${ data [ 0 ] . error } ` } </ div >
134
+ )
123
135
}
124
- return data [ 1 ] === 'Finished' ? (
125
- < TracesResultView
126
- data = { data [ 0 ] }
127
- point2step = { point2step . bind ( this ) }
128
- selectStep = { selectStep . bind ( this ) }
129
- />
130
- ) : (
131
- < div style = { { color : 'red' } } > { `Error: ${ data [ 0 ] . error } ` } </ div >
132
- )
133
136
}
134
137
135
138
return (
@@ -145,11 +148,12 @@ export const TraceVariantPopover: FC<ITraceVariantButtonProps> = observer(
145
148
onClose = { onClose }
146
149
onApply = { ( ) => {
147
150
setStopped ( false )
148
- setVariant ( variant . trim ( ) )
149
- traceStore . setQuery ( { variant, transcript } )
151
+ const v = variant . trim ( )
152
+ if ( v !== variant ) setVariant ( v )
153
+ traceStore . setQuery ( { variant : v , transcript } )
150
154
showHistory ( false )
151
155
} }
152
- isApplyDisabled = { variant . length < 7 || isLoading }
156
+ isApplyDisabled = { variant . length < 7 || isLoading || dataReady }
153
157
isLoading = { false }
154
158
cancelText = { t ( 'dtree.traceVariant.close' ) }
155
159
applyText = { t ( 'dtree.traceVariant.go' ) }
0 commit comments