Skip to content

Commit 0af77d0

Browse files
Display validation errors in model editor
1 parent c69a310 commit 0af77d0

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

extensions/ql-vscode/src/view/model-editor/MethodRow.tsx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ import { ModelEditorViewState } from "../../model-editor/shared/view-state";
3131
import { Codicon } from "../common";
3232
import { canAddNewModeledMethod } from "../../model-editor/shared/multiple-modeled-methods";
3333
import { DataGridCell, DataGridRow } from "../common/DataGrid";
34+
import { validateModeledMethods } from "../../model-editor/shared/validation";
35+
import { ModeledMethodAlert } from "../method-modeling/ModeledMethodAlert";
3436

3537
const ApiOrMethodRow = styled.div`
3638
min-height: calc(var(--input-height) * 1px);
@@ -111,6 +113,11 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
111113
[modeledMethodsProp, method, viewState],
112114
);
113115

116+
const validationErrors = useMemo(
117+
() => validateModeledMethods(modeledMethods),
118+
[modeledMethods],
119+
);
120+
114121
const modeledMethodChangedHandlers = useMemo(
115122
() =>
116123
modeledMethods.map((_, index) => (modeledMethod: ModeledMethod) => {
@@ -163,7 +170,9 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
163170
ref={ref}
164171
focused={revealedMethodSignature === method.signature}
165172
>
166-
<DataGridCell gridRow={`span ${modeledMethods.length}`}>
173+
<DataGridCell
174+
gridRow={`span ${modeledMethods.length + validationErrors.length}`}
175+
>
167176
<ApiOrMethodRow>
168177
<ModelingStatusIndicator status={modelingStatus} />
169178
<MethodClassifications method={method} />
@@ -256,6 +265,11 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
256265
)}
257266
</Fragment>
258267
))}
268+
{validationErrors.map((error, index) => (
269+
<DataGridCell gridColumn="span 5" key={index}>
270+
<ModeledMethodAlert error={error} />
271+
</DataGridCell>
272+
))}
259273
</>
260274
)}
261275
</DataGridRow>

0 commit comments

Comments
 (0)