
Block Fundamentals
- Self-contained: Each block encapsulates specific functionality
- Reusable: Can be used across multiple pages and workspaces
- Configurable: Customizable through properties and settings
- Interactive: Respond to user actions and system events
- Event-driven: Communicate with other components through events
Common Block Properties
All blocks share a set of common properties that can be configured in YAML:Common Properties
Common Properties
myInitBlockEvent
myUpdateBlockEvent
myBlock
block-classname
:block
selector for the block root element.repeat on myArray
myItem
Built-in Blocks Library
AI Builder includes a comprehensive library of built-in blocks. Here’s a detailed reference for each block with its specific YAML configuration.Form Block
Display an interactive form with validation.Configuration Options
Configuration Options
Example YAML
Example YAML
RichText Block
Display formatted text with support for Markdown and HTML.Configuration Options
Configuration Options
Example YAML
Example YAML
Action Block
Create interactive buttons and links.Configuration Options
Configuration Options
Example YAML
Example YAML
DataTable Block
Display tabular data with sorting, filtering, and pagination.Configuration Options
Configuration Options
Insert at least one discriminating variable in your event to identify the row to be updated. Ex: “update row $id”
Example YAML
Example YAML
Image Block
Display an image with optional caption.Configuration Options
Configuration Options
Example YAML
Example YAML
Carousel Block
Display a slideshow of multiple blocks.Configuration Options
Configuration Options
Example YAML
Example YAML
TabsView Block
Display content in tabbed interface.Configuration Options
Configuration Options
Example YAML
Example YAML
Signin Block
Display a sign-in or sign-up form.Configuration Options
Configuration Options
Example YAML
Example YAML
Toast Block
Display notification messages.Configuration Options
Configuration Options
Example YAML
Example YAML
Using Toast
Using Toast
Hero Block
Display a hero section with title, lead text, and background image.Configuration Options
Configuration Options
Example YAML
Example YAML
Footer Block
Display a page footer.Configuration Options
Configuration Options
Example YAML
Example YAML
BlocksList Block
Display a collection of blocks.Configuration Options
Configuration Options
Example YAML
Example YAML
Breadcrumbs Block
Display navigation breadcrumbs.Configuration Options
Configuration Options
Example YAML
Example YAML
Charts Block
Display data visualizations.Configuration Options
Configuration Options
Example YAML
Example YAML
Marketplace Blocks
The following blocks are available after installing specific apps from the marketplace.Dialog Box Block
Display an interactive chat interface.Configuration Options
Configuration Options
Example YAML
Example YAML
Popover Block
Display content in a floating popover.Configuration Options
Configuration Options
Example YAML
Example YAML
Block Event System
The event system is the core communication mechanism between blocks:Event Types
Event Types
Event Types
Event Communication Pattern
Event Definition
Event Subscription
Advanced Block Features
Block Composition
Block Composition
- Container Blocks: Wrap and organize other blocks
- Composite Blocks: Combine multiple blocks into a cohesive component
- Layout Blocks: Control the arrangement of nested blocks
- Wrapper Blocks: Add functionality to existing blocks
Block Styling
Block Styling
- CSS Editor: Direct CSS customization
- Built-in CSS: Keeping the default CSS
- CSS Classes: Predefined style sets
Block Conditions
Block Conditions
- Block Display Condition (if): Example: if MyCondition
- Repeat Block on Array: Example: repeat on MyTable
- Variable Name for Each Item: Example: MyVariable
Block Best Practices
Single Responsibility
- Focus on a specific UI functionAvoid creating overly complex blocksSplit complex functionality into multiple blocksCreate specialized blocks for specific use cases
Clear Naming
- Choose clear, descriptive block namesUse consistent terminology across blocksEstablish naming conventions for properties and eventsDocument the purpose of each block
Robust Error Handling
- Validate inputs and handle edge casesProvide clear error states and messagesImplement fallback behavior for missing dataLog issues for troubleshooting
Accessibility
- Follow WCAG guidelines for accessibilitySupport keyboard navigationInclude screen reader compatible markupMaintain sufficient color contrast
Responsive Design
- Test across different screen sizesImplement responsive layoutsAdjust content for mobile displaysUse relative units for sizing
Performance Optimization
- Minimize unnecessary rendersOptimize heavy operationsImplement loading states for async operationsUse lazy loading where appropriate