Widgets

Build user interfaces with Appivo's pre-built widgets

Widgets

Widgets are the building blocks of your Appivo user interfaces. With 101 pre-built widgets, you can create professional applications without writing code.

Widget Categories

Appivo organizes widgets into categories based on their purpose:

Input Widgets

Capture user input with these widgets:

WidgetPurpose
TextFieldSingle-line text input
TextAreaMulti-line text input
DateFieldDate picker
TimeFieldTime picker
DateTimeFieldCombined date and time
SelectDropdown selection
CheckBoxBoolean toggle
RadioButtonSingle selection from options
NumberFieldNumeric input
EmailFieldEmail input with validation
PhoneFieldPhone number input
PasswordFieldPassword input (masked)
FileUploadFile attachment
ImageUploadImage with preview

Display Widgets

Show information to users:

WidgetPurpose
LabelText display
IconIcon display
ImageImage display
HTMLRich HTML content
VideoVideo player
BadgeStatus indicator
ProgressProgress indicator
AvatarUser photo display

Container Widgets

Organize and structure your layout:

WidgetPurpose
PanelContent grouping
FlexContainerFlexible responsive layout
GridContainerGrid-based layout
TabContainerTabbed content sections
AccordionCollapsible sections
CardCard-style container
ModalPopup dialog
DrawerSlide-out panel

Data Widgets

Display and manage data:

WidgetPurpose
DataGridTabular data display
ListList of items
ChartData visualization
CalendarCalendar view
MapGeographic display
TreeHierarchical data
TimelineChronological events

Help users navigate your application:

WidgetPurpose
ButtonClickable action
LinkNavigation link
MenuDropdown menu
NavigationBarTop navigation
BreadcrumbPath navigation
TabsTab navigation
StepperMulti-step wizard

Mobile Widgets

Appivo provides 28 mobile-optimized widgets for touch interfaces:

WidgetPurpose
MButtonTouch-optimized button
MTextFieldMobile text input
MDateFieldNative date picker
MListScrollable list with pull-to-refresh
MTabBarBottom navigation
MSwitchToggle switch
MSliderRange slider
MCardMobile card layout

Mobile widgets are prefixed with "M" and include touch-specific features like swipe gestures, pull-to-refresh, and native device integration.

Using Widgets

Adding Widgets

  1. Navigate to User Interfaces in the Application Builder
  2. Create or open a view
  3. Drag widgets from the widget palette onto the canvas
  4. Position and resize as needed

Widget Properties

Every widget has configurable properties:

  • General - Name, visibility, enabled state
  • Appearance - Size, colors, fonts, borders
  • Data - Bindings to model attributes
  • Events - Actions triggered by user interaction
  • Validation - Input rules and error messages

Data Binding

Connect widgets to your data models:

Direct Binding Bind a widget to a model attribute:

Widget: TextField
Property: value
Binding: customer.name

Calculated Binding Display computed values:

Widget: Label
Property: text
Binding: order.quantity * order.unit_price

Event Handling

Respond to user interactions:

EventWhen It Triggers
onClickWidget is clicked
onChangeValue changes
onFocusWidget receives focus
onBlurWidget loses focus
onSubmitForm is submitted

Layout Best Practices

Use Container Widgets

Start your layouts with container widgets:

  1. FlexContainer for responsive layouts that adapt to screen width
  2. GridContainer for structured grid-based designs
  3. TabContainer for organizing content into sections

Form Layout

When building forms:

  1. Group related fields with Panel containers
  2. Use clear Label widgets for each input
  3. Mark required fields with visual indicators
  4. Provide helpful placeholder text
  5. Add validation feedback messages

Responsive Design

Make your interfaces work on all screen sizes:

  • Use FlexContainer for layouts that reflow
  • Set percentage-based widths instead of fixed pixels
  • Test on multiple screen sizes using preview mode
  • Consider separate mobile UI for touch devices

Widget Styling

Appearance Properties

Customize widget appearance with:

  • Size - Width, height, min/max dimensions
  • Colors - Background, text, border colors
  • Typography - Font family, size, weight
  • Spacing - Margin, padding
  • Borders - Width, style, radius
  • Shadow - Box shadow effects

Theming

Apply consistent styling across your application:

  • Define theme colors and use them consistently
  • Create reusable style patterns
  • Use CSS variables for dynamic theming
  • Support light and dark modes

Common Widget Patterns

Data Table with Actions

FlexContainer
├── DataGrid (bound to model)
│   ├── Column: Name
│   ├── Column: Status
│   └── Column: Actions (Edit, Delete buttons)
└── Button: Add New

Form with Validation

Panel: Customer Form
├── TextField: Name (required)
├── EmailField: Email (required, unique)
├── PhoneField: Phone
├── Select: Status
└── FlexContainer
    ├── Button: Save
    └── Button: Cancel

Dashboard Card

Card
├── FlexContainer (header)
│   ├── Icon
│   └── Label: Title
├── Label: Value (large, bold)
└── Label: Description (small, muted)

Next Steps