Fields & Smart components

🌐 The complete write-up is in Chinese for now — see 字段类型与 Smart 组件. This English page is a capability summary; the full narrative is being translated.

Building a full-field record form by hand is a chore per field: pick the control, configure validation, bind a dict, decide masking, wire reference lookup. Change the model once and the front end follows. AuraBoot folds it into declarations — declare what the data is, and the runtime gives you the right control, validation, dict, and masking.

13 data types

string · text · integer · decimal · boolean · date · datetime · json · enum · reference · computed · ai_text · money. (Length lives in feature.length, not inline string(120).)

50 Smart components (live registry)

The runtime manifest (ComponentRuntimeManifest.ts) registers 50 components — 40 general-purpose + 10 module-registered — proving the registry is open.

CategoryCountExamples
Form inputs16input, textarea, select, multiselect, checkbox, radio, numberinput, switch, upload, richtext, formref, aifield, moneyinput, colorpicker, agenttoolpicker, guardrailseditor
Date/time6datepicker, daterange, timepicker, timerangepicker, date, datetime
Pickers7treeselect, cascadeselect, userselect, ownerselect, organizationselect, memberpicker, addressfield
Display7display, imagedisplay, table, list, ratingfield, progressfield, fileattachment
Interaction / Layout2 + 2button, navigation / form, layout
Module-registered109 decision blocks + 1 quoteops block

Most fields need no component: the runtime infers it (a field with dictCode auto-uses SmartSelect; otherwise SmartInput). Name resolution: exact → lowercase → Smart-prefixed → registry fallback.

Virtual fields, Roll-Up, JSONB

  • 3 virtual field types: read-only computed / materialized / transient.
  • Roll-Up summary: parent field auto-filled from child aggregation (SUM/COUNT/AVG/MIN/MAX), auto-recalculated by the command pipeline.
  • JSONB virtual fields: many logical fields in one JSONB column; full DSL parity with physical fields (render, list, 16-operator filter, sort, i18n, linkage, export). One-level path; no unique/indexed.

Field features & masking

feature carries required/readonly/searchable/unique/indexed/length/pattern/precision etc. — declared on the model field, inherited by every page. Dicts (DYNAMIC/TREE) drive SmartSelect and carry extra.color/icon for semantic colors. Field-level masking (hide/partial/hash/custom) is evaluated by the five-layer permission engine.

Next