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.hfx →
dashboard); 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.
Properties
Section titled “Properties”| 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.hfx → dashboard). |
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. |
screenKey
Section titled “screenKey”The screen’s identifier within its module, derived automatically
from the .hfx filename stem (dashboard.hfx → dashboard).
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.
hfxSource
Section titled “hfxSource”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.
hfxVersion
Section titled “hfxVersion”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.
Example
Section titled “Example”{ "hfxSource": "example", "screenKey": "example"}