diff --git a/packages/react-native-gesture-handler/src/RNGestureHandlerModule.web.ts b/packages/react-native-gesture-handler/src/RNGestureHandlerModule.web.ts index 5c72bc0b3b..04321a7ba6 100644 --- a/packages/react-native-gesture-handler/src/RNGestureHandlerModule.web.ts +++ b/packages/react-native-gesture-handler/src/RNGestureHandlerModule.web.ts @@ -74,15 +74,15 @@ export default { NodeManager.detachGestureHandler(handlerTag); }, setGestureHandlerConfig(handlerTag: number, newConfig: Config) { - NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig); + NodeManager.getHandler(handlerTag).setGestureConfig(newConfig); InteractionManager.instance.configureInteractions( NodeManager.getHandler(handlerTag), newConfig ); }, - updateGestureHandlerConfig(_handlerTag: number, _newConfig: Config) { - // TODO: To be implemented + updateGestureHandlerConfig(handlerTag: number, newConfig: Config) { + NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig); }, getGestureHandlerNode(handlerTag: number) { return NodeManager.getHandler(handlerTag); diff --git a/packages/react-native-gesture-handler/src/web/handlers/GestureHandler.ts b/packages/react-native-gesture-handler/src/web/handlers/GestureHandler.ts index 1026512afb..e684f1c6e1 100644 --- a/packages/react-native-gesture-handler/src/web/handlers/GestureHandler.ts +++ b/packages/react-native-gesture-handler/src/web/handlers/GestureHandler.ts @@ -614,6 +614,11 @@ export default abstract class GestureHandler implements IGestureHandler { // Handling config // + public setGestureConfig(config: Config) { + this.resetConfig(); + this.updateGestureConfig(config); + } + public updateGestureConfig({ enabled = true, dispatchesAnimatedEvents = false, diff --git a/packages/react-native-gesture-handler/src/web/handlers/IGestureHandler.ts b/packages/react-native-gesture-handler/src/web/handlers/IGestureHandler.ts index aa9307f07b..cfb63fa03b 100644 --- a/packages/react-native-gesture-handler/src/web/handlers/IGestureHandler.ts +++ b/packages/react-native-gesture-handler/src/web/handlers/IGestureHandler.ts @@ -45,6 +45,7 @@ export default interface IGestureHandler { sendEvent: (newState: State, oldState: State) => void; + setGestureConfig: (config: Config) => void; updateGestureConfig: (config: Config) => void; isButton?: () => boolean;