MD.OFFICE
FAL

2026-03-23 Daily Log

Dependency Guards & Formula Builder Cleanup

Achievements

  • Implemented Field Disabling Guard: Added a proactive check in RightPanelStaticComponent to prevent disabling fields that are referenced in formulas, rules, or validation rules. This prevents runtime calculation errors in the renderer.
  • Improved Property Panel UX: Integrated DynaformStateService.areAnyKeysReferenced to provide real-time feedback via toast notifications when a user attempts to disable a dependent field.
  • Formula Builder Cleanup: Removed the unused @Output() validationResult from FormulaBuilderComponent, reducing unnecessary event dispatches and improving code maintainability.

Decisions

  • Proactive Property-Level Validation: Decided to block the "Disabled" toggle at the source (property panel) rather than waiting for a template-wide save validation. This provides a better authoring experience by preventing invalid states immediately.
  • Dependency Detection: Used the existing state service to scan all expression types (formulas, rules, validation) to ensure comprehensive protection.

Files Modified

  • src/ifile-teapot-web-dynaforms/components/dynaform-builder/right-panel-static/right-panel-static.component.ts
  • src/ifile-teapot-web-dynaforms/components/dynaform-builder/formula-builder/formula-builder.component.ts
  • docs/dynaforms-history.md