Skip to content

uc-apx create region content-row

Insert a themeTemplateComponent/contentRow region backed by an inline SQL query — a rich list of rows, each with an overline, title, description, optional avatar/badge and primary actions.

Required mappings: —title-column, —description-column.

Primary actions: —action TEMPLATE:LABEL[:ICON] (TEMPLATE ∈ button|menu). At most one menu action; its entries come from repeatable —menu-item LABEL[:ICON] (a literal ’-’ makes a separator).

uc-apx create region content-row [flags]
FlagTypeDefaultDescription
--actionstringArrayPrimary action TEMPLATE:LABEL[:ICON] (repeatable). TEMPLATE ∈ button, menu
--apply-theme-colorsSet plugin-appearance.applyThemeColors (only emitted when the flag is passed)
--avatar-iconstringAvatar icon: a column (emitted as &COL.) or a static fa-* class
--avatar-initials-columnstringColumn holding initials (when —avatar-type initials)
--avatar-shapestringAvatar shape: noShape, rounded, circular, square (optional)
--avatar-sizestringAvatar size: small, large, … (optional)
--avatar-typestringAvatar type for plugin-avatar: initials, icon, or image (optional; icon inferred from —avatar-icon)
--badge-iconstringBadge icon: a column (emitted as &COL.) or a static fa-* class (plugin-badge.icon)
--badge-labelstringBadge label (static text; plugin-badge.label)
--badge-state-columnstringColumn mapped to the badge state/color (plugin-badge.state)
--badge-value-columnstringColumn mapped to the badge value (plugin-badge.value)
--columnstringComma-separated columns the SQL projects. Syntax: NAME[:TYPE[:LENGTH]] [required]
--column-spanint12-col grid span for the region’s layout (0 = omit)
--description-columnstringColumn mapped to the row description (emitted as &COL.) [required]
--display-avatarShow an avatar for each row (settings.displayAvatar: true + plugin-avatar)
--display-badgeShow a badge for each row (settings.displayBadge: true + plugin-badge)
--dry-runPrint rendered region to stdout without writing
--forceReplace an existing same-id region on the page
--idstringRegion id (default: kebab-case of —name)
--menu-itemstringArrayMenu entry LABEL[:ICON] for the (single) menu action (repeatable; ’-’ = separator)
--misc-columnstringColumn mapped to the trailing metadata (emitted as &COL.)
--namestringDisplay name of the region [required]
--no-new-rowEmit startNewRow: false so this region sits next to the previous one
--overlinestringOverline text above the title (static text or &COL.)
--pagestringTarget page (numeric ID, alias, or name) [required]
--pagination-rowsintentitiesPerPage for pagination (0 = omit)
--pk-columnstringColumn to flag as the primary key (optional)
--sequenceintLayout sequence (default: max existing + 10)
--slotstringbodyPage slot to place the region in
--sqlstringInline SQL query (or @path/to/file.sql; @@ escapes a literal leading @) [required]
--title-columnstringColumn mapped to the row title (emitted as &COL.) [required]
FlagTypeDefaultDescription
--app-dirstring.Path to the APEX application directory
--json-prettyOutput in pretty-printed JSON (human-readable) instead of minified JSON
--toonOutput in TOON format (human-readable, token-efficient) instead of JSON

Using --dry-run to preview the generated construct (no files are written):

Terminal window
uc-apx --app-dir examples/brookstrut create region content-row --page 46 --name Tasks --sql select id, task, proj from tasks --column ID:number,TASK,PROJ --pk-column ID --title-column TASK --description-column PROJ --dry-run
Generated APEXlang
region tasks (
name: Tasks
type: themeTemplateComponent/contentRow
source {
location: localDatabase
type: sqlQuery
sqlQuery:
```sql
select id, task, proj from tasks
```
}
layout {
sequence: 50
slot: body
}
appearance {
template: @/blank-with-attributes-no-grid
templateOptions: #DEFAULT#
}
componentAppearance {
display: report
}
settings {
title: &TASK.
description: &PROJ.
}
column ID (
layout {
sequence: 10
}
source {
databaseColumn: ID
dataType: number
primaryKey: true
}
)
column TASK (
layout {
sequence: 20
}
source {
databaseColumn: TASK
dataType: varchar2
}
)
column PROJ (
layout {
sequence: 30
}
source {
databaseColumn: PROJ
dataType: varchar2
}
)
)