Skip to content

Commit a07be4c

Browse files
authored
Merge pull request #29 from TimmFitschen/fix-actionButton-disabled
FIX: ActionButtonItem.disabled not working #28
2 parents 9aebaf4 + ae89b17 commit a07be4c

File tree

2 files changed

+21
-13
lines changed

2 files changed

+21
-13
lines changed

src/Dropzone/components/DropzoneButtons/DropzoneButtons.tsx

+9-2
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,15 @@ const DropzoneButtons: React.FC<DropzoneButtonsProps> = (
7979

8080

8181
(actionButtonProps: ActionButtonItem, index: number) => {
82-
const { children, label, resetStyles, className, style, onClick } =
83-
actionButtonProps;
82+
const {
83+
disabled,
84+
children,
85+
label,
86+
resetStyles,
87+
className,
88+
style,
89+
onClick,
90+
} = actionButtonProps;
8491
return (
8592
<MaterialButton
8693
key={index}

tests/Dropone.test.tsx

+12-11
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,24 @@ test("Validate label text must be 'Drop yor files here...'", () => {
1111

1212
describe("Dropzone actionButtons", () => {
1313
test.each([
14-
[{ uploadButton: { onClick: console.log } }, "Upload"],
15-
[{ uploadButton: { label: undefined, onClick: console.log } }, "Upload"],
16-
[{ uploadButton: { label: null, onClick: console.log } }, "Upload"],
17-
[{ uploadButton: { label: "my label", onClick: console.log } }, "my label"],
18-
[{ deleteButton: { label: null, onClick: console.log } }, "Delete"],
19-
[
20-
{ deleteButton: { label: "my delete label", onClick: console.log } },
21-
"my delete label",
22-
],
14+
[{ uploadButton: { onClick: console.log } }, false],
15+
[{ uploadButton: { onClick: console.log, disabled: false } }, false],
16+
[{ uploadButton: { onClick: console.log, disabled: true } }, true],
17+
[{ deleteButton: { onClick: console.log } }, false],
18+
[{ deleteButton: { onClick: console.log, disabled: false } }, false],
19+
[{ deleteButton: { onClick: console.log, disabled: true } }, true],
2320

2421
// abortButton and cleanButton need more interaction
25-
])("label %s -> %s", (config, expected) => {
22+
])("disabled %s -> %s", (config, expected) => {
2623
const { container } = render(
2724
<Dropzone actionButtons={{ position: "after", ...config }} />,
2825
);
2926
expect(
30-
container.querySelector(".files-ui-buttons-container button").textContent,
27+
(
28+
container.querySelector(
29+
".files-ui-buttons-container button",
30+
) as HTMLInputElement
31+
).disabled,
3132
).toBe(expected);
3233
});
3334
});

0 commit comments

Comments
 (0)