Skip to content

Firefly-1947: Improve firefly on iPad#1913

Merged
robyww merged 1 commit intodevfrom
FIREFLY-1947-ipad
Feb 26, 2026
Merged

Firefly-1947: Improve firefly on iPad#1913
robyww merged 1 commit intodevfrom
FIREFLY-1947-ipad

Conversation

@robyww
Copy link
Contributor

@robyww robyww commented Feb 20, 2026

Firefly-1947: Improve firefly on iPad

This is a start of some iPad work. So the scope is pretty narrow. It is just addressing some of the bigger issues. There will be more do to that we will address in future tickets.

  • Make initial size correct using dvw units
  • Tap on image and see readout
  • Pinch to zoom
  • Support touch events with overlays

testing

  • use iPad or chrome responsive mode
    • for chrome responsive mode set dimensions to iPad pro
    • we will handle more dimensions in future tickets
  • https://fireflydev.ipac.caltech.edu/firefly-1947-ipad/firefly
  • firefly should size correctly on ipad
  • image/hips will now show readout with tap
  • image/hips will move and scroll with touch
  • image/hips will zoom with pinch
  • use the extract tool on images

@robyww robyww added this to the 2026.1 milestone Feb 20, 2026
@robyww robyww self-assigned this Feb 20, 2026
@robyww robyww added bug enhancement UI Client side UI changes not related to any of the visualizers labels Feb 20, 2026
@robyww robyww marked this pull request as ready for review February 20, 2026 18:18
Copy link
Member

@jaladh-singhal jaladh-singhal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested all mentioned things - working great!

Code looks good, left some minor comments for DRY.

I did notice one issue though which can be tackled separately: When I turn on "click lock" in the bottom right of an image, I don't see a pink marker that comes up in desktop and mouse readout doesn't update. Since you already implemented tap to see readout which acts as click lock on touch devices, maybe we can hide the "click lock" slider when a device is touch screen?

}
};

const onTouchMove= (ev) => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, these are throughly thought out!

Comment on lines 202 to 206
eRef.element?.addEventListener('wheel', onWheel, {passive:false});
return () => eRef.element?.removeEventListener('wheel', onWheel);
}, [eRef.element, transform, plotId, eventCallback]);
eRef.element?.addEventListener('touchmove', onTouchMove, {passive:false});
eRef.element?.addEventListener('touchstart', onTouchStart, {passive:false});
eRef.element?.addEventListener('touchend', onTouchEnd, {passive:false});
eRef.element?.addEventListener('touchcancel', onTouchCancel, {passive:false});
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Nitpick] Could have declared the event and callback as a list of list (const events = [[event, callback], ...]) and called addEventListener only once as events.forEach().

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good idea, I will do that

Comment on lines 208 to 213
eRef.element?.removeEventListener('wheel', onWheel);
eRef.element?.removeEventListener('touchmove', onTouchMove);
eRef.element?.removeEventListener('touchstart', onTouchStart);
eRef.element?.removeEventListener('touchend', onTouchEnd);
eRef.element?.removeEventListener('touchcancel', onTouchCancel);
};
Copy link
Member

@jaladh-singhal jaladh-singhal Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above: events.forEach(([event callback])=>eRef.element?.removeEventListener(event, callabck)). Single events list will make sure nothing is missed from cleanup if it updates in future.

 - Make initial size correct using dvw units
 - Tap on image and see readout
 - Pinch to zoom
 - Support touch events with overlays
 - improved menubar size test and fix display mask
 - includes reponse to feedback
@robyww robyww merged commit 7091637 into dev Feb 26, 2026
@robyww robyww deleted the FIREFLY-1947-ipad branch February 26, 2026 22:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug enhancement UI Client side UI changes not related to any of the visualizers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants