A querying chart offers its own windows: an optional ranges list of {label, range_s, interval_s}, up to 8 and checked by the server, where range_s 0 asks for the whole history; the editor lists and picks them, and the refresh is capped at what a timer can hold

This commit is contained in:
2026-11-06 14:33:25 +01:00
parent 4c15f4abe1
commit 40e60b422b
7 changed files with 259 additions and 42 deletions
+6 -1
View File
@@ -5713,10 +5713,15 @@ by a schema per class, because the whole set is small and closed.
A chart comes in two kinds. The default reads what the engine kept for a
message. One with \`\`source: "query"\`\` asks instead, and its config is
\`\`{source, request, request_dtype: "record", message, dtype: "series",
refresh_s, range_s}\`\`: it publishes \`\`{range_s, interval_s}\`\` to
refresh_s, range_s, ranges}\`\`: it publishes \`\`{range_s, interval_s}\`\` to
\`\`request\`\` exactly as a slider publishes a value, and draws the \`\`series\`\`
a flow answers with on \`\`message\`\`.
\`\`ranges\`\` lists the windows its rail offers, up to \`\`CHART_RANGES\`\` of
\`\`{label, range_s, interval_s}\`\`, and \`\`range_s\`\` names the one it opens on.
Without them it offers 1h, 6h, 24h and 7d. \`\`range_s: 0\`\` asks for the
whole history, and the flow answering decides how far back that reaches.
A colour widget picks what it publishes with \`\`format\`\`, because fixtures
differ and a change node per tile is not the answer:
+6 -1
View File
@@ -1775,10 +1775,15 @@ export type WebPushKey = {
* A chart comes in two kinds. The default reads what the engine kept for a
* message. One with ``source: "query"`` asks instead, and its config is
* ``{source, request, request_dtype: "record", message, dtype: "series",
* refresh_s, range_s}``: it publishes ``{range_s, interval_s}`` to
* refresh_s, range_s, ranges}``: it publishes ``{range_s, interval_s}`` to
* ``request`` exactly as a slider publishes a value, and draws the ``series``
* a flow answers with on ``message``.
*
* ``ranges`` lists the windows its rail offers, up to ``CHART_RANGES`` of
* ``{label, range_s, interval_s}``, and ``range_s`` names the one it opens on.
* Without them it offers 1h, 6h, 24h and 7d. ``range_s: 0`` asks for the
* whole history, and the flow answering decides how far back that reaches.
*
* A colour widget picks what it publishes with ``format``, because fixtures
* differ and a change node per tile is not the answer:
*