OSDN Git Service

Version 0.6.188, fix X.UI.
[pettanr/clientJs.git] / 0.6.x / js / 20_ui / 15_ScrollBox.js
index f2f6a27..2d160a1 100644 (file)
@@ -42,6 +42,7 @@ function XUI_ScrollBox_indicatorHandleEvent( e ){
        switch( e.type ){\r
                case X_EVENT_CANCELED :\r
                case XUI_Event.SCROLL_END :\r
+                       console.log( '-fadeout-' );\r
                        this[ 'animate' ](\r
                                { opacity : 1 },\r
                                { opacity : 0 },\r
@@ -347,7 +348,7 @@ function X_UI_ScrollBox_onStart( e ){
        console.log( 'scrollstart ' + e.pageY );\r
        \r
        this[ 'listen' ]( XUI_Event._POINTER_MOVE, this, X_UI_ScrollBox_onMove );\r
-       this[ 'listen' ]( [ XUI_Event._POINTER_UP, XUI_Event._POINTER_CANCEL ], this, X_UI_ScrollBox_onEnd );\r
+       this[ 'listen' ]( [ XUI_Event._POINTER_UP, XUI_Event.POINTER_OUT, XUI_Event._POINTER_CANCEL ], this, X_UI_ScrollBox_onEnd );\r
 \r
        return ret | X_CALLBACK_PREVENT_DEFAULT;\r
 };\r
@@ -462,11 +463,14 @@ function X_UI_ScrollBox_onEnd( e ){
                newX, newY,\r
                momentumX, momentumY,\r
                duration, distanceX, distanceY;\r
-                                               \r
+       \r
+       console.log( e.type + ' onend ' + XUI_Event.POINTER_OUT  );\r
+                                       \r
        this[ 'unlisten' ]( XUI_Event._POINTER_MOVE, this, X_UI_ScrollBox_onMove );\r
-       this[ 'unlisten' ]( [ XUI_Event._POINTER_UP, XUI_Event._POINTER_CANCEL ], this, X_UI_ScrollBox_onEnd );\r
+       this[ 'unlisten' ]( [ XUI_Event._POINTER_UP, XUI_Event.POINTER_OUT, XUI_Event._POINTER_CANCEL ], this, X_UI_ScrollBox_onEnd );\r
        \r
        if( !this.scrollEnabled || e.pointerType !== this.initiated ){\r
+               console.log( e.type + ' onend 1 ' + e.pointerType + ' ' + this.initiated  );\r
                return ret;\r
        };\r
 \r
@@ -482,6 +486,7 @@ function X_UI_ScrollBox_onEnd( e ){
 \r
        // reset if we are outside of the boundaries\r
        if( X_UI_ScrollBox_resetPosition( this, this.bounceTime ) ){\r
+               console.log( e.type + ' onend 2 ' + XUI_Event.POINTER_OUT  );\r
                return ret;\r
        };\r
 \r
@@ -514,7 +519,7 @@ function X_UI_ScrollBox_onEnd( e ){
                        easing = 'quadratic';\r
                };\r
 \r
-               console.log( 'end2 x:' + newX + ' y:' + newY + ' t:' + time );\r
+               console.log( 'end2 x:' + newX + ' y:' + newY + '<-y:' + this.scrollY + ' t:' + time );\r
                this.scrollTo( newX, newY, time, easing, 1000 );\r
        } else {\r
                console.log( 'end1 x:' + newX + ' y:' + newY );\r
@@ -558,11 +563,16 @@ function X_UI_ScrollBox_resetPosition( that, time ){
 };\r
 \r
 function X_UI_ScrollBox_onAnimeEnd( e ){\r
+       if( e.target !== this.xnodeSlider ){\r
+               console.log( '- not much -' );\r
+               console.dir(e);\r
+       };\r
        if( e.target === this.xnodeSlider && this.isInTransition && !X_UI_ScrollBox_resetPosition( this, this.bounceTime ) ){\r
                this.isInTransition = false;\r
                console.log( '-2-' );\r
                this[ 'dispatch' ]( XUI_Event.SCROLL_END );\r
        };\r
+       console.log(' -2.1- '+this.isInTransition );\r
        return X_CALLBACK_NONE;\r
 };\r
 \r
@@ -618,19 +628,19 @@ X.UI.ScrollBox = X.UI.ChromeBox.inherits(
                                                        minHeight : '100%'\r
                                                }\r
                                        ],\r
-                               i    = arguments.length,\r
+                               l    = arguments.length, i = 0, j = 1,\r
                                arg, attr;\r
                        \r
-                       for( ; i; ){\r
-                               arg = arguments[ --i ];\r
+                       for( ; i < l; ++i ){\r
+                               arg = arguments[ i ];\r
                                if( arg[ 'instanceOf' ] && arg[ 'instanceOf' ]( XUI_LayoutBase ) ){\r
                                        args[ 0 ] = arg;\r
                                } else\r
                                if( arg[ 'instanceOf' ] && arg[ 'instanceOf' ]( X.UI.AbstractUINode ) ){\r
-                                       args[ args.length ] = arg;\r
+                                       args[ ++j ] = arg;\r
                                } else\r
                                if( X_Type_isObject( arg ) ){\r
-                                       args[ args.length ] = attr = arg;\r
+                                       args[ ++j ] = attr = arg;\r
                                        slider = attr.scrollSlider;\r
                                };\r
                        };\r