* Change to using arrow functions Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Matheus <matheus_benini@hotmail.com> * Add lint rule --------- Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Matheus <matheus_benini@hotmail.com> Co-authored-by: Charles Bochet <charles@twenty.com>
30 lines
929 B
TypeScript
30 lines
929 B
TypeScript
import { useRecoilCallback } from 'recoil';
|
|
|
|
import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope';
|
|
|
|
import { useSetSoftFocusPosition } from '../../hooks/useSetSoftFocusPosition';
|
|
import { isSoftFocusActiveState } from '../../states/isSoftFocusActiveState';
|
|
import { TableHotkeyScope } from '../../types/TableHotkeyScope';
|
|
|
|
import { useCurrentCellPosition } from './useCurrentCellPosition';
|
|
|
|
export const useSetSoftFocusOnCurrentCell = () => {
|
|
const setSoftFocusPosition = useSetSoftFocusPosition();
|
|
|
|
const currentCellPosition = useCurrentCellPosition();
|
|
|
|
const setHotkeyScope = useSetHotkeyScope();
|
|
|
|
return useRecoilCallback(
|
|
({ set }) =>
|
|
() => {
|
|
setSoftFocusPosition(currentCellPosition);
|
|
|
|
set(isSoftFocusActiveState, true);
|
|
|
|
setHotkeyScope(TableHotkeyScope.TableSoftFocus);
|
|
},
|
|
[setHotkeyScope, currentCellPosition, setSoftFocusPosition],
|
|
);
|
|
};
|