Skip to content

Commit

Permalink
feat: enabled sync rules execution for controls disable and elements …
Browse files Browse the repository at this point in the history
…hiding
chesterkmr committed Jan 20, 2025
1 parent 5ef9151 commit 50829ad
Showing 3 changed files with 5 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ export const useControl = (element: IFormElement<any, any>, stack?: TDeepthLevel
const disabledRulesResult = useRuleEngine(valuesAndMetadata, {
rules: useRules(element.disable, stack),
runOnInitialize: true,
executionDelay: 500,
executeRulesSync: true,
});

const isDisabled = useMemo(() => {
Original file line number Diff line number Diff line change
@@ -6,6 +6,7 @@ import { IFormElement } from '../../../types';
import { usePriorityFields } from '../../internal/usePriorityFields';
import { useElementId } from '../useElementId';
import { useRules } from '../useRules';
import { useClearValueOnUnmount } from './hooks/useClearValueOnUnmount';

export const useElement = <TElements extends string, TParams>(
element: IFormElement<TElements, TParams>,
@@ -16,7 +17,7 @@ export const useElement = <TElements extends string, TParams>(
const hiddenRulesResult = useRuleEngine(valuesAndMetadata, {
rules: useRules(element.hidden, stack),
runOnInitialize: true,
executionDelay: 500,
executeRulesSync: true,
});

const isHidden = useMemo(() => {
@@ -25,7 +26,7 @@ export const useElement = <TElements extends string, TParams>(
return hiddenRulesResult.some(result => result.result === true);
}, [hiddenRulesResult]);

// useClearValueOnUnmount(element, isHidden);
useClearValueOnUnmount(element, isHidden);

return {
id: useElementId(element, stack),
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ import { useElementId } from '../useElementId';
import { useRules } from '../useRules';
import { useValueDestination } from '../useValueDestination';

export const useField = <TValue>(element: IFormElement<any, any>, stack: TDeepthLevelStack) => {
export const useField = <TValue>(element: IFormElement<any, any>, stack?: TDeepthLevelStack) => {
const fieldId = useElementId(element, stack);
const valueDestination = useValueDestination(element, stack);

0 comments on commit 50829ad

Please sign in to comment.