Glossary
Key terms used throughout the Property System documentation.
| Term | Definition |
|---|---|
| Property | A typed configuration value with metadata (key, label, default, validators, conditions). Represented by Property<T>. |
| PropertyControl | A reactive wrapper around a typed value. Provides value, valueChanges, validation state, and enabled/disabled control. Wraps reactive_forms.FormControl internally. |
| PropertyEditor | An interface that creates a Flutter widget for editing a property value. Receives a PropertyControl<T> and returns a Widget. |
| PropertySystem | The static registry that maps types to their editors and converters. Auto-initializes default types on first access. |
| PropertyCollection | A container that groups multiple properties with shared validation, condition evaluation, serialization, and UI rendering. Backed by a reactive_forms.FormGroup. |
| PropertyCollectionBuilder | A fluent builder API for constructing PropertyCollection instances with less boilerplate. Handles group context, property ordering, and derivation wiring. |
| PropertyCollectionEditor | A Flutter widget that renders a PropertyCollection as an editable form with optional group headers. |
| PropertyGroup | A named section for organizing properties visually. Can be collapsible, fixed, or auto-generated for ungrouped properties. |
| PropertyCondition | A declarative object that evaluates to true or false based on property values. Used for visibleCondition and enabledCondition. |
| PropertyValidator | A validation rule that checks a property value and returns error details or null. Bridged to reactive_forms.Validator internally. |
| PropertyDerivation | A rule that auto-computes a target property value from source properties. Respects user edits via dirty tracking. |
| JsonConverter | An interface for converting between typed values and JSON-compatible representations. Registered in PropertySystem. |
| BaseJsonConverter | An abstract base class for JsonConverter that adds error handling via JsonConversionException. |
| EnumOption | A typed option for EnumProperty<T> with value, title, and optional description. |
| UnionOption | An option for UnionProperty containing a key, title, and a nested Property for the option's value. |
| Custom Key | A string key used for specialized editor/converter lookups in PropertySystem. Takes priority over type-based lookup. |
| Visibility Notifier | A ValueNotifier<bool> on each property that drives reactive visibility updates in the editor via ValueListenableBuilder. |
| Dirty Flag | Tracks whether a user has manually edited a derived property. When dirty, auto-derivation is suppressed. |
| reactive_forms | The underlying form library used internally. Wrapped behind PropertyControl<T> and not exposed by default. Accessible via reactive_forms_interop.dart. |
| Interop Layer | The reactive_forms_interop.dart import that exposes FormControl, FormGroup, ReactiveTextField, and extension methods for advanced scenarios. |
Next Steps
- API Reference Index -- Quick reference tables
- Architecture -- System design overview
- Installation -- Getting started