-
Added:
axis
configuration property to force the axis. If unspecified, ScrollView will attempt to detect which direction to scroll (based off overflow content). ScrollView also now supports scrolling on both axes (not at the same time).axis
accepts'x'
,'y'
, or'xy'
, and maps to thescrollview.axis
property (an object) after initialization. For example:var scrollview = new Y.ScrollView({ srcNode: '#myScrollview', width: 400, height: 400, axis: 'xy' }); scrollview.axis === {x:true, y:true} // true
-
Added:
mousewheel
is now an attribute, which means support is now optional (previously forced). To disable,scrollview.set('mousewheel', false);
-
Added: Right-to-left layout support. ScrollView detects RTL by looking at the
direction
attribute typically found in your<html>
tag. -
Added:
scrollview.scrollTo()
now accepts aY.Node
instance as an optional 5th argument, which represents the node to offset instead ofcontentBox
. This is required forY.Plugin.ScrollViewPaginator
's capability to paginate on dualaxis instances. -
Added: ScrollView bounding boxes can now have both
yui3-scrollview-horiz
andyui3-scrollview-vert
classes. Previously it was one or the other. -
Moved: Protected properties that relate to a gesture/movement cycle into a new
scrollview._gesture
object. If you need to know specifics about start/end X/Y coordinates and deltas, review the code for this object. Also see the API change notes below. -
Fixed:
drag
andflick
setters to prevent multiple listeners from being assigned. -
Fixed: Properties
_minScrollX
,_maxScrollX
,_minScrollY
, and_maxScrollY
are now always present, instead of opposite axis properties being deleted. -
Fixed: The
scrollEnd
event now only fires once, and at the end of a scrolling sequence. Previously it could fire twice per scrolling sequence: once when dragging stopped, then again when the flick animation completed. This is a useful event to listen for to know when scrolling is complete, and is now more reliable. -
Fixed: Mousewheel scrolls now properly update the
scrollY
attribute
Underscored "_" properties and methods represent protected/private members. They typically do not receive this level of documentation, but due to the frequency of "monkey patching" previous versions of ScrollView by accessing these members, they are being documented here to ease the process of upgrading from a previous version if you run into issues. Hopefully the features and fixes in this update to ScrollView will allow for removal of existing patches.
-
Added: Methods to
scrollview
-
_isOOB
-
_snapBack
-
_afterScrollChange
-
_afterScrollEnd
-
_axisSetter
-
Moved: Methods in
scrollview
-
_setScroll
->_afterScrollChange
-
Removed: Methods from
scrollview
-
_killTimer
-
_moveTo
-
_uiScrollTo
-
Removed: Properties from
scrollview
-
lastScrolledAmt
-
_isDragging
-
_flicking
-
_snapToEdge
-
_currentVelocity
-
_pastXEdge
-
_pastYEdge
-
Moved: Methods and properties to
scrollview._gesture
(new) -
scrollview._hm
->scrollview._gesture.onGestureMove
-
scrollview._hme
->scrollview._gesture.onGestureMoveEnd
-
scrollview._startClientX
->scrollview._gesture.startClientX
-
scrollview._startClientY
->scrollview._gesture.startClientY
-
scrollview._startX
->scrollview._gesture.startX
-
scrollview._startY
->scrollview._gesture.startY
-
Added: Properties to
scrollview._gesture
(new) -
axis
-
endClientX
-
endClientY
-
deltaX
-
deltaY
-
flick
-
Added:
cards
property, an array of objects. Each page ("card") in your paginator instance now has properties (maxScrollX
,maxScrollY
,scrollX
,scrollY
,node
) that are needed for paginated scrolling in a dualaxis instance. -
Moved: Having
scrollTo
methods on bothscrollview
andscrollview.pages
was confusing, especially since they require different arguments. Soscrollview.pages.scrollTo
has been moved toscrollview.pages.scrollToIndex
, which better reflects its purpose.scrollTo
still remains as a deprecated method and maps toscrollToIndex
. -
Fixed:
scrollToIndex
(previouslyscrollTo
) now updates theindex
attribute. -
Fixed: Bug where programmatic access into
scrollview.pages.scrollTo
may not actually scroll to the desired page, or may cause a lock-up of the widget.
-
Added: Properties to
scrollview.pages
-
axis
-
cards
-
Added: Methods to
scrollview.pages
-
_beforeHostScrollTo
-
_afterHostSyncUI
-
Moved: Methods on
scrollview.pages
-
_scrollEnded
->_afterHostScrollEnded
-
_onGestureMoveEnd
->_afterHostGestureMoveEnd
-
_mousewheel
- >_beforeHostMousewheel
-
Removed: Methods from
scrollview.pages
-
_uiEnable
-
_uiDisable
- Even though 3.7.0pr1 is only a day old, some of this is already out of date with what will soon be in master (e.g.
axis
becoming an attribute). So if you are developing off the latest commits, be sure to reference ScrollView's commit history to stay on top of any changes.
If you have any questions or suggestions, please leave a comment. Thanks