Skip to content
Merged
160 changes: 80 additions & 80 deletions vuu-ui/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ describe("FilterClause", () => {
container.find(".vuuFilterClauseField").should("have.length", 1);
cy.findByTestId("filterclause")
.find(".vuuFilterClauseColumn input")
.should("not.be.focused");
.should("be.focused");
cy.findAllByRole("listbox").should("not.exist");
});
});
Expand All @@ -80,7 +80,7 @@ describe("FilterClause", () => {
container.find(".vuuFilterClauseField").should("have.length", 2);
cy.findByTestId("filterclause")
.find(".vuuFilterClauseOperator input")
.should("not.be.focused");
.should("be.focused");
cy.findAllByRole("listbox").should("not.exist");
});
});
Expand All @@ -95,7 +95,7 @@ describe("FilterClause", () => {
container.find(".vuuFilterClauseField").should("have.length", 3);
cy.findByTestId("filterclause")
.find(".vuuFilterClauseValue input")
.should("not.be.focused");
.should("be.focused");
cy.findAllByRole("listbox").should("not.exist");
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export type ColumnPickerProps = Pick<
> & {
columns: ColumnDescriptor[];
onSelect: (evt: SyntheticEvent, columnName: string) => void;
dropdownOnAutofocus?: boolean;
};

export const ColumnPicker = forwardRef(function ColumnPicker(
Expand All @@ -19,6 +20,7 @@ export const ColumnPicker = forwardRef(function ColumnPicker(
inputProps,
onSelect,
value: valueProp,
dropdownOnAutofocus = true,
}: ColumnPickerProps,
forwardedRef: ForwardedRef<HTMLDivElement>,
) {
Expand All @@ -35,6 +37,7 @@ export const ColumnPicker = forwardRef(function ColumnPicker(
data-field="column"
ref={forwardedRef}
title="column"
dropdownOnAutofocus={dropdownOnAutofocus}
>
{columns
.filter(({ name }) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ const classBase = "vuuExpandoCombobox";
export interface ExpandoComboboxProps<Item = string>
extends ComboBoxProps<Item> {
itemToString?: (item: Item) => string;
dropdownOnAutofocus?: boolean;
}

export type ComboBoxOpenChangeHandler = Exclude<
Expand Down Expand Up @@ -48,6 +49,7 @@ export const ExpandoCombobox = forwardRef(function ExpandoCombobox<
onSelectionChange,
onOpenChange,
value: valueProp,
dropdownOnAutofocus = true,
...props
}: ExpandoComboboxProps<Item>,
forwardedRef: ForwardedRef<HTMLDivElement>,
Expand Down Expand Up @@ -102,13 +104,14 @@ export const ExpandoCombobox = forwardRef(function ExpandoCombobox<
...inputPropsProp,
onFocus: (evt) => {
inputPropsProp?.onFocus?.(evt);
if (!dropdownOnAutofocus) return;

setTimeout(() => {
setOpen(true);
}, 100);
},
};
}, [inputPropsProp]);
}, [inputPropsProp, dropdownOnAutofocus]);

return (
<div
Expand Down
Loading