Segmented Progress Bar

Content Type: Widget
Categories: User Interface

Overview

Progress bar with multiple sections to show completion or comparison of values. 

Documentation

Segmented Progress Bar

Progress bar with multiple sections to show completion or comparison of values

overview

Features

  • title for the bar
  • colors are configurable
  • static or dynamic list of segments
  • summary below the bar - can be disabled
  • percentage sum on the right - can be disabled
  • max value (100%) can either be the sum of the segments or a specific value
  • can show the summary value as a text template - add appropriate labels and decimal precision
  • values are shown when hovering on a segment

Usage

  1. General Settings - Decide whether you need a static list of segments or dynamic from a data source
  2. Decide whether you need a max value or not.
    2a. no max value - the sum of the segments will be treated at 100%
    2b. max value - the value entered will be treated as 100% (values over 100% are supported)
    general
  3. Segment setup

Static Segments - Pre-defined list of segments

staticSettings
Each segment has the following options
manualSummaryTextType
Summary Caption - The label next to the value in the summary
Summary Value - The text template shown in the summary for this segment. Can be used to add a label or set the precision of the summary values.
Value - The number (decimal) used in calculations for this segment
Color - CSS color value. (i.e. blue or #23d82b)
On Click - Action for when the user clicks on a segment inside the progress bar

Dynamic Segments - List segments from a data source

You will need an entity with the following attributes (it does not have to be persistance)
domain
dynamicSegmentItem
Dynamic Segment List - the data source for the segments Summary Caption - The label next to the value in the summary
Summary Value - The text template shown in the summary for this segment. Can be used to add a label or set the precision of the summary values.
Value - The number (decimal) used in calculations for this segment
Color - CSS color value. (i.e. blue or #23d82b)
On Click - Action for when the user clicks on a segment inside the progress bar

  1. Customization
    Customization
    Percent Sum - The number to the right of the progress bar
    Show Summary - The text / legend below the progress bar
    Show Summary Total - The sum of values is shown on the right of the summary section
    Summary Text Type - Should the summary show the literal value or the text template. Manual mode adds the 'Summary Value' setting in the segments. Can be used to add a label or set the precision of the summary values.

Notes

  • You can adjust the height of the progress bar by overriding the css class: .spb .spb-progress-bar-row .spb-progress-bar

Demo project

https://widgettesting105-sandbox.mxapps.io/p/segmented-progress-bar

Issues, suggestions and feature requests

https://github.com/bsgriggs/mendix-segmented-progress-bar/issues

This widget is open source. Feel free to clone the GitHub repository, make whatever changes you need, and submit a pull request! Requires Node v14 and NPM v6 - if you already have a different version of Node / NPM, then download NVM to switch between versions

Development and contribution

Benjamin Griggs

Releases

Version: 3.0.0
Framework Version: 10.21.1
Release Notes: - upgrade for Mendix 10.21.1+
Version: 2.0.0
Framework Version: 9.24.5
Release Notes: - update the widget to Mendix 9.24 & React 18
Version: 1.0.0
Framework Version: 9.12.0
Release Notes: Initial Release