Ticket #2532815 (closed defect)

Reporter


Kreso Kunjas
Opened: 10/1/12
Last modified: 01/28/13
Status: closed
Type: defect
Resolution: fixed

Owner


Derek Gathright
Target Release: 3.8.1
Priority: P3 (normal)
Summary: ScrollView paginator doesn't work after using mouse scroll anywhere on page
Description:

steps to reproduce:
1. open: http://stage.yuilibrary.com/yui/docs/scrollview/scrollview-paging-example.html
2. use scrollweheel on mouse anywhere on page
3. pagination buttons doesn't work - either one ( Prev, Next )

if i interact with scrollview, it works, and pagination buttons works again.

Tested with opera 12, latest chrome (23) and firefox (15.0.1)

Type: defect Observed in Version: 3.7.2
Component: ScrollView Severity: S2 (high)
Assigned To: Derek Gathright Target Release: 3.8.1
Location: Library Code Priority: P3 (normal)
Tags: Relates To:
Browsers: Firefox - Latest,Opera,Chrome
URL: http://stage.yuilibrary.com/yui/docs/scrollview/scrollview-paging-example.html
Test Information:

Change History

Kreso Kunjas

  • Username: deresh
  • GitHub: deresh
Posted: 10/1/12

i have done some testing. if i override _mousewhell private function to empty function the problem is fixed.
i also observed that after mousewhell event fires and _mousewhell function gets executed pagination stops working.
after that if i call paginate.next() or prev function the scrollview scrollTo function recieves wrong parameters (null instead of passed in value). maybe that should help..

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 10/1/12
  • priority changed to P3 (normal)
  • status changed from new to accepted

Thanks Kreso. After a quick investigation, it appears that Paginator's _beforeHostScrollTo [1] is referencing the previous interaction's axis (which was a mousewheel on axis 'Y' [2]) and using that as the axis for the API 'next' interaction.

I'll investigate further for the appropriate fix. Ideally, scrollview._gesture is completely removed at the end of a gesture cycle, because it can cause issues [3] (such as this) when it lingers around. Also, mousewheel shouldn't have any interaction with the _gesture object, as it isn't a gesture.

[1] https://github.com/yui/yui3/blob/v3.7.2/src/scrollview/js/paginator-plugin.js#L226
[2] https://github.com/yui/yui3/blob/v3.7.2/src/scrollview/js/paginator-plugin.js#L295
[3] https://github.com/yui/yui3/blob/v3.7.2/src/scrollview/js/scrollview-base.js#L1059

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 10/1/12
  • milestone changed to 3.CURRENT.NEXT

I'm going to continue more testing, but it appears that simply removing the following lines from paginator-plugin.js resolves the issue

- // Set the axis for this event.
- // @TODO: This is hacky, it's not a gesture. Find a better way
- host._gesture = {
- axis: DIM_Y
- };

This was likely required for the 3.5-3.6 releases, but no longer necessary in the 3.7 release which involved a lot of SV cleanup.

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 10/1/12
  • location changed to Library Code

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 10/1/12
  • resolution changed to fixed
  • status changed from accepted to checkedin

Fixes #2532815 - MouseWheel no longer makes use of the _gesture property and this can be removed.
View Commit: 58dd0c0db2bb02f09bc9f695898658d705b32c77

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 10/2/12
  • milestone changed from 3.CURRENT.NEXT to 3.NEXT
  • resolution changed from fixed

Checked in to 3.x and will be released in 3.8

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 10/2/12
  • completed changed from 0 to .25
  • sprint changed to Sprint 02

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 10/3/12
  • resolution changed to fixed

Fixes #2532815 - MouseWheel no longer makes use of the _gesture property and this can be removed.
View Commit: f847161be1282c8e3d02f42b5842f1ec5aa84647

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 11/16/12

Fixes #2532815 - MouseWheel no longer makes use of the _gesture property and this can be removed.
View Commit: f847161be1282c8e3d02f42b5842f1ec5aa84647

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 12/11/12

Fixes #2532815 - MouseWheel no longer makes use of the _gesture property and this can be removed.
View Commit: f847161be1282c8e3d02f42b5842f1ec5aa84647

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 12/11/12

Fixes #2532815 - MouseWheel no longer makes use of the _gesture property and this can be removed.
View Commit: f847161be1282c8e3d02f42b5842f1ec5aa84647

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 12/11/12

Fixes #2532815 - MouseWheel no longer makes use of the _gesture property and this can be removed.
View Commit: 58dd0c0db2bb02f09bc9f695898658d705b32c77

Jenny Donnelly

YUI Developer

  • Username: jenny
  • GitHub: jenny
Posted: 12/12/12
  • milestone changed from 3.NEXT to 3.8.0

Jenny Donnelly

YUI Developer

  • Username: jenny
  • GitHub: jenny
Posted: 12/12/12
  • status changed from checkedin to closed

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 01/14/13
  • status changed from closed to checkedin

Fixes #2532815 - MouseWheel no longer makes use of the _gesture property and this can be removed.
View Commit: f847161be1282c8e3d02f42b5842f1ec5aa84647

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 01/14/13

Fixes #2532815 - MouseWheel no longer makes use of the _gesture property and this can be removed.
View Commit: f847161be1282c8e3d02f42b5842f1ec5aa84647

Derek Gathright

YUI Developer

  • Username: drgath
  • GitHub: derek
Posted: 01/15/13

Ticket #2532974 was marked as a duplicate of this ticket.

Jenny Donnelly

YUI Developer

  • Username: jenny
  • GitHub: jenny
Posted: 01/28/13
  • milestone changed from 3.8.0 to 3.8.1

Moving all checked in bugs to 3.8.1.

Jenny Donnelly

YUI Developer

  • Username: jenny
  • GitHub: jenny
Posted: 01/28/13
  • status changed from checkedin to closed