Exercise
Start by using the existing widget template “Exercise: Minimalistic KPI” in the widget library “widget-exercises”.
- Create a new header in the property panel called “Settings”
- Create the following custom properties using the Property Panel editor
- Title (Input, name “Title”, reference
kpiTitle) - KPI (Input, name “KPI”, reference
kpi) - Color, containing the values “red”, “green” & “orange” as keys, choose appropriate labels (reference
color) - Comparison KPI (Input, reference
comparisionKPI)
- Title (Input, name “Title”, reference
- First extend the existing Widget to make it fully dynamic
- Title, KPI and the color should be bound to the properties defined by the user.
- Test the KPI extensively in an existing app
Don't proceed, first try it, then have a look at the solution ;-)
Solution
First create the properties:
kpiTitle

kpi

color

comparisonKPI

Now let's add bind the HTML output to some of the properties:
<div class="wiSimpleTile">
<div class="header">{{settings.kpiTitle}}</div>
<div class="measure">{{settings.kpi}}</div>
<div class="bar">{{settings.comparisonKPI}}</div>
</div>
So far we have bound all properties, except the color property.
And here comes a nice trick:
- If you have a look at the CSS, you'll find some classes there:
.bar-green.bar-orange.bar-red
- Now let's bind to these classes, depending on the selected color:
...
<div class="bar bar-{{settings.color}}">{{settings.comparisonKPI}}</div>
...
The Final Result

A proposed solution can be review in the widget "Result: Minimalistic KPI" (widget library "widget-exercises").
In this tutorial
On this page

