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]| Flag | Type | Default | Description |
|---|---|---|---|
--action | stringArray | Primary action TEMPLATE:LABEL[:ICON] (repeatable). TEMPLATE ∈ button, menu | |
--apply-theme-colors | Set plugin-appearance.applyThemeColors (only emitted when the flag is passed) | ||
--avatar-icon | string | Avatar icon: a column (emitted as &COL.) or a static fa-* class | |
--avatar-initials-column | string | Column holding initials (when —avatar-type initials) | |
--avatar-shape | string | Avatar shape: noShape, rounded, circular, square (optional) | |
--avatar-size | string | Avatar size: small, large, … (optional) | |
--avatar-type | string | Avatar type for plugin-avatar: initials, icon, or image (optional; icon inferred from —avatar-icon) | |
--badge-icon | string | Badge icon: a column (emitted as &COL.) or a static fa-* class (plugin-badge.icon) | |
--badge-label | string | Badge label (static text; plugin-badge.label) | |
--badge-state-column | string | Column mapped to the badge state/color (plugin-badge.state) | |
--badge-value-column | string | Column mapped to the badge value (plugin-badge.value) | |
--column | string | Comma-separated columns the SQL projects. Syntax: NAME[:TYPE[:LENGTH]] [required] | |
--column-span | int | 12-col grid span for the region’s layout (0 = omit) | |
--description-column | string | Column mapped to the row description (emitted as &COL.) [required] | |
--display-avatar | Show an avatar for each row (settings.displayAvatar: true + plugin-avatar) | ||
--display-badge | Show a badge for each row (settings.displayBadge: true + plugin-badge) | ||
--dry-run | Print rendered region to stdout without writing | ||
--force | Replace an existing same-id region on the page | ||
--id | string | Region id (default: kebab-case of —name) | |
--menu-item | stringArray | Menu entry LABEL[:ICON] for the (single) menu action (repeatable; ’-’ = separator) | |
--misc-column | string | Column mapped to the trailing metadata (emitted as &COL.) | |
--name | string | Display name of the region [required] | |
--no-new-row | Emit startNewRow: false so this region sits next to the previous one | ||
--overline | string | Overline text above the title (static text or &COL.) | |
--page | string | Target page (numeric ID, alias, or name) [required] | |
--pagination-rows | int | entitiesPerPage for pagination (0 = omit) | |
--pk-column | string | Column to flag as the primary key (optional) | |
--sequence | int | Layout sequence (default: max existing + 10) | |
--slot | string | body | Page slot to place the region in |
--sql | string | Inline SQL query (or @path/to/file.sql; @@ escapes a literal leading @) [required] | |
--title-column | string | Column mapped to the row title (emitted as &COL.) [required] |
Global Flags
Section titled “Global Flags”| Flag | Type | Default | Description |
|---|---|---|---|
--app-dir | string | . | Path to the APEX application directory |
--json-pretty | Output in pretty-printed JSON (human-readable) instead of minified JSON | ||
--toon | Output in TOON format (human-readable, token-efficient) instead of JSON |
Example Generated APEXlang
Section titled “Example Generated APEXlang”Using --dry-run to preview the generated construct (no files are written):
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-runGenerated 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 } ) )