Widget Functionality

What it does

The Filter widget lets users enter an expression that filters which variables (and values) other widgets should consider. It writes to the shared “brush” state so all widgets respond consistently.

  • Applies a filter expression on submit (or via the Apply button).

  • Persists a capped history per instanceId (if enabled) for quick recall.

  • Offers auto-complete suggestions combining built-in tokens, derived station hints, and history.

Expected input

  • Expressions using the advanced parser syntax, e.g.:

    • name: "station/1/"

    • value: "FAULT"

    • name: "station/1/" AND value: "ON"

SDK integration

  • Uses useBrush() from the Widget SDK:

    • setBrush(expr) sets the current expression.

    • clearBrush() clears the expression.

  • No GraphQL calls; the widget is purely stateful UI that influences others.