From 46d3fdf2559c59963e53ff6136c3fd58cd8f7a6d Mon Sep 17 00:00:00 2001 From: itozyun Date: Sat, 12 Jul 2014 22:06:27 +0900 Subject: [PATCH] Version 0.6.55, working uinode.listen(...)! --- 0.6.x/js/core/01_XUa.js | 47 +++++++++++++++++++++++++--------------- 0.6.x/js/dom/13_XDomBoxModel.js | 2 +- 0.6.x/js/main.js | 15 ++++++++----- 0.6.x/js/ui/00_XUI.js | 6 +++-- 0.6.x/js/ui/02_XUI_Attr.js | 2 +- 0.6.x/js/ui/05_XUI_Gesture.js | 42 ++++++++++++++++------------------- 0.6.x/js/ui/06_AbstractUINode.js | 30 +++++++++++++------------ 0.6.x/js/ui/08_Box.js | 19 ++++++++-------- 0.6.x/js/ui/11_VBox.js | 2 +- 0.6.x/js/ui/12_HBox.js | 2 +- 0.6.x/js/ui/13_TileBox.js | 2 +- 0.6.x/js/ui/15_ScrollBox.js | 2 -- 0.6.x/js/ui/17_Text.js | 9 ++------ 0.6.x/js/ui/20_PageRoot.js | 16 +++++++------- 14 files changed, 104 insertions(+), 92 deletions(-) diff --git a/0.6.x/js/core/01_XUa.js b/0.6.x/js/core/01_XUa.js index 0260437..ff34297 100644 --- a/0.6.x/js/core/01_XUa.js +++ b/0.6.x/js/core/01_XUa.js @@ -27,13 +27,14 @@ X.UA = (function( n, undefined ){ acme.OperaMini = 0 < dua.indexOf("Opera Mini"); acme.OperaMobile = 0 < dua.indexOf("Opera Mobi"); acme.OperaTablet = 0 < dua.indexOf("Opera Tablet"); - // TODO NDS + acme.Wii = dua.indexOf( 'Nintendo Wii' ) !== -1; + acme.NDS = dua.indexOf( 'Nitro' ) !== -1; console.log( '>> Opera : ' + acme.Opera ); return acme; }; // Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko - if( document.all ){ + if( document.all || dav.indexOf( 'Trident/' ) !== -1 ){ acme.ActiveX = !!window[ 'ActiveXObject' ]; acme.IE = document.documentMode || parseFloat(dua.split("MSIE ")[1]) || parseFloat(dua.split("rv:")[1]) || parseFloat(dav.split("MSIE ")[1]) || 0; acme.IE4 = acme.IE && acme.IE < 5; @@ -42,6 +43,7 @@ X.UA = (function( n, undefined ){ acme.IEMobile = dua.toLowerCase().indexOf( 'iemobile' ) !== -1 || n.platform === 'WinCE'; acme.WinPhone = dua.toLowerCase().indexOf( 'windows phone' ) !== -1; console.log( '>> IE : ' + acme.IE + ' ActiveX : ' + acme.ActiveX ); + // TODO XBox360, XBox1 return acme; }; @@ -85,25 +87,30 @@ X.UA = (function( n, undefined ){ //Fennec if( ( i = dua.indexOf( 'Fennec/' ) ) !== -1 ){ acme.Fennec = parseFloat( dua.substr( i + 7 ) ); + console.log( '>> Fennec : ' + acme.Fennec + ', Gecko : ' + acme.Gecko ); + return acme; }; //Firefox //Netscape //Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3 - if( ( i = dua.indexOf( 'Netscape6/' ) ) !== -1 && ( v = parseFloat( dua.substr( i + 10 ) ) ) ){ - acme.NN = v; + if( ( i = dua.indexOf( 'Netscape6/' ) ) !== -1 ){ + acme.NN = parseFloat( dua.substr( i + 10 ) ) || 6; acme.NN6 = true; + console.log( '>> NN : ' + acme.NN + ', Gecko : ' + acme.Gecko ); return acme; } else //Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) //Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20070321 Netscape/8.1.3 - if( ( i = dua.indexOf( 'Netscape/' ) ) !== -1 && ( v = parseFloat( dua.substr( i + 9 ) ) ) ){ - acme.NN = v; + if( ( i = dua.indexOf( 'Netscape/' ) ) !== -1 ){ + acme.NN = parseFloat( dua.substr( i + 9 ) ) || 7; + console.log( '>> NN : ' + acme.NN + ', Gecko : ' + acme.Gecko ); return acme; } else //Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6 - if( ( i = dua.indexOf( 'Navigator/' ) ) !== -1 && ( v = parseFloat( dua.substr( i + 10 ) ) ) ){ - acme.NN = v; + if( ( i = dua.indexOf( 'Navigator/' ) ) !== -1 ){ + acme.NN = parseFloat( dua.substr( i + 10 ) ) || 9; + console.log( '>> NN : ' + acme.NN + ', Gecko : ' + acme.Gecko ); return acme; }; @@ -155,13 +162,19 @@ X.UA = (function( n, undefined ){ }; }; - acme.Android = dua.toLowerCase().indexOf( 'android' ) !== -1; - - acme.iOS = dua.toLowerCase().indexOf( 'iphone' ) !== -1 || - dua.toLowerCase().indexOf( 'ipad' ) !== -1 || - dua.toLowerCase().indexOf( 'ipod' ) !== -1; - - acme.TouchPad = dua.toLowerCase().indexOf( 'hp-tablet' ) !== -1; // webOS + // Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111216 Firefox/9.0 Fennec/9.0 + if( ( i = dua.toLowerCase().indexOf( 'android' ) ) !== -1 ){ + acme.Android = parseFloat( ua.substr( i + 8 ) ) || 1.5; + console.log( '>> Android : ' + acme.Android ); + } else + if( dua.indexOf( 'iPhone;' ) !== -1 || dua.indexOf( 'iPad;' ) !== -1 || dua.indexOf( 'iPod;' ) !== -1 ){ + acme.iOS = parseFloat( dua.split( 'OS ' )[ 1 ].split( '_' ).join( '' ) ) || 1; + console.log( '>> iOS : ' + acme.iOS ); + } else + if( dua.indexOf( 'hp-tablet' ) !== -1 || dua.indexOf( 'webOS' ) !== -1 ){ + // http://user-agent-string.info/list-of-ua/os-detail?os=webOS + acme.webOS = true; // webOS + }; //http://www.useragentstring.com/pages/Iris/ acme.Iris = dua.toLowerCase().indexOf( 'iris' ) !== -1; @@ -191,12 +204,12 @@ if( X.UA.Safari && X.UA.WebKit < 525.13 ){ }; };*/ -if( X.UA.IE && X.UA.IE < 7 ){ // error @ NN7.2 +if( X.UA.IE < 7 ){ // error @ NN7.2 // bonus: hotfix for IE6 SP1 (bug KB823727) document.execCommand && document.execCommand( 'BackgroundImageCache', false, true ); }; -X.inObject = X.UA.IE && X.UA.IE < 5.5 ? // TODO JScript で判定 +X.inObject = X.UA.IE < 5.5 ? // TODO JScript で判定 (function( name, obj ){ var p; if( obj[ name ] ) return true; diff --git a/0.6.x/js/dom/13_XDomBoxModel.js b/0.6.x/js/dom/13_XDomBoxModel.js index 2fc367a..da7df74 100644 --- a/0.6.x/js/dom/13_XDomBoxModel.js +++ b/0.6.x/js/dom/13_XDomBoxModel.js @@ -38,7 +38,7 @@ X.Dom.listenOnce( X.Dom.Event.DOM_INIT, function(){ X.Dom.BoxModel.vScrollbarSize = w; X.Dom.BoxModel.hScrollbarSize = h; - if( h < 0 ){ + if( h <= 0 ){ // ie6, ie11, firefox で 負の値が返る console.log( 'invalid hScrollbarSize: ' + h ); X.Dom.BoxModel.hScrollbarSize = w; }; diff --git a/0.6.x/js/main.js b/0.6.x/js/main.js index aa91895..ae31769 100644 --- a/0.6.x/js/main.js +++ b/0.6.x/js/main.js @@ -1,4 +1,4 @@ -PageRoot( +root = PageRoot( Box({ width : '10%', height : '10%', @@ -23,19 +23,24 @@ PageRoot( borderColor : 0x111111, borderWidth : [ 0, 0, 0, 0 ], borderStyle : 'solid dotted', - padding : [ 2, 1.5 ], + padding : [ 4, 1 ], sizing : 'border' }, Box({ width : '50%', height : 2, - left : '30%', + left : '25%', bgColor : 0x999999 }), Text( 'Hello, world!', { width : '100%' } ), Text( '----------------------------', { width : '100%' } ), - txt = Text( 'PettanR-team. rrrrrrrrrr', { width : '100%' } ) + text = Text( 'PettanR-team. rrrrrrrrrr', { width : '100%' } ) + .listen( X.UI.Event.TAP, _onClick ) ) ); +_root = X.Class._getPrivate( root ); +_text = X.Class._getPrivate( text ); -_text = X.Class._getPrivate( txt ); +function _onClick( e ){ + alert( e.type ); +}; diff --git a/0.6.x/js/ui/00_XUI.js b/0.6.x/js/ui/00_XUI.js index 676ec7c..12e614f 100644 --- a/0.6.x/js/ui/00_XUI.js +++ b/0.6.x/js/ui/00_XUI.js @@ -2,12 +2,14 @@ * init_only, * always, * - * uinode によって指定可能な css は異なる + * uinode によって指定可能な attr は異なる * + 直接 xnode.css() に渡す値 * + uinode 内で加工してから xnode.css() に渡す値 * ChromeBox での css3 の fallback - * + layoutManager で使う値がある + * + layoutManager で使う値 * x, y, gap, childW, childH など + * + uinode で使う値 + * mouseDisabled など */ X.UI = { diff --git a/0.6.x/js/ui/02_XUI_Attr.js b/0.6.x/js/ui/02_XUI_Attr.js index 5d9dd5e..788a3f4 100644 --- a/0.6.x/js/ui/02_XUI_Attr.js +++ b/0.6.x/js/ui/02_XUI_Attr.js @@ -32,7 +32,7 @@ X.UI.Attr = { ALIGN : X.UI.Util.createChecker( 'left,center,right,justify' ), TEXT_DECORATION : X.UI.Util.createChecker( 'none,underline,overline,line-through,blink' ), TEXT_TRANSFORM : X.UI.Util.createChecker( 'none,capitalize,lowercase,uppercase' ), - BOX_SIZING : X.UI.Util.createChecker( 'content,padding,border' ), // ,margin-box + BOX_SIZING : X.UI.Util.createChecker( 'content,padding,border' ), CURSOR : X.UI.Util.createChecker( 'pointer,wait' ) }, diff --git a/0.6.x/js/ui/05_XUI_Gesture.js b/0.6.x/js/ui/05_XUI_Gesture.js index 1c7dc77..58f8432 100644 --- a/0.6.x/js/ui/05_XUI_Gesture.js +++ b/0.6.x/js/ui/05_XUI_Gesture.js @@ -36,7 +36,7 @@ gestures = Detection.gestures, numTouches = 0,// count the total touches on the screen pointerType, i, l, touches, ret, active, gesture, startEv, - deltaTime, deltaX, deltaY, velocity; + hammer, deltaTime, deltaX, deltaY, velocity; if( !type ) return; @@ -44,13 +44,13 @@ type |= POINTER; switch( e.pointerType ){ case 'touch' : - case e.MSPOINTER_TYPE_TOUCH : + case 2 : //e.MSPOINTER_TYPE_TOUCH : type |= TOUCH; break; case 'pen' : - case e.MSPOINTER_TYPE_PEN : + case 3 : //e.MSPOINTER_TYPE_PEN : type |= PEN; break; case 'mouse' : - case e.MSPOINTER_TYPE_MOUSE : + case 4 : //e.MSPOINTER_TYPE_MOUSE : type |= MOUSE; break; default : return; @@ -109,7 +109,6 @@ target : e.target }]; }; - // if we are in a end event, but when we remove one touch and // we still have enough, set eventType to move if( 0 < numTouches && type & END ){ // eventType === Hammer.EVENT_END ){ @@ -322,10 +321,7 @@ /* * "Android version < 2.2" return ev.touches.length === 1 when touchend, others return ev.touches.length === 0 */ - Hammer.DO_TOUCHES_FIX = Hammer.HAS_TOUCHEVENTS && ( function( ua, i ){ - if( ( i = ua.indexOf('android') ) === -1 ) return false; - return ( parseFloat( ua.substr( i + 8 ) ) || 0 ) < 2.2; - })( navigator.userAgent.toLowerCase() ); + Hammer.DO_TOUCHES_FIX = Hammer.HAS_TOUCHEVENTS && X.UA.Android < 2.2; // detect touchevents Hammer.HAS_POINTEREVENTS = navigator.pointerEnabled || navigator.msPointerEnabled; @@ -754,8 +750,8 @@ * @events hold holdend */ Gestures.Hold = { - name : 'hold', - index : 10, + name : 'hold', + index : 10, startID : X.UI.Event.HOLD, endID : X.UI.Event.HOLD_END, defaults : { @@ -831,7 +827,7 @@ // do a single tap if( hammer.options.tap_always ){ Detection.current.name = 'tap'; - return hammer.trigger( X.UI.Event.TAP, e ); + return hammer.trigger( X.UI.Event.TAP, e ); }; }; } @@ -843,14 +839,14 @@ * @events swipe, swipeleft, swiperight, swipeup, swipedown */ Gestures.Swipe = { - name : 'swipe', - index : 40, + name : 'swipe', + index : 40, startID : X.UI.Event.SWIP, endID : X.UI.Event.SWIP_DOWN, defaults : { // set 0 for unlimited, but this can conflict with transform swipe_max_touches : 1, - swipe_velocity : 0.7 + swipe_velocity : 0.7 }, handler : function swipeGesture(e, hammer) { if( e.eventType === END ){ @@ -885,8 +881,8 @@ * @events drag, dragstart, dragend, drapleft, dragright, dragup, dragdown */ Gestures.Drag = { - name : 'drag', - index : 50, + name : 'drag', + index : 50, startID : X.UI.Event.DRAG, endID : X.UI.Event.DRAG_DOWN, defaults : { @@ -987,8 +983,8 @@ * @events transform, transformstart, transformend, pinch, pinchin, pinchout, rotate */ Gestures.Transform = { - name : 'transform', - index : 45, + name : 'transform', + index : 45, startID : X.UI.Event.TRANSFORM, endID : X.UI.Event.ROTATE, defaults : { @@ -1067,8 +1063,8 @@ * @events touch */ Gestures.Touch = { - name : 'touch', - index : -Infinity, + name : 'touch', + index : -Infinity, defaults : { // call preventDefault at touchstart, and makes the element blocking by // disabling the scrolling of the page, but it improves gestures like @@ -1098,8 +1094,8 @@ * @events release */ Gestures.Release = { - name : 'release', - index : Infinity, + name : 'release', + index : Infinity, handler : function releaseGesture( e, hammer ){ e.eventType === END && hammer.trigger( this.name, e ); } diff --git a/0.6.x/js/ui/06_AbstractUINode.js b/0.6.x/js/ui/06_AbstractUINode.js index 20acbe1..73d9c4b 100644 --- a/0.6.x/js/ui/06_AbstractUINode.js +++ b/0.6.x/js/ui/06_AbstractUINode.js @@ -62,9 +62,6 @@ var _AbstractUINode = X.EventDispatcher.inherits( // :hover, :focus, :disabled initialize : function( root, rootData, parent, parentData ){ - var events = this.reserveEvents, - l, i; - this.root = root; this.rootData = rootData; this.parent = parent; @@ -73,15 +70,6 @@ var _AbstractUINode = X.EventDispatcher.inherits( this.phase = 1; this.dispatch( { type : X.UI.Event.INIT } ); - - // html 要素が親に追加されるまで控えていたイベントの登録 - if( events && ( l = events.length ) ){ - for( i = 0; i < l; ++i ){ - this.listen.apply( this, events[ i ] ); - }; - events.length = 0; - delete this.reserveEvents; - }; }, addToParent : function( parentElement ){ @@ -92,8 +80,20 @@ var _AbstractUINode = X.EventDispatcher.inherits( }, creationComplete : function(){ + var events = this.reserveEvents, + l, i; + this.phase = 3; this.User.dispatch( { type : X.UI.Event.CREATION_COMPLETE } ); + + // html 要素が親に追加されるまで控えていたイベントの登録 + if( events && ( l = events.length ) ){ + for( i = 0; i < l; ++i ){ + this.listen.apply( this, events[ i ] ); + }; + events.length = 0; + delete this.reserveEvents; + }; }, /* @@ -415,8 +415,8 @@ var _AbstractUINode = X.EventDispatcher.inherits( * X.Dom.BoxModel の情報を引きながら top,left,width,height,padding,border の設定 */ updateLayout : function( x, y ){ - x += this.boxX; - y += this.boxY; + this.boxX = x; + this.boxY = y; this.xnode .css( 'left', x ? x + 'em' : 0 ) .css( 'top', y ? y + 'em' : 0 ) @@ -745,6 +745,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( y -= this.boxY; if( 0 <= x && x < this.boxWidth && 0 <= y && y < this.boxHeight ){ + !this.hovering && ( this.rootData.hoverList[ this.rootData.hoverList.length ] = this ); this.rootData.targetNodeData = this; return true; @@ -767,6 +768,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( this.gesture.listen( type ); }; } else { + console.log( type ) root = this.rootData; counter = root.eventCounter; if( counter[ type ] ){ diff --git a/0.6.x/js/ui/08_Box.js b/0.6.x/js/ui/08_Box.js index 3ccf225..cdd5433 100644 --- a/0.6.x/js/ui/08_Box.js +++ b/0.6.x/js/ui/08_Box.js @@ -42,7 +42,7 @@ X.UI.Layout.Canvas = X.UI.Layout.create( { }; data.postMesure(); - data.updateLayout( x, y ); + data.updateLayout( x + data.boxX, y + data.boxY ); } }); @@ -59,6 +59,9 @@ var _Box = _AbstractUINode.inherits( pointerChildren : true, through : false, + scrollingX : 0, + scrollingY : 0, + Constructor : function( layout, args ){ var i = 0, l = args.length, @@ -150,8 +153,7 @@ var _Box = _AbstractUINode.inherits( }; }; - this.phase = 3; - this.User.dispatch( { type : X.UI.Event.CREATION_COMPLETE } ); + _AbstractUINode.prototype.creationComplete.apply( this, arguments ); }, calculate : function( isNeedsDetection, x, y, w, h ){ @@ -170,9 +172,9 @@ var _Box = _AbstractUINode.inherits( _y = y - this.scrollingY; for( ; i; ){ child = uinodes[ --i ]; - if( !child.pointerDisabled && child.boxX <= _x && _x < child.boxX + child.boxWidth && child.boxY <= _y && _y < child.boxY + child.boxHeight ){ - !child.hovering && ( child.rootData.hoverList[ child.rootData.hoverList.length ] = child ); - this.hitChildData = child.rootData.targetNodeData = child; + if( !child.pointerDisabled && child.boxX <= _x && _x < child.boxX + child.boxWidth && child.boxY <= _y && _y < child.boxY + child.boxHeight && child.capcher( _x, _y ) ){ + //console.log( 'hit child ' + _x + ' ' + _y + ' boxX:' + child.boxX + ' boxY:' + child.boxY ); + this.hitChildData = child; break; }; }; @@ -181,7 +183,7 @@ var _Box = _AbstractUINode.inherits( this.hitChildData && !this.hovering && ( this.rootData.hoverList[ this.rootData.hoverList.length ] = this ); return !!this.hitChildData; }; - hit = 0 <= x && x < this.w && 0 <= y && y < this.h; + hit = 0 <= x && x < this.boxWidth && 0 <= y && y < this.boxHeight; ( this.hitChildData || hit ) && !this.hovering && ( this.rootData.hoverList[ this.rootData.hoverList.length ] = this ); if( hit && this.hitChildData === null ) this.rootData.targetNodeData = this; return hit || !!this.hitChildData; @@ -213,8 +215,7 @@ var _Box = _AbstractUINode.inherits( _p2 && data.addToParent( this.xnode ); uinodes[ uinodes.length ] = data; }; - //p3 && data.phase < 3 && data.afterAddition(); - p3 && data.phase < 4 && data.creationComplete(); + p3 && data.phase < 3 && data.creationComplete(); }; 4 <= this.phase && this.rootData.reserveCalc(); }, diff --git a/0.6.x/js/ui/11_VBox.js b/0.6.x/js/ui/11_VBox.js index de9006f..8a7fd98 100644 --- a/0.6.x/js/ui/11_VBox.js +++ b/0.6.x/js/ui/11_VBox.js @@ -66,7 +66,7 @@ X.UI.Layout.Vertical = X.UI.Layout.create( { //data.postMesure(); }; - !isNeedsDetection && data.updateLayout( x, y ); + !isNeedsDetection && data.updateLayout( x + data.boxX, y + data.boxY ); } }); diff --git a/0.6.x/js/ui/12_HBox.js b/0.6.x/js/ui/12_HBox.js index fa9dbd2..0ce6781 100644 --- a/0.6.x/js/ui/12_HBox.js +++ b/0.6.x/js/ui/12_HBox.js @@ -64,7 +64,7 @@ X.UI.Layout.Horizontal = X.UI.Layout.create( { //data.postMesure(); }; - !isNeedsDetection && data.updateLayout( x, y ); + !isNeedsDetection && data.updateLayout( x + data.boxX, y + data.boxY ); } }); diff --git a/0.6.x/js/ui/13_TileBox.js b/0.6.x/js/ui/13_TileBox.js index 0283fe9..8ff5499 100644 --- a/0.6.x/js/ui/13_TileBox.js +++ b/0.6.x/js/ui/13_TileBox.js @@ -69,7 +69,7 @@ X.UI.Layout.Tile = X.UI.Layout.create( { }; data.postMesure(); - data.updateLayout( x, y ); + data.updateLayout( x + data.boxX, y + data.boxY ); } }); diff --git a/0.6.x/js/ui/15_ScrollBox.js b/0.6.x/js/ui/15_ScrollBox.js index 2538fa2..1b9fb48 100644 --- a/0.6.x/js/ui/15_ScrollBox.js +++ b/0.6.x/js/ui/15_ScrollBox.js @@ -917,8 +917,6 @@ _ScrollBox = _ChromeBox.inherits( _scrollY : 0, scrollXPercent : 0, scrollYPercent : 0, - scrollingX : 0, - scrollingY : 0, _containerNode : null, scrollManager : null, diff --git a/0.6.x/js/ui/17_Text.js b/0.6.x/js/ui/17_Text.js index bc02512..58c6a02 100644 --- a/0.6.x/js/ui/17_Text.js +++ b/0.6.x/js/ui/17_Text.js @@ -10,16 +10,11 @@ var _Text = _AbstractUINode.inherits( }; this.xnode = X.Dom.Node.create( 'div' ); - if( X.Type.isString( content ) ){ + if( X.Type.isString( content ) && content ){ this.content = content; + this.xnode.text( this.content ); this.dirty = X.UI.Dirty.CONTENT; }; - }, - creationComplete : function(){ - this.content && this.xnode.text( this.content ); - - this.phase = 3; - this.dispatch( { type : X.UI.Event.CREATION_COMPLETE } ); } } ); diff --git a/0.6.x/js/ui/20_PageRoot.js b/0.6.x/js/ui/20_PageRoot.js index 90b799e..d9167ad 100644 --- a/0.6.x/js/ui/20_PageRoot.js +++ b/0.6.x/js/ui/20_PageRoot.js @@ -1,16 +1,16 @@ function eventRellay( e ){ - var x = e.clientX, - y = e.clientY, + var x = e.clientX / X.Dom.baseFontSize, + y = e.clientY / X.Dom.baseFontSize, type = X.UI.Event.NameToID[ e.type ], i = 0, data = X.UI.currentRootData, sysOnly = false, ret = X.Callback.NONE, list, parent, _ret; - if( type !== X.UI.Event._POINTER_MOVE && type !== X.UI.Event._MOUSE_MOVE ){ - //console.log( type + ' x:' + x + ', y:' + y ) - }; + //if( type !== '' + X.UI.Event._POINTER_MOVE && type !== '' + X.UI.Event._TOUCH_MOVE && type !== '' + X.UI.Event._MOUSE_MOVE ){ + //console.log( e.type + ' ' + type + ' x:' + x + ', y:' + y ); + //}; e.type = type; @@ -19,10 +19,11 @@ function eventRellay( e ){ if( X.UI.currentRootData === null ) return ret; list = X.UI.currentRootData.hoverList; - data = X.UI.currentRootData.targetNodeData = X.UI.currentRootData; - data.capcher( x, y ); + ( X.UI.currentRootData.targetNodeData = X.UI.currentRootData ).capcher( x, y ); data = X.UI.currentRootData.targetNodeData; + //data !== X.UI.currentRootData && console.log( data.xnode.text() ); + while( data ){ _ret = data.dispatch( e, sysOnly ); ret |= _ret; @@ -123,7 +124,6 @@ var _PageRoot = _Box.inherits( X.Timer.once( 0, this, this.afterAddToView ); }, afterAddToView : function(){ - //this.afterAddition(); this.xnode.className( 'PageRoot' ); this.creationComplete(); -- 2.11.0