Skip to main content

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.

Steps Widget
Steps Widget

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
Steps Configuration
Steps Configuration

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โ€‹

  1. Select "Static" as the data source
  2. Configure each step with title and description
  3. Steps are automatically numbered starting from 0
Steps Static Data Source
Steps Static Data Source

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

Value Configurationโ€‹

  • Field: Value/Description
  • Description: Specifies the property name for step descriptions
  • Syntax Options:
    • Simple property: description
    • Dynamic expression: $.description + ' (' + $.status + ')'
Steps Variable Data Source
Steps Variable Data Source

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
Steps Validation Screen
Steps Validation Screen

Advanced Conditionsโ€‹

Use JavaScript expressions with model variables:

Steps Validation Advanced
Steps Validation Advanced

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
Steps Styling
Steps Styling

Static Configuration Examplesโ€‹

Steps Static Configuration Example
Steps Static Configuration Example

Best Practicesโ€‹

Design Guidelinesโ€‹

  1. Keep titles concise: Use short, descriptive titles
  2. Provide helpful descriptions: Add context without overwhelming
  3. Choose appropriate direction: Horizontal for wide layouts, vertical for narrow
  4. Consider mobile experience: Test accordion behavior on small screens

Performanceโ€‹

  1. Limit step count: Avoid too many steps (recommended max: 7-10)
  2. Optimize dynamic data: Use efficient data structures for variable sources
  3. Cache static data: Pre-configure static steps when possible

Accessibilityโ€‹

  1. Use semantic titles: Ensure screen readers can interpret steps
  2. Provide clear descriptions: Help users understand each step's purpose
  3. 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โ€‹

  1. Use browser developer tools to inspect widget state
  2. Check console for JavaScript errors
  3. Verify data structure in network tab
  4. Test with simplified configuration first

API Referenceโ€‹

Component Propertiesโ€‹

  • prop: Widget properties
  • comp_model: Data model
  • comp_management: Management state
  • models: Available models
  • management: Management configuration
  • visible: Visibility state
  • required: Required state
  • disable: Disabled state
  • class_config: CSS class configuration

Widget Optionsโ€‹

  • direction: Layout direction
  • classNames: CSS classes
  • defaultValue: Initial step
  • remote: Data source type
  • options: Static step data
  • props.label: Label property path
  • props.value: Value property path
  • isSimple: Simple design mode