Skip to content

ScreenDefinition

Concept: Objects, Records, and Fields

The parsed contents of a screens/<moduleKey>/<screenKey>.hfx file: one authored screen.

A screen’s filename stem becomes its key (dashboard.hfxdashboard); the pair of module key and screen key is the screen’s globally unique identifier. Screens are module-scoped — a key that is unique within one module may coexist with an identically-named key in another module.

A screen is authored as HFX source with a leading @hfx N version directive. A file with a missing or unrecognized directive still loads, but compiles with an error diagnostic.

Property Type Required/Default Constraints Meaning
screenKey string Required min length 1; max length 63; pattern ^[a-z][a-zA-Z0-9]*$ The screen’s identifier within its module, derived automatically from the .hfx filename stem (dashboard.hfxdashboard).
label string Optional Human-readable label shown in the UI.
hfxSource string Required The screen’s full HFX source text, exactly as written in the .hfx file (including the @hfx N directive line, if present).
hfxVersion integer (uint32) Optional minimum 0 The @hfx N version directive parsed from the top of the source file.

The screen’s identifier within its module, derived automatically from the .hfx filename stem (dashboard.hfxdashboard).

camelCase, [a-z][a-zA-Z0-9]*, at most 63 characters.

Human-readable label shown in the UI. Absent by default.

When absent, the UI falls back to the screen key rendered in title case. When set, this string is displayed verbatim — not validated for length or content.

The screen’s full HFX source text, exactly as written in the .hfx file (including the @hfx N directive line, if present).

Must not be empty — an empty screen loads but compiles with an error diagnostic.

The @hfx N version directive parsed from the top of the source file.

Absent when the directive line is missing from the source; the value is otherwise the declared version number verbatim. Both a missing directive and an unrecognized version number produce an error diagnostic naming the file and screen key — the type itself accepts either without failing to load.

{
"hfxSource": "example",
"screenKey": "example"
}