Skip to main content
Version: 1.27 (Current)

Utilizing Root Buttons in Plant an App

Audience: Citizen Developer

Skill Prerequisites: Tokens

Root buttons in Plant an App provide robust functionality for executing actions that affect multiple items in a listing, as opposed to individual row actions. These buttons can handle actions on all selected or visible items, making operations on bulk data seamless and efficient.

Typical Use Cases

  • Batch update the status of multiple entries in one action.
  • Execute a complex workflow across all listed items.
  • Export or manipulate data in bulk based on user selections.

Watch a video that demonstrates the powerful capabilities of Buttons in Listings.

Input Parameter Reference

ParameterDescriptionSupports TokensDefaultRequired
TitleThe label that appears on the button. If left empty, only the icon (if any) will show.NononeNo
HelpBrief text to guide users on the button's functionality, shown on hover.NononeNo
ConditionExpression to determine when to display the button. Allows programmatic visibility control.Yesalways visibleNo
Enable ConditionallyExpression to determine when the button is clickable, useful for context-sensitive actions.Yesalways enabledNo
Vertical PositionPlacement of the button relative to the listing (Top or Bottom).NoTopNo
Horizontal PositionAlignment of the button (Left, Center, Right).NoLeftNo
StyleVisual style of the button, following Bootstrap button classes (e.g., primary, danger).NodefaultNo
CSS ClassAdditional CSS classes to apply for custom styling.YesnoneNo
Font Awesome Icon Css ClassOptional. Add icons to buttons using Font Awesome 6 classes.NononeNo
Enable SelectionActivates checkboxes for item selection, enabling per-item actions.NooffNo
Requires SelectionEnsures the button executes only when items are selected.NooffNo
Show CountDisplays a count of selected items on the button itself.NooffNo
Ask For ConfirmationPrompts for user confirmation before executing actions, adding a safeguard for mass operations.NooffNo
Button PermissionsAssigns button visibility to specific user roles to ensure proper access control.Noall usersNo
Client ButtonConfigures button to execute only client-side actions (no server request).NooffNo
JavaScript CodeAllows for custom scripts with access to settings context; returning false halts action execution.YesnoneNo

Key Features

  1. Convenient Bulk Operations: Root buttons allow for bulk actions to seamlessly manipulate or process multiple data entries.

  2. Robust Control with Conditions: Use conditions and permissions to control when and how buttons are displayed and executed.

  3. Integrated Selection Mechanism: Provides 'Enable Selection' to act on chosen items, allowing tailored executions.

  4. Dynamic and Flexible UI Customization: Customize the appearance with styles, icons, and CSS classes to match the application's design.

  5. Structured Actions Execution: Through per-item actions, actions are executed for each selected item, ensuring precision in operations.

config_menu_getting_started.png

Security

Security is paramount. Always configure root buttons with appropriate condition checks and role-based permissions to prevent unauthorized access. Use confirmations to safeguard against accidental bulk operations.

Examples

Scenario: Bulk Status Update

You have a list of applicants and wish to update their status to "Reviewed" in bulk using a root button.

Button Configuration:

  • Title: "Mark as Reviewed"
  • Help: "Set status of selected applicants to Reviewed"
  • Condition: [HasRole:Editor|true]
  • Style: outline-success

Execution Logic:

  1. Users select multiple applicants using checkboxes.
  2. The "Mark as Reviewed" button is clicked.
  3. Each selected applicant's status is updated to "Reviewed".
config_menu_getting_started.png

Considerations

  • Performance: Large datasets might slow down UI responsiveness, so fine-tune the condition expressions for efficiency.
  • UI Consistency: Ensure button styles align with overall application aesthetics to enhance user experience.

Root buttons are an advanced feature, offering control and flexibility in handling actions that affect multiple data items. They are an essential tool for efficient data operations in Plant an App.


Revised 10/06/2025