@@ -16,6 +16,7 @@ import { vscode } from "../vscode-api";
1616
1717import type { Method } from "../../model-editor/method" ;
1818import type { ModeledMethod } from "../../model-editor/modeled-method" ;
19+ import { isModelPending } from "../../model-editor/modeled-method" ;
1920import { ModelKindDropdown } from "./ModelKindDropdown" ;
2021import { Mode } from "../../model-editor/shared/mode" ;
2122import { MethodClassifications } from "./MethodClassifications" ;
@@ -112,6 +113,7 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
112113 modeledMethods : modeledMethodsProp ,
113114 methodIsUnsaved,
114115 methodIsSelected,
116+ processedByAutoModel,
115117 viewState,
116118 revealedMethodSignature,
117119 inputAccessPathSuggestions,
@@ -255,88 +257,96 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
255257 ) }
256258 { ! props . modelingInProgress && (
257259 < >
258- { modeledMethods . map ( ( modeledMethod , index ) => (
259- < DataGridRow key = { index } focused = { focusedIndex === index } >
260- < DataGridCell >
261- < ModelTypeDropdown
262- language = { viewState . language }
263- method = { method }
264- modeledMethod = { modeledMethod }
265- modelingStatus = { modelingStatus }
266- onChange = { modeledMethodChangedHandlers [ index ] }
267- />
268- </ DataGridCell >
269- < DataGridCell >
270- { inputAccessPathSuggestions === undefined ? (
271- < ModelInputDropdown
260+ { modeledMethods . map ( ( modeledMethod , index ) => {
261+ const modelPending = isModelPending (
262+ modeledMethod ,
263+ modelingStatus ,
264+ processedByAutoModel ,
265+ ) ;
266+
267+ return (
268+ < DataGridRow key = { index } focused = { focusedIndex === index } >
269+ < DataGridCell >
270+ < ModelTypeDropdown
272271 language = { viewState . language }
273272 method = { method }
274273 modeledMethod = { modeledMethod }
275- modelingStatus = { modelingStatus }
274+ modelPending = { modelPending }
276275 onChange = { modeledMethodChangedHandlers [ index ] }
277276 />
278- ) : (
279- < ModelInputSuggestBox
280- modeledMethod = { modeledMethod }
281- suggestions = { inputAccessPathSuggestions }
282- typePathSuggestions = { outputAccessPathSuggestions ?? [ ] }
283- onChange = { modeledMethodChangedHandlers [ index ] }
284- />
285- ) }
286- </ DataGridCell >
287- < DataGridCell >
288- { outputAccessPathSuggestions === undefined ? (
289- < ModelOutputDropdown
277+ </ DataGridCell >
278+ < DataGridCell >
279+ { inputAccessPathSuggestions === undefined ? (
280+ < ModelInputDropdown
281+ language = { viewState . language }
282+ method = { method }
283+ modeledMethod = { modeledMethod }
284+ modelPending = { modelPending }
285+ onChange = { modeledMethodChangedHandlers [ index ] }
286+ />
287+ ) : (
288+ < ModelInputSuggestBox
289+ modeledMethod = { modeledMethod }
290+ suggestions = { inputAccessPathSuggestions }
291+ typePathSuggestions = { outputAccessPathSuggestions ?? [ ] }
292+ onChange = { modeledMethodChangedHandlers [ index ] }
293+ />
294+ ) }
295+ </ DataGridCell >
296+ < DataGridCell >
297+ { outputAccessPathSuggestions === undefined ? (
298+ < ModelOutputDropdown
299+ language = { viewState . language }
300+ method = { method }
301+ modeledMethod = { modeledMethod }
302+ modelPending = { modelPending }
303+ onChange = { modeledMethodChangedHandlers [ index ] }
304+ />
305+ ) : (
306+ < ModelOutputSuggestBox
307+ modeledMethod = { modeledMethod }
308+ suggestions = { outputAccessPathSuggestions }
309+ onChange = { modeledMethodChangedHandlers [ index ] }
310+ />
311+ ) }
312+ </ DataGridCell >
313+ < DataGridCell >
314+ < ModelKindDropdown
290315 language = { viewState . language }
291- method = { method }
292316 modeledMethod = { modeledMethod }
293- modelingStatus = { modelingStatus }
317+ modelPending = { modelPending }
294318 onChange = { modeledMethodChangedHandlers [ index ] }
295319 />
296- ) : (
297- < ModelOutputSuggestBox
298- modeledMethod = { modeledMethod }
299- suggestions = { outputAccessPathSuggestions }
300- onChange = { modeledMethodChangedHandlers [ index ] }
301- />
302- ) }
303- </ DataGridCell >
304- < DataGridCell >
305- < ModelKindDropdown
306- language = { viewState . language }
307- modeledMethod = { modeledMethod }
308- modelingStatus = { modelingStatus }
309- onChange = { modeledMethodChangedHandlers [ index ] }
310- />
311- </ DataGridCell >
312- < DataGridCell >
313- { index === 0 ? (
314- < CodiconRow
315- appearance = "icon"
316- aria-label = "Add new model"
317- onClick = { ( event : React . MouseEvent ) => {
318- event . stopPropagation ( ) ;
319- handleAddModelClick ( ) ;
320- } }
321- disabled = { addModelButtonDisabled }
322- >
323- < Codicon name = "add" />
324- </ CodiconRow >
325- ) : (
326- < CodiconRow
327- appearance = "icon"
328- aria-label = "Remove model"
329- onClick = { ( event : React . MouseEvent ) => {
330- event . stopPropagation ( ) ;
331- removeModelClickedHandlers [ index ] ( ) ;
332- } }
333- >
334- < Codicon name = "trash" />
335- </ CodiconRow >
336- ) }
337- </ DataGridCell >
338- </ DataGridRow >
339- ) ) }
320+ </ DataGridCell >
321+ < DataGridCell >
322+ { index === 0 ? (
323+ < CodiconRow
324+ appearance = "icon"
325+ aria-label = "Add new model"
326+ onClick = { ( event : React . MouseEvent ) => {
327+ event . stopPropagation ( ) ;
328+ handleAddModelClick ( ) ;
329+ } }
330+ disabled = { addModelButtonDisabled }
331+ >
332+ < Codicon name = "add" />
333+ </ CodiconRow >
334+ ) : (
335+ < CodiconRow
336+ appearance = "icon"
337+ aria-label = "Remove model"
338+ onClick = { ( event : React . MouseEvent ) => {
339+ event . stopPropagation ( ) ;
340+ removeModelClickedHandlers [ index ] ( ) ;
341+ } }
342+ >
343+ < Codicon name = "trash" />
344+ </ CodiconRow >
345+ ) }
346+ </ DataGridCell >
347+ </ DataGridRow >
348+ ) ;
349+ } ) }
340350 { validationErrors . map ( ( error , index ) => (
341351 < DataGridCell gridColumn = "span 5" key = { index } >
342352 < ModeledMethodAlert
0 commit comments