The low-code framework
The low-code framework
Section titled “The low-code framework”The XML component framework the platform’s own views are written in, and the
same framework custom app pages can use. A view is a tree of components
(<v-...> elements) that render as UI, configured with attributes,
variables that carry values, and behaviors that respond to
interaction.
Concepts
Section titled “Concepts”- Component — a page element, the “Lego brick”. A component is made of a
tag name, attributes, configuration and behavior.
v-divis the general layout container;v-rootis the page root (identical tov-divexcept it owns the page scope);v-input,v-table,v-chart,v-form,v-tabs,v-select,v-dashboardand the rest are the concrete widgets. - Variable — a named value that flows through the page, making it dynamic.
Referenced as
$token$in text andtoken="name"on components. - Scope — the accessibility boundary of a variable. A variable defined in
an element that owns a scope is invisible outside it; a variable in an outer
scope is visible inside.
v-rootowns the page scope, so a variable set there is page-global.
Components
Section titled “Components”Components declare attributes (class, style for styling; token to bind
a variable; p-if/p-for for conditional rendering and iteration). Example:
<?pithos version="1.0.0" ?><v-root> <loaded> <set token="application_name">test</set> </loaded> <v-input type="text" token="application_name" /></v-root>The full component catalog (layout, form controls, tables, charts, navigation, the dashboard grid) is defined by the platform’s component library — the same components the app SDK exposes to React apps.
Behaviours
Section titled “Behaviours”Behaviours are page interactions attached to components — submitting a form, showing a modal, navigating, copying text. Common ones:
<set>— assign a value to a variable (the example above).<eval>— evaluate an expression and use the result.<show>/<hide>— control element visibility.<jump>— navigate to a route.<emit>— fire an event other components listen to.<request>— call a platform API and bind the response.
Behaviours run from events (<loaded>, <click>, on-change, …). The
<loaded> behavior on v-root runs after the page loads — the place to
initialize page state.