cbadcba188
* Removed view field duplicate types * wip * wip 2 * wip 3 * Unified state for fields * Renaming * Wip * Post merge * Post post merge * wip * Delete unused file * Boolean and Probability * Finished InlineCell * Renamed EditableCell to TableCell * Finished double texts * Finished MoneyField * Fixed bug inline cell click outside * Fixed hotkey scope * Final fixes * Phone * Fix url and number input validation * Fix * Fix position * wip refactor activity editor * Fixed activity editor --------- Co-authored-by: Charles Bochet <charles@twenty.com>
24 lines
850 B
TypeScript
24 lines
850 B
TypeScript
import { useRecoilCallback } from 'recoil';
|
|
|
|
import { isSoftFocusActiveState } from '../states/isSoftFocusActiveState';
|
|
import { isSoftFocusOnTableCellFamilyState } from '../states/isSoftFocusOnTableCellFamilyState';
|
|
import { softFocusPositionState } from '../states/softFocusPositionState';
|
|
import { TableCellPosition } from '../types/TableCellPosition';
|
|
|
|
export const useSetSoftFocusPosition = () =>
|
|
useRecoilCallback(({ set, snapshot }) => {
|
|
return (newPosition: TableCellPosition) => {
|
|
const currentPosition = snapshot
|
|
.getLoadable(softFocusPositionState)
|
|
.valueOrThrow();
|
|
|
|
set(isSoftFocusActiveState, true);
|
|
|
|
set(isSoftFocusOnTableCellFamilyState(currentPosition), false);
|
|
|
|
set(softFocusPositionState, newPosition);
|
|
|
|
set(isSoftFocusOnTableCellFamilyState(newPosition), true);
|
|
};
|
|
}, []);
|