Shimoku docs
  • 🚀QuickStart
    • Installation & Setup
    • Minimal APP example
    • Extended Example
    • Templates & tutorials
  • 🤖Artificial Intelligence
    • Classification
      • Train Classification
        • Train Classification Outputs
      • Predict Classification
        • Predict Classification Outputs
    • Generate Insights
      • Generate Insights Outputs
  • 🛠️Building Web App
    • Environment
      • Overview
      • Environment Variables
    • Management
      • Managing Universes
      • Managing Workspaces
      • Managing Boards
    • Menu
      • Changing the Menu Path
      • Updating the Menu Path
      • Deleting the Menu Path
    • Grid
      • Using the Grid
    • Theming
      • Colors Usage
    • Actions
    • Modals
    • IO
  • 💡Elements
    • Summary
    • Charts
      • Table
        • Buttons Column
        • Filters
        • Search bars
        • Colored labels
      • HTML
        • Raw HTML
        • Beautiful Titles
        • Background Indicators
        • Click to New Tab
        • Box With Button
        • Panel
      • Indicators
        • Indicator
        • Grouped Indicators
        • Vertical Indicators
        • Color by Value
        • Gauge Indicator
        • Indicators with Header
      • Scatter Charts
        • Scatter
        • Scatter with Effect
      • Line Charts
        • Line
        • Predictive Line
        • Segmented Line
        • Marked Line
        • Line With Confidence Area
        • Top Bottom Line Charts
        • Summary Line
      • Area Charts
        • Area
        • Stacked Area
        • Segmented Area
        • Top Bottom Area Charts
      • Bar Charts
        • Bar
        • Stacked Bar
        • Horizontal Bar
        • Stacked Horizontal Bar
        • Zero Centered Bar
      • Pie Charts
        • Pie
        • Doughnut
        • Rose
      • Gauge Charts
        • Shimoku Gauge
        • Speed Gauge
      • Input forms
        • Group chained Inputs
        • List input search
        • Conditional inputs
        • Audio input
        • Drag & Drop
      • Line and Bar
      • Waterfall
      • Annotated Chart
      • Heatmap
      • Radar
      • Sunburst
      • Tree
      • Treemap
      • Sankey Diagram
      • Funnel chart
      • iFrame
    • Composite Template Charts
      • Infographics text bubble
      • Chart and Modal Button
      • Chart and Indicators
    • Data Sets
      • Data Set Filters
    • Create your own charts
      • Free Echarts
      • Bento box
    • Features & Navigation
      • Tabs
      • History navigation & Breadcrumb
  • 🔍Advanced usage
    • CLI
    • Workflow Triggers
    • Code Generation
  • 🌍Cloud & Community
    • Shimoku Cloud
    • Shared links
    • Handling Workspaces & Users
      • User authentication
      • Inviting users
      • Creating users
      • Users with multi-workspace access
  • 🌐Releases
    • 2024
      • v.2.6
      • v.2.5
      • v.2.4
      • v.2.3
        • v.2.3.1
      • v.2.2
        • v.2.2.3
        • v.2.2.2
        • v.2.2.1
      • v.2.1
        • v.2.1.2
        • v.2.1.1
      • v.2.0
        • v.2.0.(1..4)
      • v.1.6
        • v.1.6.1
      • v.1.5
    • 2023
      • v.1.4
        • v.1.4.1
        • v.1.4.2
      • v.1.3
      • v.1.2
        • v.1.2.1
      • v.1.1
        • v.1.1.1
      • v.1.0
        • v.1.0.2
        • v.1.0.1
      • v.0.20
      • v.0.19
      • v.0.18
      • v.0.17
        • v.0.17.1
      • v.0.16
        • v.0.16.3
        • v.0.16.2
        • v.0.16.1
      • v.0.15
      • v.0.14
    • 2022
      • v.0.13
        • v.0.13.3
      • v.0.12
      • v.0.11
      • v.0.10
        • v.0.10.4
        • v.0.10.3
        • v.0.10.1
      • v.0.9
      • v.0.8
      • v.0.7
        • v.0.7.1
      • v.0.6
      • v.0.5
      • v.0.4
      • v.0.3
        • v0.3.2
        • v0.3.1
      • v.0.2
Powered by GitBook
On this page

Was this helpful?

  1. Elements
  2. Charts
  3. Input forms

Group chained Inputs

Multiple input groups can be chained so that they are shown sequentially, through the use of a button. To use this feature the function s.plt.generate_input_form_groups has to be used. It eases the creation of multiple input forms groups, the user just has to define a dictionary where each key is the name of the group and the value is the list of input components. To activate the sequential show, the parameter dynamic_sequential_show has to be set to True.

The following example:

form_groups = {
    f'form group {i}': [
      {
        'mapping': 'country',
        'fieldName': f'Country {i}',
        'inputType': 'select',
        'options': ['España', 'Colombia']
      },
      {
        'dependsOn': f'Country {i}',
        'mapping': 'city',
        'fieldName': f'City {i}',
        'inputType': 'select',
        'options': {
            'España': ['Madrid', 'Barcelona'],
            'Colombia': ['Bogotá', 'Medellin']
        }
      }
    ] for i in range(4)}

form_groups['Personal information'] = [
    {
        'mapping': 'name',
        'fieldName': 'name',
        'inputType': 'text',
    },
    {
        'mapping': 'surname',
        'fieldName': 'surname',
        'inputType': 'text',
    },
    {
        'mapping': 'age',
        'fieldName': 'age',
        'inputType': 'number',
    },
    {
        'mapping': 'tel',
        'fieldName': 'phone',
        'inputType': 'tel',
    },
    {
        'mapping': 'gender',
        'fieldName': 'Gender',
        'inputType': 'radio',
        'options': ['Male', 'Female', 'No-binary', 'Undefined'],
    },
    {
        'mapping': 'email',
        'fieldName': 'email',
        'inputType': 'email',
    }
]

form_groups['Other data'] = [
    {
        'mapping': 'skills',
        'fieldName': 'Skills',
        'options': ['Backend', 'Frontend', 'UX/UI', 'Api Builder', 'DevOps'],
        'inputType': 'checkbox',
    },
    {
        'mapping': 'birthDay',
        'fieldName': 'Birthday',
        'inputType': 'date',
    },
    {
        'mapping': 'onCompany',
        'fieldName': 'Time on Shimoku',
        'inputType': 'dateRange',
    },
    {
        'mapping': 'hobbies',
        'fieldName': 'Hobbies',
        'inputType': 'select',
        'options': ['Make Strong Api', 'Sailing to Canarias', 'Send Abracitos'],
    },
    {
        'mapping': 'textField2',
        'fieldName': 'Test Text',
        'inputType': 'text',
    },
    {
        'mapping': 'objectives',
        'fieldName': 'Objetivos',
        'inputType': 'multiSelect',
        'options': ['sleep', 'close eyes', 'awake']
    }
]

s.plt.generate_input_form_groups(
    order=0, form_groups=form_groups,
    dynamic_sequential_show=True
)
PreviousInput formsNextList input search

Last updated 1 year ago

Was this helpful?

💡
Initial result
Result after clicking on the 'Next' button for each new group