Blocks
A BWEB page is a tree of blocks, and each block has a type. There are 28 of them, each described on its own page: what it does, its own settings, its styling targets and its traps. The settings they all share (name, conditional display, anchor, repeat) are grouped under Shared settings.
Containers
They hold other blocks and lay out the page.
| Block | Type | In short |
|---|---|---|
| Accordion | accordion | The collapsible block. It has two parts: a title that is always visible and content that opens and closes. |
| Carousel | slider | The carousel. A container whose children scroll horizontally, with arrows and pagination. |
| Container | wrapper | The generic container, and the backbone of any layout. |
| Link | link | The clickable container. Unlike a button it is not a single element but an area: anything placed inside — an image, a heading, a whole block — becomes a link. |
| Modal | modal | The modal window. A container that stays hidden until an event opens it — a click on a button, a 4D action. |
Form
They capture a value and save it, or trigger an action.
| Block | Type | In short |
|---|---|---|
| Button | button | The action trigger. A button does nothing by itself: it carries an onClick event, and that event is what calls a 4D function, opens a modal or reloads a block. |
| Captcha | captcha | The anti-robot check on a public form. It shows a small sum to copy and renders an ordinary input field. |
| Checkbox | fieldCheckbox | Checkboxes. A group of options all shown at once, fed by a list or by a 4D function. |
| File fields | fieldInputFile | The file drop. It accepts drag and drop, enforces the allowed extensions and stores the file in the component's file table. |
| Input field | fieldText | The do-everything input field. Its input type decides what it becomes: plain text, number, date, time, multi-line text area or rich text editor. |
| Select | fieldSelect | The dropdown. Its values come from a fixed list, a 4D function or a table of the database, and it can accept several choices at once. |
| Switch | fieldToggle | The switch. One setting, two states, and a boolean value stored as is. |
Content and navigation
Everything else: text, lists, files, menus, models.
| Block | Type | In short |
|---|---|---|
| Breadcrumb trail | breadcrumbs | The breadcrumb trail. It shows the path from the home page to the current one, following the page hierarchy. |
| Capture | fieldCapture | Taking a photo with the camera. The block shows the camera feed and a button; the captured photo is dropped into a file field on the same page. |
| Code | code | The code block. It inserts HTML or 4D code straight into the page, with no setting in between. |
| File | renderFile | File display. Image, PDF preview, download link: this block takes a file from the file table — named directly or through a 4D expression — and decides how to present it. |
| Icon | icon | An icon on its own. Picked from a library or uploaded, it can carry an event and become clickable. |
| Icon selector | bootstrapIconSelector | Letting the user pick an icon. The block shows a button that opens an icon picker arranged by category, and stores the chosen icon in a field. |
| Iframe | iframe | Embeds another page. Internal to the site or external, it appears in a frame whose height you set. |
| Languages | langSelection | The language switcher. It lists the domain's languages and sends the visitor, for each one, to the page that serves it. |
| Listbox | listbox | The data table. It shows a selection of records in columns, with sorting, search, paging, row selection and per-column events. |
| Model | model | Inserts a template. A template is a piece of page built once and reused everywhere — a record header, a footer, a product card. |
| Model slot | slot | The fillable slot inside a template. It is the hole a template deliberately leaves open: every page using the template puts its own content there. |
| Pages | menu | The navigation menu. It builds itself from the domain's pages and their hierarchy: a page added in the right place shows up in the menu with no further work. |
| QR code scanner | qrCodeScanner | The QR and barcode reader. It opens the camera and writes the decoded value into another block's field on the page. |
| Text | text | The written content block. It is edited in a rich text editor — headings, bold, lists, links — and its content is stored per language. |
| Translation | translation | Displays a translation key. Where the text block holds written content, this one holds only a key: the text shown comes from the language files. |
| Tree structure | arborescence | The data tree. It shows hierarchical records — a folder and its sub-folders, a bill of materials, a chart of accounts — using the relation that links a record to its parent. |

