Architecture: How should visual widgets in the page-builder connect to mod...
Documentation for Sessions
🏗️ Architecture: How should visual widgets in the page-builder connect to mod...
Date: 2026-01-22
Time: 15:12:20 UTC
Session: editor2-58.8
Agent: angular
Confidence: 92%
Status: ✅ Documented
📋 Decision Context
Question:
How should visual widgets in the page-builder connect to module CRUD operations without embedding business logic?
Task: Session 57.1: Widget-Module CRUD integration
🎯 Decision Made
Chosen:
Create widget-module binding types (WidgetDataConfig, WidgetModuleBinding, WidgetEventBinding) with a runtime resolver service (WidgetDataBindingService)
Options Considered:
- Embed CRUD logic directly in widgets
- Create widget-module binding types and runtime resolver service
- Use props drilling from parent containers
💭 Reasoning
This separates visual layout (page-builder) from data operations (modules/singularity). Widgets remain visual-only but can declare data bindings in their config. WidgetDataBindingService resolves these bindings at runtime using JSONPath-like mappings for inputs/outputs, handles refresh policies, error handling, and caching. This enables AI-generated widgets to connect to module CRUD without hardcoding business logic.
📁 Files Involved
libs/libs-foundational/core-models/src/lib/types/widget-data-binding.types.tslibs/libs-structural/page-builder/src/lib/services/widget-data-binding.service.ts
🔗 Related
- Decision ID:
dev_1769094740747_bgyqvz6 - Session: 58
- Workspace: editor2
Auto-generated by MCP Smart Consolidation