fix: tests (#710)

This commit is contained in:
Daniel Lautzenheiser
2023-04-18 23:05:15 -04:00
committed by GitHub
parent ad694ef56d
commit 6be11c749e
8 changed files with 107 additions and 30 deletions

View File

@ -135,7 +135,6 @@ const NestedCollection = ({ collection, filterTerm }: NestedCollectionProps) =>
const entries = useEntries(collection);
const [treeData, setTreeData] = useState<TreeNodeData[]>(getTreeData(collection, entries));
console.log('TREE DATA', treeData, collection, entries);
const [selected, setSelected] = useState<TreeNodeData | null>(null);
const [useFilter, setUseFilter] = useState(true);

View File

@ -21,6 +21,7 @@ export interface FieldProps {
noPadding?: boolean;
noHightlight?: boolean;
disabled: boolean;
disableClick?: boolean;
}
const Field: FC<FieldProps> = ({
@ -35,13 +36,14 @@ const Field: FC<FieldProps> = ({
noPadding = false,
noHightlight = false,
disabled,
disableClick = false,
}) => {
const finalCursor = useCursor(cursor, disabled);
const hasErrors = useMemo(() => errors.length > 0, [errors.length]);
const handleOnClick = (event: MouseEvent) => {
if (disabled) {
if (disabled || disableClick) {
return;
}

View File

@ -2,7 +2,6 @@ import SelectUnstyled from '@mui/base/SelectUnstyled';
import { KeyboardArrowDown as KeyboardArrowDownIcon } from '@styled-icons/material/KeyboardArrowDown';
import React, { forwardRef, useCallback, useState } from 'react';
import useDebounce from '@staticcms/core/lib/hooks/useDebounce';
import useElementSize from '@staticcms/core/lib/hooks/useElementSize';
import classNames from '@staticcms/core/lib/util/classNames.util';
import { isNotEmpty } from '@staticcms/core/lib/util/string.util';
@ -33,26 +32,32 @@ export interface SelectProps {
required?: boolean;
disabled?: boolean;
onChange: SelectChangeEventHandler;
onOpenChange?: (open: boolean) => void;
}
const Select = forwardRef(
(
{ label, placeholder, value, options, required = false, disabled, onChange }: SelectProps,
{
label,
placeholder,
value,
options,
required = false,
disabled,
onChange,
onOpenChange,
}: SelectProps,
ref: Ref<HTMLButtonElement>,
) => {
const { width } = useElementSize<HTMLButtonElement>(ref);
const [open, setOpen] = useState(false);
const debouncedOpen = useDebounce(open, 200);
const handleOpenChange = useCallback(
(newOpen: boolean) => {
if (debouncedOpen !== open) {
return;
}
setOpen(newOpen);
onOpenChange?.(newOpen);
},
[debouncedOpen, open],
[onOpenChange],
);
const handleButtonClick = useCallback(() => handleOpenChange(!open), [handleOpenChange, open]);