Widget Functionality

What it does

Integrates Tango JIVE-like exploration inside Octopus for devices, attributes, commands, and properties.

Writable Attributes

In Attributes tab (SCALAR):

  • Rows with writable metadata show a pen action.

  • Pen opens write modal for that attribute.

  • If enum labels exist, modal uses dropdown labels and writes enum index.

  • Otherwise modal uses raw input.

  • Write feedback uses mutation result attribute.value and updates visible value.

GraphQL operations

See src/graphql/ops.ts.

  • Queries for devices, device details, and snapshots include expanded attribute metadata (datatype, dataformat, writable, label, unit, description, quality, alarms, min/max, enum labels, value, timestamp).

  • Subscription streams attribute updates.

  • Mutations support command execution and attribute write (setAttributeValue).

Search and Cache

The widget builds a search index that includes device names, attribute names, command names, and property names.

  • Search is case-insensitive.

  • Wildcards are supported with * (example: heal*re).

  • Suggestions include type metadata chips.

  • Cache stored in localStorage and refreshed based on TTL.