Steps Widget
Overviewโ
The Steps widget is a visual progress indicator that displays a sequence of steps in a process. It shows the current progress and allows users to understand where they are in a multi-step workflow. The widget is fully responsive and adapts to different screen sizes.

Configurationโ
Widget Propertiesโ
Nameโ
- Field: Name
- Description: A unique identifier for the widget instance
- Type: Text input
- Required: Yes
Variable/Modelโ
- Field: Variable/Model
- Description: The data model that stores the current step index
- Type: Text input
- Required: Yes
- Default: Automatically generated based on widget name
Directionโ
- Field: Direction
- Description: Controls the orientation of the steps display
- Type: Dropdown
- Options:
horizontal: Steps are displayed horizontally (default)vertical: Steps are displayed vertically
- Usage: Choose based on available space and design requirements

Data Source Configurationโ
Static Data Sourceโ
When using static data, configure individual steps directly in the widget settings:
Step Configurationโ
Each step requires:
- Title: Display name for the step
- Description: Additional information about the step
Adding Stepsโ
- Select "Static" as the data source
- Configure each step with title and description
- Steps are automatically numbered starting from 0

Variable Data Sourceโ
For dynamic content, use variable data source:
Variable Bindingโ
- Model Variable:
{model_name}_vb - Label Property: Configure which field contains the step title
- Value Property: Configure which field contains the step description
Label Configurationโ
- Field: Label
- Description: Specifies the property name for step titles
- Syntax Options:
- Simple property:
title - Dynamic expression:
$.title + ' - ' + $.subtitle
- Simple property:
Value Configurationโ
- Field: Value/Description
- Description: Specifies the property name for step descriptions
- Syntax Options:
- Simple property:
description - Dynamic expression:
$.description + ' (' + $.status + ')'
- Simple property:

Validation and Visibilityโ
Screen-based Validationโ
Configure different behaviors for each screen:
Availableโ
- Type: Boolean
- Description: Controls if the widget is available on the screen
- Default: True
Visibleโ
- Type: Boolean or Expression
- Description: Controls widget visibility
- Options:
- Simple boolean toggle
- Advanced expression using variables
Requiredโ
- Type: Boolean or Expression
- Description: Makes the widget required for form submission
- Default: False
Disableโ
- Type: Boolean or Expression
- Description: Disables widget interaction
- Default: False

Advanced Conditionsโ
Use JavaScript expressions with model variables:

Styling and Appearanceโ
CSS Classesโ
- Field: Class
- Description: Add custom CSS classes for styling
- Type: Text input
- Usage: Space-separated class names
Simple Designโ
- Field: Simple Design
- Description: Enables a simplified visual appearance
- Type: Toggle switch
- Default: False
- Effect: When enabled, reduces visual complexity for cleaner presentation

Static Configuration Examplesโ

Best Practicesโ
Design Guidelinesโ
- Keep titles concise: Use short, descriptive titles
- Provide helpful descriptions: Add context without overwhelming
- Choose appropriate direction: Horizontal for wide layouts, vertical for narrow
- Consider mobile experience: Test accordion behavior on small screens
Performanceโ
- Limit step count: Avoid too many steps (recommended max: 7-10)
- Optimize dynamic data: Use efficient data structures for variable sources
- Cache static data: Pre-configure static steps when possible
Accessibilityโ
- Use semantic titles: Ensure screen readers can interpret steps
- Provide clear descriptions: Help users understand each step's purpose
- Test keyboard navigation: Ensure accessibility compliance
Troubleshootingโ
Common Issuesโ
Steps not displayingโ
- Check data source configuration
- Verify model variable binding
- Ensure data structure matches expected format
Responsive layout problemsโ
- Test on different screen sizes
- Verify CSS classes don't conflict
- Check container width constraints
Data not updatingโ
- Verify model binding syntax
- Check for JavaScript errors in expressions
- Ensure data source is properly connected
Debug Tipsโ
- Use browser developer tools to inspect widget state
- Check console for JavaScript errors
- Verify data structure in network tab
- Test with simplified configuration first
API Referenceโ
Component Propertiesโ
prop: Widget propertiescomp_model: Data modelcomp_management: Management statemodels: Available modelsmanagement: Management configurationvisible: Visibility staterequired: Required statedisable: Disabled stateclass_config: CSS class configuration
Widget Optionsโ
direction: Layout directionclassNames: CSS classesdefaultValue: Initial stepremote: Data source typeoptions: Static step dataprops.label: Label property pathprops.value: Value property pathisSimple: Simple design mode