Pulse allows creating interactive dashboards, a user can either push a button, select a dropdown, click a chart or table that then displays a customized resulting table or chart. For example Pulse allows a user to pick a date from a date picker and then display a time-series graph for that date.

It enables this by providing

  • Variables - that are populated when charts/tables etc are clicked or when forms are changed.
  • Event Handlers - that can be added to listen for clicks and then run custom SQL or other API calls.

Variables

A variable is a placeholder for a value. You can use variables in queries so when you change the value, your queries will be re-ran and the chart or table updated.

  • Variables map keys to values.
  • Setting Variables
    • These variables can be empty or set to defaults by the author when a dashboard is loaded.
    • User interaction with User Forms or Chart/Grids can set variables
      • User Forms have buttons, text inputs, numeric inputs etc. mapped to author specified keys.
      • Chart automatically populate specially named keys (ts/name/seriesName) when clicked.
      • Tables populate keys named tbl.YYY where YYY is mapped to each column name and the value is the selected rows column value.
  • Once a variable is set. Any SQL query containing that variable is sent and the view automatically updated.

Notice in the picture below, the author has added a Debug component. This component shows the value of all keys/values. On the left is a form where the user has chosen EUR/JPY, this causes the variable ccy to map to the value EUR/JPY.

Interactive Dashboards

Page Address Importance

The web page address contains the current key/values at all times. You will notice as you set variables either by interacting with forms, charts or tables that the address bar gets updated to contain these vaiables like so:

http://pulseui.net/dash/5/PnL?ccy=EUR%2FJPY&days=2

This has a number of benefits:

  • You can bookmark and share a page by emailing the URL.
  • When an author saves a dashboard, the current values in the URL are used as defaults when a dashboard is first loaded for other users.