Skip to content

Commit 315021e

Browse files
authored
Minor redesign of method modeling title (#2832)
1 parent 1dc70fe commit 315021e

3 files changed

Lines changed: 37 additions & 10 deletions

File tree

extensions/ql-vscode/src/stories/method-modeling/MethodModeling.stories.tsx

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import * as React from "react";
33
import { Meta, StoryFn } from "@storybook/react";
44

55
import { MethodModeling as MethodModelingComponent } from "../../view/method-modeling/MethodModeling";
6+
import { createMethod } from "../../../test/factories/data-extension/method-factories";
67
export default {
78
title: "Method Modeling/Method Modeling",
89
component: MethodModelingComponent,
@@ -12,11 +13,23 @@ const Template: StoryFn<typeof MethodModelingComponent> = (args) => (
1213
<MethodModelingComponent {...args} />
1314
);
1415

16+
const method = createMethod();
17+
1518
export const MethodUnmodeled = Template.bind({});
16-
MethodUnmodeled.args = { modelingStatus: "unmodeled" };
19+
MethodUnmodeled.args = {
20+
method,
21+
modelingStatus: "unmodeled",
22+
};
1723

1824
export const MethodModeled = Template.bind({});
19-
MethodModeled.args = { modelingStatus: "unsaved" };
25+
MethodModeled.args = {
26+
method,
27+
28+
modelingStatus: "unsaved",
29+
};
2030

2131
export const MethodSaved = Template.bind({});
22-
MethodSaved.args = { modelingStatus: "saved" };
32+
MethodSaved.args = {
33+
method,
34+
modelingStatus: "saved",
35+
};

extensions/ql-vscode/src/view/method-modeling/MethodModeling.tsx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,26 @@ import { Method } from "../../model-editor/method";
88
import { MethodName } from "../model-editor/MethodName";
99

1010
const Container = styled.div`
11-
background-color: var(--vscode-peekViewResult-background);
1211
padding: 0.3rem;
1312
margin-bottom: 1rem;
13+
width: 100%;
1414
`;
1515

1616
const Title = styled.div`
1717
padding-bottom: 0.3rem;
18-
font-size: 1.2em;
18+
font-size: 0.7rem;
19+
text-transform: uppercase;
1920
`;
2021

2122
const DependencyContainer = styled.div`
2223
display: flex;
23-
justify-content: space-between;
24+
flex-direction: row;
25+
align-items: center;
26+
gap: 0.5em;
27+
background-color: var(--vscode-textBlockQuote-background);
28+
border-radius: 0.3rem;
29+
border-color: var(--vscode-textBlockQuote-border);
30+
padding: 0.5rem;
2431
`;
2532

2633
export type MethodModelingProps = {
@@ -34,10 +41,13 @@ export const MethodModeling = ({
3441
}: MethodModelingProps): JSX.Element => {
3542
return (
3643
<Container>
37-
<Title>API or Method</Title>
44+
<Title>
45+
{method.packageName}
46+
{method.libraryVersion && <>@{method.libraryVersion}</>}
47+
</Title>
3848
<DependencyContainer>
39-
<MethodName {...method} />
4049
<ModelingStatusIndicator status={modelingStatus} />
50+
<MethodName {...method} />
4151
</DependencyContainer>
4252
</Container>
4353
);

extensions/ql-vscode/src/view/method-modeling/__tests__/MethodModeling.spec.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,15 @@ describe(MethodModeling.name, () => {
88
reactRender(<MethodModeling {...props} />);
99

1010
it("renders method modeling panel", () => {
11+
const method = createMethod();
12+
1113
render({
1214
modelingStatus: "saved",
13-
method: createMethod(),
15+
method,
1416
});
1517

16-
expect(screen.getByText("API or Method")).toBeInTheDocument();
18+
expect(
19+
screen.getByText(`${method.packageName}@${method.libraryVersion}`),
20+
).toBeInTheDocument();
1721
});
1822
});

0 commit comments

Comments
 (0)