Skip to content
Snippets Groups Projects

Hhmi accessibility

Merged Christos requested to merge hhmi-accessibility into master
1 file
+ 18
7
Compare changes
  • Side-by-side
  • Inline
@@ -103,6 +103,7 @@ const DropComponent = ({ getPos, node, view }) => {
@@ -103,6 +103,7 @@ const DropComponent = ({ getPos, node, view }) => {
}
}
});
});
openCloseMenu();
openCloseMenu();
 
setSelectedOption(option.value);
};
};
useOnClickOutside(wrapperRef, () => setIsOpen(false));
useOnClickOutside(wrapperRef, () => setIsOpen(false));
@@ -150,8 +151,14 @@ const DropComponent = ({ getPos, node, view }) => {
@@ -150,8 +151,14 @@ const DropComponent = ({ getPos, node, view }) => {
}
}
};
};
const MultipleDropDown = useMemo(
const MultipleDropDown = useMemo(() => {
() => (
let selectedValue;
 
if (selectedOption) {
 
selectedValue = node.attrs.options.filter(option => {
 
return option.value === selectedOption;
 
});
 
}
 
return (
<Wrapper disabled={isDisabled} ref={wrapperRef}>
<Wrapper disabled={isDisabled} ref={wrapperRef}>
<DropDownButton
<DropDownButton
aria-expanded={isOpen}
aria-expanded={isOpen}
@@ -166,7 +173,12 @@ const DropComponent = ({ getPos, node, view }) => {
@@ -166,7 +173,12 @@ const DropComponent = ({ getPos, node, view }) => {
tabIndex="0"
tabIndex="0"
type="button"
type="button"
>
>
<span>Select Option</span> <StyledIcon name="expand" />
<span>
 
{selectedOption === null || !selectedOption
 
? 'Select Option'
 
: selectedValue[0].label}
 
</span>
 
<StyledIcon name="expand" />
</DropDownButton>
</DropDownButton>
<DropDownMenu isOpen={isOpen} role="menu">
<DropDownMenu isOpen={isOpen} role="menu">
{node.attrs.options.map((option, index) => {
{node.attrs.options.map((option, index) => {
@@ -174,7 +186,7 @@ const DropComponent = ({ getPos, node, view }) => {
@@ -174,7 +186,7 @@ const DropComponent = ({ getPos, node, view }) => {
return (
return (
<span
<span
key={option.value}
key={option.value}
onClick={onChange}
onClick={() => onChange(option)}
onKeyDown={e => onKeyDown(e, index)}
onKeyDown={e => onKeyDown(e, index)}
ref={itemRefs.current[index]}
ref={itemRefs.current[index]}
role="menuitem"
role="menuitem"
@@ -186,9 +198,8 @@ const DropComponent = ({ getPos, node, view }) => {
@@ -186,9 +198,8 @@ const DropComponent = ({ getPos, node, view }) => {
})}
})}
</DropDownMenu>
</DropDownMenu>
</Wrapper>
</Wrapper>
),
);
[node.attrs.options, selectedOption, isOpen],
}, [node.attrs.options, selectedOption, isOpen]);
);
return MultipleDropDown;
return MultipleDropDown;
};
};