From e7a08062b2986916cae76eff1da5b6a7619bc2c3 Mon Sep 17 00:00:00 2001 From: Tony Valle Date: Wed, 17 Dec 2025 15:08:05 +0100 Subject: [PATCH] fix: add `filteredOptions` to component state object --- .../withRulesOptionVisibilityHandler.tsx | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/core_modules/capture-core/components/D2Form/field/Components/internal/withRulesOptionVisibilityHandler/withRulesOptionVisibilityHandler.tsx b/src/core_modules/capture-core/components/D2Form/field/Components/internal/withRulesOptionVisibilityHandler/withRulesOptionVisibilityHandler.tsx index 5acfea3bdb..b8d2267c10 100644 --- a/src/core_modules/capture-core/components/D2Form/field/Components/internal/withRulesOptionVisibilityHandler/withRulesOptionVisibilityHandler.tsx +++ b/src/core_modules/capture-core/components/D2Form/field/Components/internal/withRulesOptionVisibilityHandler/withRulesOptionVisibilityHandler.tsx @@ -38,9 +38,13 @@ type Props = { rulesOptionsVisibility: {[key: typeof effectKeys[keyof typeof effectKeys]]: Array }, } +type State = { + filteredOptions: any; +} + const getCreateRulesOptionsVisibilityHandlerHOC = (InnerComponent: React.ComponentType) => - (class CreateRulesOptionsVisibilityHandlerHOC extends React.Component { + (class CreateRulesOptionsVisibilityHandlerHOC extends React.Component { static getFilteredOptions = (props: Props) => { const { options, rulesOptionsVisibility, optionGroups } = props; @@ -51,18 +55,18 @@ const getCreateRulesOptionsVisibilityHandlerHOC = return options.filter(option => filters.every(f => f(option))); } - filteredOptions: any; - constructor(props: Props) { super(props); - - this.filteredOptions = CreateRulesOptionsVisibilityHandlerHOC.getFilteredOptions(props); + this.state = { + filteredOptions: CreateRulesOptionsVisibilityHandlerHOC.getFilteredOptions(this.props), + }; } - componentDidUpdate(prevProps: Props) { if (this.props.rulesOptionsVisibility !== prevProps.rulesOptionsVisibility) { - this.filteredOptions = CreateRulesOptionsVisibilityHandlerHOC.getFilteredOptions(this.props); + this.setState({ + filteredOptions: CreateRulesOptionsVisibilityHandlerHOC.getFilteredOptions(this.props), + }); } } @@ -71,7 +75,7 @@ const getCreateRulesOptionsVisibilityHandlerHOC = return ( );