Skip to main content

Button Widget

The Button widget creates interactive clickable buttons that can trigger various actions within your interface. This widget provides extensive customization options for appearance, behavior, and functionality.

OverviewDirect link to Overview

The Button widget is a versatile UI component that allows users to trigger actions, submit forms, navigate between pages, or execute custom functions. It supports multiple visual styles, sizes, icons, and positioning options.

Buttons
Buttons

Basic ConfigurationDirect link to Basic Configuration

Global SettingsDirect link to Global Settings

NameDirect link to Name

  • Field: Name
  • Description: Display name for the button
  • Type: Text input
  • Usage: This text appears on the button and can be translated

Variable/ModelDirect link to Variable/Model

  • Field: Variable/Model
  • Description: The data model or variable name associated with this button
  • Type: Text input
  • Usage: Used for data binding and referencing the button in scripts

Button PropertiesDirect link to Button Properties

Button TypeDirect link to Button Type

  • Field: Button Type
  • Options:
    • primary - Primary action button (typically blue)
    • success - Success/confirmation button (typically green)
    • info - Informational button (typically light blue)
    • warning - Warning button (typically orange/yellow)
    • danger - Destructive action button (typically red)
  • Default: primary

Size OptionsDirect link to Size Options

  • Field: Size
  • Options:
    • medium - Standard size button
    • small - Smaller button
    • mini - Minimal size button
  • Default: medium

AlignmentDirect link to Alignment

  • Field: Float
  • Options:
    • left - Align button to the left
    • center - Center the button
    • right - Align button to the right
  • Default: left

Icon ConfigurationDirect link to Icon Configuration

Prefix IconDirect link to Prefix Icon

  • Field: Prefix Icon
  • Description: Icon displayed before the button text
  • Type: Icon selector
  • Usage: Choose from available icon library

Suffix IconDirect link to Suffix Icon

  • Field: Suffix Icon
  • Description: Icon displayed after the button text
  • Type: Icon selector
  • Usage: Choose from available icon library
Button Configuration
Button Configuration

Actions ConfigurationDirect link to Actions Configuration

On Click ActionDirect link to On Click Action

The button supports comprehensive action configuration through a dedicated action editor:

  • Script Execution: Execute custom JavaScript code
  • Form Submission: Submit parent form data
  • Navigation: Navigate to other pages or URLs
  • API Calls: Make HTTP requests to external services
  • Variable Updates: Modify interface variables
  • Function Calls: Trigger predefined functions

Action PropertiesDirect link to Action Properties

  • SF_input: Access to input context and current data
  • SF_currentIndex: Current index in loop contexts
  • Loading State: Automatic loading indicator during action execution
  • Error Handling: Built-in error management

Validation and VisibilityDirect link to Validation and Visibility

Screen-Based ValidationDirect link to Screen-Based Validation

Configure button behavior across different screens/contexts:

AvailableDirect link to Available

  • Description: Controls if the button exists in the interface
  • Type: Boolean or conditional expression
  • Default: true

VisibleDirect link to Visible

  • Description: Controls button visibility
  • Type: Boolean or conditional expression
  • Options:
    • Simple toggle (true/false)
    • Advanced conditional expression using variables

RequiredDirect link to Required

  • Description: Validation requirement (if part of form)
  • Type: Boolean or conditional expression
  • Context: Only applicable when button is part of form validation

DisabledDirect link to Disabled

  • Description: Controls if button is interactive
  • Type: Boolean or conditional expression
  • Effect: Button appears grayed out and non-clickable when disabled
Button Based Validation
Button Based Validation

Advanced Conditional LogicDirect link to Advanced Conditional Logic

Use conditional expressions with interface variables:

Button Advanced Validation
Button Advanced Validation

Styling and AppearanceDirect link to Styling and Appearance

CSS ClassesDirect link to CSS Classes

  • Field: Class
  • Description: Custom CSS classes for styling
  • Type: Text input (comma-separated)
  • Usage: Apply custom styles or framework classes

Dynamic ClassesDirect link to Dynamic Classes

Advanced styling based on conditions:

  • Dynamic Class Configuration: Apply classes conditionally
  • State-Based Styling: Different styles for different states
  • Responsive Classes: Classes that adapt to screen size

Layout OptionsDirect link to Layout Options

  • Block vs Inline: Control button layout behavior
  • Width: Custom width settings
  • Height: Custom height settings
Button Dynamic Classes
Button Dynamic Classes

Usage ExamplesDirect link to Usage Examples

Basic ButtonDirect link to Basic Button

Button Based

Button with IconsDirect link to Button with Icons

Button with Icons

Action Button with Start ProcessDirect link to Action Button with Start Process

Button with Start Process

Conditional ButtonDirect link to Conditional Button

Button Conditional

EventsDirect link to Events

onClickDirect link to onClick

  • Trigger: When button is clicked
  • Context: Provides access to current data and form state
  • Parameters:
    • SF_input: Input context object
    • SF_currentIndex: Current loop index (if applicable)

Loading StatesDirect link to Loading States

  • Automatic Loading: Button shows loading spinner during async operations
  • Disabled During Loading: Button becomes non-interactive during action execution

Best PracticesDirect link to Best Practices

Action DesignDirect link to Action Design

  1. Clear Labels: Use descriptive button text
  2. Appropriate Types: Match button type to action severity
  3. Loading Feedback: Ensure async actions show loading states
  4. Error Handling: Implement proper error management

Visual DesignDirect link to Visual Design

  1. Consistent Sizing: Use consistent sizes within form groups
  2. Logical Positioning: Place primary actions prominently
  3. Icon Usage: Use icons to enhance, not replace, clear text
  4. Color Coding: Follow standard color conventions

AccessibilityDirect link to Accessibility

  1. Keyboard Navigation: Ensure buttons are keyboard accessible
  2. Screen Reader Support: Use meaningful button names
  3. Focus Management: Proper focus handling in forms
  4. Contrast: Ensure sufficient color contrast

Form IntegrationDirect link to Form Integration

  1. Validation Context: Consider button role in form validation
  2. Submit Behavior: Configure appropriate form submission
  3. Field Dependencies: Set up proper field relationships

Advanced FeaturesDirect link to Advanced Features

Form IntegrationDirect link to Form Integration

  • Submit Forms: Automatically submit parent forms
  • Validation Triggers: Trigger form validation
  • Field Dependencies: React to other form field changes

Loop ContextDirect link to Loop Context

  • Loop Integration: Special handling within data loops
  • Index Access: Access to current loop iteration
  • Dynamic Properties: Properties that change per loop item

Custom StylingDirect link to Custom Styling

  • Theme Integration: Integrates with interface theme settings
  • Responsive Design: Adapts to different screen sizes
  • Custom CSS: Support for custom styling

TroubleshootingDirect link to Troubleshooting

Common IssuesDirect link to Common Issues

  1. Button Not Responding: Check if disabled or validation conditions
  2. Actions Not Executing: Verify action configuration and permissions
  3. Styling Issues: Check CSS class conflicts
  4. Loading States: Ensure async actions are properly handled

DebuggingDirect link to Debugging

  • Browser Console: Check for JavaScript errors
  • Network Tab: Monitor API calls during button actions
  • State Inspection: Verify variable states and conditions