GUI widgets

Lets assume (or create) we have on UI part of page - chart widget, all indicators to show data. Put on page "DatePicker" widget to be able pick dates. Also you can put toggle button, lets call it "Play button".

Example:

Logic blocks

Data query

First of all, we need to prepare query of data with date parameter, it could be achieved by Pattern block with pattern, lets take it as example: 

readAll(point and power).hisRead({in1})

"in1" inport should be taken from DatePicker outport:

Result of eval, obviously, goes to chart inport "in"

If everything was made right, we should be able to view daily data for any date in chart.

History play

Block "HistoryPlayer" has 4 inports and 2 outport (10/05/2016):

  • grid - here comes initial data (for a selected day), actually, you can easily pass here result of our query above.
  • play - boolean flag, to play data or not. Here you can connect our toggle button "play".
  • time - this is optional inport to handle current player time in data. We can use it later.
  • delay - frame delay in ms. (default if 300). Could be handled by additional widgets, which set according values, e.g. 0, 150, 300, 500, 1000, etc.

Outports:

  • time - outport to connect with cursor inport of charts. Draws a cursor on chart.
  • data - current row from data with type Row (not Grid). Each column is record id.

Lets connect inports of it with proper outports - eval result to "grid" inport, toggle button to "play" inport, outport "time" to chart's "cursor":

In preview we could see a running cursor on chart when we toggle a play button.

Lets display history value for one gauge. Before do that at first we need to add gauge shows one of value from query. And next we just need to connect HistoryPlayer's "data" inport with PointWatcher's "history" one.

So we can make such logic:

example page