scrollview-base.js revision 00844a90f06ed96697a177e2fa6bdc1ffea8f484
4d989d106a48742d50d9c139998f11f355aac34aSatyen Desai * ScrollView module
4d989d106a48742d50d9c139998f11f355aac34aSatyen Desai * @module scrollview
4d989d106a48742d50d9c139998f11f355aac34aSatyen Desai * @submodule scrollview-base
30dcf5ec86f4223b16eb4f3cae2c4fc0812c22c9Reid Burkevar getClassName = Y.ClassNameManager.getClassName,
4d989d106a48742d50d9c139998f11f355aac34aSatyen Desai scrollbar: getClassName(SCROLLVIEW, 'scrollbar'),
4d989d106a48742d50d9c139998f11f355aac34aSatyen Desai vertical: getClassName(SCROLLVIEW, 'vertical'),
4d989d106a48742d50d9c139998f11f355aac34aSatyen Desai horizontal: getClassName(SCROLLVIEW, 'horizontal'),
function ScrollView() {
initializer: function() {
this._createEvents();
_createEvents: function() {
_uiSizeCB: function() {},
_transitionEnded: function() {
bindUI: function() {
if (NATIVE_TRANSITIONS) {
this.after({
syncUI: function() {
transition = {
if (NATIVE_TRANSITIONS) {
_onGestureMoveStart: function(e) {
this._killTimer();
this._isDragging = false;
this._snapToEdge = false;
_onGestureMove: function(e) {
this._isDragging = true;
if(this._scrollsVertical) {
if(this._scrollsHorizontal) {
_onGestureMoveEnd: function(e) {
this._scrolledHalfway = false;
this._snapToEdge = false;
this._isDragging = false;
this._scrolledHalfway = true;
this._scrolledHalfway = true;
this._snapToEdge = true;
this._snapToEdge = true;
this._snapToEdge = true;
this._snapToEdge = true;
if(this._snapToEdge) {
staleScroll: true
_afterScrollYChange : function(e) {
_afterScrollXChange : function(e) {
_afterHeightChange: function() {
this._uiDimensionsChange();
_afterWidthChange: function() {
this._uiDimensionsChange();
_uiDimensionsChange: function() {
this._scrollsVertical = true;
this._scrollsHorizontal = true;
_flick: function(e) {
this._flicking = true;
this._flickFrame();
_flickFrame: function() {
if(this._scrollsVertical) {
if(this._scrollsHorizontal) {
this._flicking = false;
if(this._scrollsVertical) {
this._snapToEdge = true;
this._snapToEdge = true;
if(this._scrollsHorizontal) {
this._snapToEdge = true;
this._snapToEdge = true;
this._exceededYBoundary = true;
this._exceededXBoundary = true;
if(this._scrollsVertical) {
if(this._scrollsHorizontal) {
if(this._flickTimer) {
if(fireEvent) {
return val;
ATTRS: {
scrollY: {
scrollX: {
deceleration: {
bounce: {