cylc / cylc-ui

Web app for monitoring and controlling Cylc workflows
https://cylc.github.io
GNU General Public License v3.0
37 stars 27 forks source link

Cannot pinch to zoom on touch screens in graph view in GUI #1947

Open jfrost-mo opened 1 month ago

jfrost-mo commented 1 month ago

Description

A common interaction pattern in touch interfaces is pinching to zoom. This does not work in the graph view of the cylc GUI.

Reproducible Example

  1. Open a workflow in cylc GUI on a touch screen device, like a touchscreen laptop or a smartphone.
  2. Open graph view.
  3. Try to zoom via touch.

Expected Behaviour

Can zoom with touch controls, in a similar way to most other apps. Google maps is a good example of how this scrolling should work.

oliver-sanders commented 1 month ago

Hmmm.

I'm pretty sure I tried this out when the graph view was first added, but that was a while ago and we have no tests for touch screen gestures.

The pan/zoom functionality comes from an external library. If you get the chance, could you try these examples to see whether they work for you?

jfrost-mo commented 1 month ago

Testing on a NIWA laptop (which are touchscreen!) the inline example doesn't work, the same as Cylc, while the mobile one does. This was tested in Chrome and Edge.

oliver-sanders commented 1 month ago

Great, thanks for checking. To close this, we can copy the event handling of the second example onto the graph view and see what we can do to test this in Cypress.

jfrost-mo commented 1 month ago

I'll give this a go on a NIWA laptop tomorrow. Unfortunately my attempts to install cylc-uiserver on my phone failed at the point where I needed a rust compiler for some dependency...

oliver-sanders commented 3 weeks ago

Attempt after #1810