Skip to content

Commit

Permalink
Merge branch 'master' of github.com:mantinedev/mantine into next-minor
Browse files Browse the repository at this point in the history
  • Loading branch information
rtivital committed Mar 28, 2022
2 parents d26592b + 5f900f0 commit f8239f4
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
34 changes: 34 additions & 0 deletions src/mantine-core/src/components/MultiSelect/MultiSelect.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,40 @@ export const MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(
break;
}

case 'Home': {
if (!searchable) {
event.preventDefault();

if (!dropdownOpened) {
setDropdownOpened(true);
}

const firstItemIndex = filteredData.findIndex((item) => !item.disabled);
setHovered(firstItemIndex);
scrollIntoView({
alignment: isColumn ? 'end' : 'start',
});
}
break;
}

case 'End': {
if (!searchable) {
event.preventDefault();

if (!dropdownOpened) {
setDropdownOpened(true);
}

const lastItemIndex = filteredData.map((item) => !!item.disabled).lastIndexOf(false);
setHovered(lastItemIndex);
scrollIntoView({
alignment: isColumn ? 'end' : 'start',
});
}
break;
}

case 'Escape': {
setDropdownOpened(false);
}
Expand Down
34 changes: 34 additions & 0 deletions src/mantine-core/src/components/Select/Select.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,40 @@ export const Select = forwardRef<HTMLInputElement, SelectProps>((props: SelectPr
break;
}

case 'Home': {
if (!searchable) {
event.preventDefault();

if (!dropdownOpened) {
setDropdownOpened(true);
}

const firstItemIndex = filteredData.findIndex((item) => !item.disabled);
setHovered(firstItemIndex);
scrollIntoView({
alignment: isColumn ? 'end' : 'start',
});
}
break;
}

case 'End': {
if (!searchable) {
event.preventDefault();

if (!dropdownOpened) {
setDropdownOpened(true);
}

const lastItemIndex = filteredData.map((item) => !!item.disabled).lastIndexOf(false);
setHovered(lastItemIndex);
scrollIntoView({
alignment: isColumn ? 'end' : 'start',
});
}
break;
}

case 'Escape': {
event.preventDefault();
setDropdownOpened(false);
Expand Down

0 comments on commit f8239f4

Please sign in to comment.