File tree Expand file tree Collapse file tree 5 files changed +42
-2
lines changed
model-editor/method-modeling Expand file tree Collapse file tree 5 files changed +42
-2
lines changed Original file line number Diff line number Diff line change @@ -597,9 +597,15 @@ export type FromModelEditorMessage =
597597 | HideModeledMethodsMessage
598598 | SetModeledMethodMessage ;
599599
600+ interface RevealInEditorMessage {
601+ t : "revealInModelEditor" ;
602+ method : Method ;
603+ }
604+
600605export type FromMethodModelingMessage =
601606 | CommonFromViewMessages
602- | SetModeledMethodMessage ;
607+ | SetModeledMethodMessage
608+ | RevealInEditorMessage ;
603609
604610interface SetMethodMessage {
605611 t : "setMethod" ;
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import { redactableError } from "../../common/errors";
1010import { Method } from "../method" ;
1111import { ModelingStore } from "../modeling-store" ;
1212import { AbstractWebviewViewProvider } from "../../common/vscode/abstract-webview-view-provider" ;
13+ import { assertNever } from "../../common/helpers-pure" ;
1314
1415export class MethodModelingViewProvider extends AbstractWebviewViewProvider <
1516 ToMethodModelingMessage ,
@@ -87,6 +88,10 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
8788 ) ;
8889 break ;
8990 }
91+ case "revealInModelEditor" :
92+ break ;
93+ default :
94+ assertNever ( msg ) ;
9095 }
9196 }
9297
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import { MethodName } from "../model-editor/MethodName";
77import { ModeledMethod } from "../../model-editor/modeled-method" ;
88import { MethodModelingInputs } from "./MethodModelingInputs" ;
99import { VSCodeTag } from "@vscode/webview-ui-toolkit/react" ;
10+ import { ReviewInEditorButton } from "./ReviewInEditorButton" ;
1011
1112const Container = styled . div `
1213 padding: 0.3rem;
@@ -64,6 +65,7 @@ export const MethodModeling = ({
6465 modeledMethod = { modeledMethod }
6566 onChange = { onChange }
6667 />
68+ < ReviewInEditorButton method = { method } />
6769 </ Container >
6870 ) ;
6971} ;
Original file line number Diff line number Diff line change 1+ import * as React from "react" ;
2+ import { useCallback } from "react" ;
3+ import { styled } from "styled-components" ;
4+ import { vscode } from "../vscode-api" ;
5+ import TextButton from "../common/TextButton" ;
6+ import { Method } from "../../model-editor/method" ;
7+
8+ const Button = styled ( TextButton ) `
9+ margin-top: 0.5rem;
10+ ` ;
11+
12+ type Props = {
13+ method : Method ;
14+ } ;
15+
16+ export const ReviewInEditorButton = ( { method } : Props ) => {
17+ const handleClick = useCallback ( ( ) => {
18+ vscode . postMessage ( {
19+ t : "revealInModelEditor" ,
20+ method,
21+ } ) ;
22+ } , [ method ] ) ;
23+
24+ return < Button onClick = { handleClick } > Review in editor</ Button > ;
25+ } ;
Original file line number Diff line number Diff line change 11import {
22 FromCompareViewMessage ,
3+ FromMethodModelingMessage ,
34 FromModelEditorMessage ,
45 FromResultsViewMsg ,
56 FromVariantAnalysisMessage ,
@@ -15,7 +16,8 @@ export interface VsCodeApi {
1516 | FromResultsViewMsg
1617 | FromCompareViewMessage
1718 | FromVariantAnalysisMessage
18- | FromModelEditorMessage ,
19+ | FromModelEditorMessage
20+ | FromMethodModelingMessage ,
1921 ) : void ;
2022
2123 /**
You can’t perform that action at this time.
0 commit comments