Skip to content

Commit 26b4b98

Browse files
authored
Merge pull request #2959 from github/koesie10/modeled-methods-panel-add-button
Only disable add button when there are no models yet
2 parents 7e3cb75 + 2453c64 commit 26b4b98

2 files changed

Lines changed: 7 additions & 11 deletions

File tree

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

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as React from "react";
2-
import { useCallback, useMemo, useState } from "react";
2+
import { useCallback, useState } from "react";
33
import { Method } from "../../model-editor/method";
44
import { ModeledMethod } from "../../model-editor/modeled-method";
55
import { styled } from "styled-components";
@@ -100,13 +100,6 @@ export const MultipleModeledMethodsPanel = ({
100100
setSelectedIndex(newSelectedIndex);
101101
}, [onChange, modeledMethods, selectedIndex]);
102102

103-
const anyUnmodeled = useMemo(
104-
() =>
105-
modeledMethods.length === 0 ||
106-
modeledMethods.some((m) => m.type === "none"),
107-
[modeledMethods],
108-
);
109-
110103
const handleChange = useCallback(
111104
(modeledMethod: ModeledMethod) => {
112105
if (modeledMethods.length > 0) {
@@ -186,7 +179,10 @@ export const MultipleModeledMethodsPanel = ({
186179
appearance="icon"
187180
aria-label="Add modeling"
188181
onClick={handleAddClick}
189-
disabled={anyUnmodeled}
182+
disabled={
183+
modeledMethods.length === 0 ||
184+
(modeledMethods.length === 1 && modeledMethods[0].type === "none")
185+
}
190186
>
191187
<Codicon name="add" />
192188
</VSCodeButton>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
536536
}),
537537
];
538538

539-
it("cannot add modeling", () => {
539+
it("can add modeling", () => {
540540
render({
541541
method,
542542
modeledMethods,
@@ -545,7 +545,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
545545

546546
expect(
547547
screen.getByLabelText("Add modeling").getElementsByTagName("input")[0],
548-
).toBeDisabled();
548+
).toBeEnabled();
549549
});
550550

551551
it("can delete first modeling", async () => {

0 commit comments

Comments
 (0)