Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1190 - Tapestry 3.0 - Zoomable interface #1191

Closed
wants to merge 149 commits into from

Conversation

legendword
Copy link
Contributor

@legendword legendword commented Jun 9, 2022

Changes

For testing: Edit node levels in the node modal, above the node title.

  • Drop shadow on nodes and lines.
  • Darkened node color on lower levels.
  • Zoom in using one of the following methods: Ctrl + Scroll (Windows & macOS), Cmd + Scroll (macOS), pinch scroll (macOS trackpad & mobile), double click.
  • Nodes become further apart from each other while increasing in size when zooming in.
  • Pan view by dragging on empty space. The user should not be able to pan too far away from the Tapestry --- the precise amount they can pan to each side is the border of the Tapestry nodes plus a margin of the radius of the currently largest node.
  • Nodes are hidden based on scale and depth. Depth determines how many levels down the user can see. As the user zooms in, the "current level" will be changed and more nodes will be visible based on the depth. The nodes at the visible boundary is styled as a "grandchild" node, similar to how it used to show.
  • The depth slider now functions to change the depth (how many levels down the user can see). The minimum depth is 1 and the maximum depth is (maxLevel - 1).
  • Buttons on a node are hidden if node is too small (mainly for authoring).
  • Click on a node to zoom in on that node such that the node is the default size (*default size = size of Level 1 node at initial scale) and also pan the view towards that node. If the user has manually zoomed in, then clicking on a node will zoom in further than the normal amount.
  • Minimap is shown on the bottom right and can be toggled on / off. It shows the nodes (with their colors), links, and the current view position. Dragging the view box or clicking anywhere on the minimap will pan the view to the desired position.
  • The minimap also displays depth cues including node size and shadow.
  • (1249 - Tapestry 3.0 - Use halo to indicate selected node rather than size change #1250) Adds a solid blue halo around the selected node.
    • The halo is "outside" the progress bar, but "inside" the outline from a draft/review node. The halo should fade in, and animate smoothly when the node radius changes, at the same rate as the node.
    • The halo has a width of 10% of the node radius.

Bug fixes & other changes:

  • Fixed a bug where depth slider is hidden for a user that is not logged in.
  • Removed event listeners on $root when component is about to be destroyed to avoid redundant event listeners that are added via this.$root.$on.

Screenshot

image

Issue Linkage

Closes #1190
Closes #1263

PR Dependency

Depends on: #1220

Automated Testing

TBD

legendword and others added 30 commits May 24, 2022 18:11
fix a small rule error in MultipleChoiceQuestion
- fix license invalid prop type check due to default node
- Fix BehaviourForm code
@Bitajkr
Copy link

Bitajkr commented Sep 12, 2022

Screen.Recording.2022-09-12.at.3.22.47.PM.mov

@Bitajkr
Copy link

Bitajkr commented Sep 12, 2022

Screen Shot 2022-09-12 at 3 33 42 PM

@Bitajkr
Copy link

Bitajkr commented Sep 12, 2022

Screen Shot 2022-09-12 at 3 56 09 PM

@Bitajkr
Copy link

Bitajkr commented Sep 12, 2022

@cypress
Copy link

cypress bot commented Oct 21, 2022



Test summary

99 0 0 0Flakiness 1


Run details

Project tapestry-wp
Status Passed
Commit 72e173f
Started Jan 4, 2023 9:57 PM
Ended Jan 4, 2023 10:02 PM
Duration 04:29 💡
OS Linux Ubuntu - 22.04
Browser Chrome 108

View run in Cypress Dashboard ➡️


Flakiness

cypress/integration/comments.spec.js Flakiness
1 Comments > should not be able to see the Comments section for a draft node

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Dashboard

@legendword legendword added the almost done This PR needs just under an hour of work to be done label Oct 31, 2022
@legendword legendword linked an issue Oct 31, 2022 that may be closed by this pull request
@legendword legendword removed the almost done This PR needs just under an hour of work to be done label Jan 4, 2023
@wynnset wynnset closed this Jan 6, 2023
@wynnset wynnset deleted the 1190-zoomable-interface branch January 18, 2023 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make zoom in/out and panning gestures more intuitive Zoomable interface
4 participants