Skip to content

Draft: Synoptic View

Vincent Hardion requested to merge synoptic-fixing-conflict-merge into develop

Description

This is just the start of a new synoptic app in Taranta.

Based on branch: fixing-conflict

Motivation

The synoptic view is a must have view for a control system. It represents schematically the system which is under control.

This version is a functional prototype how a synoptic view can be used in Taranta.

This synoptic version takes up the principles of the taurus-svgsynoptic software and thus fully compatible with any svg synoptic including attributes and description. Although the feature level is not that reach.

Prototype feature

  • Display svg
  • Connected with Tango in run mode, handling attribute value and device state
  • React component. Keep the advantage of the Taranta 2. Each active svg node is a React component, so only update the svg nide when necessary.
  • Pan/Zoom
  • Details appear/disappear with the zoom level
  • Display/hide layers representing subsystem
  • [v] Thumbnail with zoom area (half working)
  • Tooltip when mouse get over a Tango component
  • Open device link when clicking on the component
  • select synoptic
  • save/load synoptic (Only with taranta-dashboard!38 (merged))
  • import svg (see question mark)

Additional feature

To align with the feature of taurus-synoptic:

  • Zoom click. Area where a click goes to the next zoom level.
  • css for the all synoptic
  • JS for the all synoptic (quid of security issue)
  • Open specific panel when clicking on the component

And to get better:

  • Inspector for simple edit of svg

Question marked

  • Import synoptic should maybe take a all synoptic config instead of a sole svg file
  • Code duplication. A majority of the code is copied from the dashboard

Issues

  • Limited to 200 devices, otherwise tangogql crashes. Seems related to same the slow subscription impacting taurus.
  • centering of the main synoptic
  • thumbnail zoom area is shifted
  • Svg React component dependency is marked as compatible only with React v18. But in reality 17 also.

Tests included/Docs Updated?

  • Included for each change/fix?
  • Passing? (Merge will not be approved unless this is checked)
  • Docs updated?
  • New packages used/requires npm install?
  • Toggle added for new features?
Edited by Vincent Hardion

Merge request reports