MCPcopy Create free account
hub / github.com/adobe/react-spectrum / onKeyDown

Function onKeyDown

packages/react-aria/src/dnd/useDroppableCollection.ts:590–791  ·  view source on GitHub ↗
(e, drag)

Source from the content-addressed store, hash-verified

588 }
589 },
590 onKeyDown(e, drag) {
591 let {keyboardDelegate} = localState.props;
592 let types = getTypes(drag.items);
593 switch (e.key) {
594 case 'ArrowDown': {
595 if (keyboardDelegate.getKeyBelow) {
596 let target = nextValidTarget(
597 localState.state.target,
598 types,
599 drag.allowedDropOperations,
600 (target, wrap) => getNextTarget(target, wrap, 'down')
601 );
602 localState.state.setTarget(target);
603 }
604 break;
605 }
606 case 'ArrowUp': {
607 if (keyboardDelegate.getKeyAbove) {
608 let target = nextValidTarget(
609 localState.state.target,
610 types,
611 drag.allowedDropOperations,
612 (target, wrap) => getNextTarget(target, wrap, 'up')
613 );
614 localState.state.setTarget(target);
615 }
616 break;
617 }
618 case 'ArrowLeft': {
619 if (keyboardDelegate.getKeyLeftOf) {
620 let target = nextValidTarget(
621 localState.state.target,
622 types,
623 drag.allowedDropOperations,
624 (target, wrap) => getNextTarget(target, wrap, 'left')
625 );
626 localState.state.setTarget(target);
627 }
628 break;
629 }
630 case 'ArrowRight': {
631 if (keyboardDelegate.getKeyRightOf) {
632 let target = nextValidTarget(
633 localState.state.target,
634 types,
635 drag.allowedDropOperations,
636 (target, wrap) => getNextTarget(target, wrap, 'right')
637 );
638 localState.state.setTarget(target);
639 }
640 break;
641 }
642 case 'Home': {
643 if (keyboardDelegate.getFirstKey) {
644 let target = nextValidTarget(null, types, drag.allowedDropOperations, getNextTarget);
645 localState.state.setTarget(target);
646 }
647 break;

Callers

nothing calls this directly

Calls 11

getTypesFunction · 0.90
isInternalDropOperationFunction · 0.90
nextValidTargetFunction · 0.85
getNextTargetFunction · 0.85
setTargetMethod · 0.80
getDropOperationMethod · 0.80
onKeyDownMethod · 0.80
getFirstKeyMethod · 0.65
getKeyPageBelowMethod · 0.65
getLastKeyMethod · 0.65
getKeyPageAboveMethod · 0.65

Tested by

no test coverage detected