Refacto scroll + Aggregate queries for view groups (#9089)
Closes https://github.com/twentyhq/private-issues/issues/217. Refactoring scroll not to cause table-wide re-render when opening a dropdown (triggering a scroll lock) in the table.
This commit is contained in:
@ -0,0 +1,34 @@
|
||||
import { scrollWrapperInstanceComponentState } from '@/ui/utilities/scroll/states/scrollWrapperInstanceComponentState';
|
||||
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
|
||||
|
||||
export const useToggleScrollWrapper = () => {
|
||||
const instanceOverlay = useRecoilComponentValueV2(
|
||||
scrollWrapperInstanceComponentState,
|
||||
);
|
||||
|
||||
const toggleScrollXWrapper = (isEnabled: boolean) => {
|
||||
if (!instanceOverlay) {
|
||||
return;
|
||||
}
|
||||
|
||||
instanceOverlay.options({
|
||||
overflow: {
|
||||
x: isEnabled ? 'scroll' : 'hidden',
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const toggleScrollYWrapper = (isEnabled: boolean) => {
|
||||
if (!instanceOverlay) {
|
||||
return;
|
||||
}
|
||||
|
||||
instanceOverlay.options({
|
||||
overflow: {
|
||||
y: isEnabled ? 'scroll' : 'hidden',
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
return { toggleScrollXWrapper, toggleScrollYWrapper };
|
||||
};
|
||||
Reference in New Issue
Block a user