Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)

Tabs Form

Link to Figma: tba

Overview

  • The Dynamic Tabs Form component provides a vertical tab-based interface for organizing forms.
  • It allows users to navigate between different forms using vertical tabs.
  • Each tab contains its own form or content, with validation and saving support.
  • The component can save data through a configured data source and handle submission events.
  • It is useful for complex forms that are divided into logical sections for better user experience.

...

TokenDescription
elementsComponents rendered in the tabs form (tabs, footer).
createEntityDataSourceIdData source ID for saving form data.
createEntityHttpRequestParametersMapHTTP parameter mapping for submission.
eventsConfigurable component events.
ON_INIT (Events)Triggered when the component initializes.
ON_DESTROY (Events)Triggered when the component is destroyed.
displayNameDisplay name shown in the structure panel.
visibilityPolicySetIdPolicy set controlling component visibility.
displayConditionsConditions to show or hide the component.
idUnique identifier for programmatic access.
dataTestIdTesting hook ID for automation.
enableAsHotspotEnables guided tour hotspot.
guidedTourHotSpotTitleLocalized hotspot title.
guidedTourHotSpotDescriptionLocalized hotspot description.
validTab state indicating valid data.
invalidTab state indicating invalid data.
pendingTab state indicating validation/processing.

...

  • visibilityPolicySetId - Determines the visibility of the component based on specified policy sets. For example, setting to "adminOnlyPolicy" restricts the form to users with admin privileges, preventing unauthorized access to sensitive form sections.
  • Figma: tba
  • Live style guide: https://e1-dev.k8s.myapp.de/live-style-guide/other-components/vertical-tab-panel

Guidelines

Usage

  • Use Tabs Form to split a complex form into logical sections navigated by vertical tabs, assembling sections and optional footer.
  • Provide stable hooks for automation and scripts with id and dataTestId.
  • Persist the last active tab as the default landing tab using the action “Save active tab as default”.

...

createEntityDataSourceId, createEntityHttpRequestParametersMap, action “Save connected forms using datasource connected to tabs form”
DoDon’tArticle setting(s)
Save all tabs in one operation through the configured data source.Submit each tab separately with ad-hoc calls.
Block submit when any tab is invalid; guide the user back to the failing tab.Allow a global save to proceed with invalid sections.action “Form is invalid”, states invalid, valid
Indicate processing with the built-in pending state during validation.Leave users guessing while work is in progress.state pending
Remember the user’s last active tab and restore it.Always reset to the first tab on load.action “Save active tab as default”Load defaults on initialization; clean up on destroy.Defer initialization until first interaction and leak resources.events.ON_INIT, events.ON_DESTROY
Only show the form when its prerequisites hold true.Keep the form visible when it cannot be completed.displayConditions
Restrict who can see the form using a policy set.Show the form to everyone and rely on error messages later.visibilityPolicySetIdProvide stable test hooks and programmatic IDs.Target the component by visible text in automation.id, dataTestId
Localize guided-tour hotspot text if you enable a tour.Ship English-only hotspot copy.enableAsHotspot, guidedTourHotSpotTitle, guidedTourHotSpotDescription

...

  • Avoid color-only meaning by relying on the built-in state indicators (valid, invalid, pending).
  • Conditional presence is supported through displayConditions.
  • Guided-tour text can be localized via guidedTourHotSpotTitle and guidedTourHotSpotDescription.Stable automation and test handles are available via id and dataTestId.
  • Validate before saving with the action “Form is invalid” to prevent futile submissions.
  • Write displayConditions to avoid rapid show/hide flicker (mutually exclusive, stable predicates).