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

Add alternate touch event models #52

Merged
merged 10 commits into from
Jun 13, 2024

Commits on Jun 5, 2024

  1. Configuration menu
    Copy the full SHA
    5a1b7f1 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2024

  1. add panning/scrolling models

    we’ve found that adding a touch-model interaction on-top of the canvas-panel isn’t working. Instead, it would work better if it was built into the Atlas interaction model.
    
    This helps address some of this more cleanly:
    1. it addresses the fact that the browser-event-manager registers duplicate event listeners without removing them
    
    2. it removes the `touch-action: none;` and `pointer-events: none;` which was preventing the window from listening to scroll based touches.
    
    3. it replaces the above with making sure that `e.preventDefault()` is called when we don’t want to scroll because this does the same thing [see this](https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action) `Applications using Touch events disable the browser handling of gestures by calling preventDefault(), but should also use touch-action to ensure the browser knows the intent of the application before any event listeners have been invoked`
    
    4. With this set, we can now use `e.preventDefault()` in various places to determine when we want the event to be passed to the window.
    
    5. I also added some custom `user-select` settings to make sure that a long touch doesn’t try to select in Safari
    
    6. I also found that binding touch-move to the window was causing issues, so I bound it to the parent element of the canvas.
    
    New interaction modes:
    
    1. **ignoreSingleFingerTouch** when this is enabled a single finger touch does nothing, instead of panning, it allows the window to scroll.
    
    2. **enablePanOnWait** in this interaction model it assumes that a user will wait a brief moment between when the press and when the move when the intent is to “pan.”
    
    **Question: can I modify the popMotionController arguments in CanvasPanel — is this a matter of defining and setting them in the `useAtlas` setup in CanvasPanel?
    abrin committed Jun 9, 2024
    Configuration menu
    Copy the full SHA
    9b4d05e View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. fix typescript error

    abrin committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    a4cda83 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ad9bcd0 View commit details
    Browse the repository at this point in the history
  3. move to data attributes

    abrin committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    7a263cb View commit details
    Browse the repository at this point in the history
  4. cleanup

    abrin committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    fa2d152 View commit details
    Browse the repository at this point in the history
  5. add meta key

    abrin committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    30e90ea View commit details
    Browse the repository at this point in the history
  6. doc

    abrin committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    72dafb3 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. cleanup and fix meta key

    abrin committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    9d508d9 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. flip boolean

    abrin committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    a6aad8a View commit details
    Browse the repository at this point in the history