OSDN Git Service

Version 0.6.134, add comments for closure compiler.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 08_XNodeSelector.js
index 0fd78c9..e7eded4 100644 (file)
@@ -228,7 +228,7 @@ function X_Node_Selector__parse( query, last ){
 };\r
 \r
        // セレクター\r
-       X.Doc.find = X_shortcutFunction = Node.prototype.find = X_NodeList.prototype.find = function ( queryString ){\r
+       X[ 'Doc' ][ 'find' ] = X_shortcutFunction = Node.prototype[ 'find' ] = X_NodeList.prototype[ 'find' ] = function ( queryString ){\r
                var HTML      = X_Node_html,\r
                        scope     = this.constructor === X_NodeList && this.length ? this : [ this.constructor === Node ? this : X_Node_body ],\r
                        parents   = scope, // 探索元の親要素 XNodeList の場合あり\r
@@ -250,8 +250,8 @@ function X_Node_Selector__parse( query, last ){
             links, className, attr, flag;\r
 \r
                /*@+debug[*/\r
-               if( X_ViewPort_readyState < X_Event.XDOM_READY ){\r
-                       alert( 'not ready! use X.ViewPort.listenOnce( X_Event.XDOM_READY, callback )' );\r
+               if( X_ViewPort_readyState < X_EVENT_XDOM_READY ){\r
+                       alert( 'not ready! use X.ViewPort.listenOnce( X_EVENT_XDOM_READY, callback )' );\r
                        return;\r
                };\r
                /*]@+debug*/\r
@@ -319,17 +319,17 @@ function X_Node_Selector__parse( query, last ){
                                // > TagName|*\r
                                case 2 :\r
                                        for( ; i < l; ++i ){\r
-                                               for( xnode = parents[ i ].firstChild(); xnode; xnode = xnode.next() ){\r
-                                                       if( xnode._tag && ( isAll || tagName === xnode._tag ) ) xnodes[ ++n ] = xnode;\r
+                                               for( xnode = parents[ i ][ 'firstChild' ](); xnode; xnode = xnode[ 'next' ]() ){\r
+                                                       if( xnode[ '_tag' ] && ( isAll || tagName === xnode[ '_tag' ] ) ) xnodes[ ++n ] = xnode;\r
                                                };                              \r
                                        };\r
                                        break;\r
                                // + TagName|*\r
                                case 3 :\r
                                        for( ; i < l; ++i ){\r
-                                               for( xnode = parents[ i ].next(); xnode; xnode = xnode.next() ){\r
-                                                       if( xnode._tag ){\r
-                                                               if( isAll || tagName === xnode._tag ) xnodes[ ++n ] = xnode;\r
+                                               for( xnode = parents[ i ][ 'next' ](); xnode; xnode = xnode[ 'next' ]() ){\r
+                                                       if( xnode[ '_tag' ] ){\r
+                                                               if( isAll || tagName === xnode[ '_tag' ] ) xnodes[ ++n ] = xnode;\r
                                                                break;\r
                                                        };                                                                      \r
                                                };                                                              \r
@@ -339,9 +339,9 @@ function X_Node_Selector__parse( query, last ){
                                case 4 :\r
                                        merge  = {};\r
                                        for( ; i < l; ++i ){\r
-                                               for( xnode = parents[ i ].next(); xnode; xnode = xnode.next() ){\r
-                                                       if( xnode._tag && ( isAll || tagName === xnode._tag ) ){\r
-                                                               uid = xnode._uid;\r
+                                               for( xnode = parents[ i ][ 'next' ](); xnode; xnode = xnode[ 'next' ]() ){\r
+                                                       if( xnode[ '_tag' ] && ( isAll || tagName === xnode[ '_tag' ] ) ){\r
+                                                               uid = xnode[ '_uid' ];\r
                                                                if( merge[ uid ] ){\r
                                                                        break;\r
                                                                } else {\r
@@ -360,7 +360,7 @@ function X_Node_Selector__parse( query, last ){
                                                //console.log( l + ' > ' + xnodes.length + ' tag:' + tagName );\r
                                                for( ; i < l; ++i ){\r
                                                        xnode = parents[ i ];\r
-                                                       xnode._xnodes && xnode._xnodes.length && X_Node_Selector__fetchElements( xnodes, xnode, isAll ? null : tagName );\r
+                                                       xnode[ '_xnodes' ] && xnode[ '_xnodes' ].length && X_Node_Selector__fetchElements( xnodes, xnode, isAll ? null : tagName );\r
                                                };\r
                                                //console.log( l + ' >> ' + xnodes.length + ' tag:' + tagName );\r
                                        };\r
@@ -441,7 +441,7 @@ function X_Node_Selector__parse( query, last ){
                                        if( !isXML && key === 'class' && op === 3 ){\r
                                                val = _ + val + _;\r
                                                for( i = 0, n = -1; xnode = xnodes[ i ]; ++i ){\r
-                                                       className = xnode._className;\r
+                                                       className = xnode[ '_className' ];\r
                                                        if( !!( className && ( _ + className + _ ).indexOf( val ) > -1 ) ^ isNot ) tmp[ ++n ] = xnode;\r
                                                };\r
                                        } else {\r
@@ -457,9 +457,9 @@ function X_Node_Selector__parse( query, last ){
                                                for( i = 0, n = -1, l = xnodes.length; i < l; ++i ){\r
                                                        xnode = xnodes[ i ];\r
                                                        attr =\r
-                                                               key === 'id' ? xnode._id :\r
-                                                               key === 'class' ? xnode._className :\r
-                                                               xnode._attrs && xnode._attrs[ key ];\r
+                                                               key === 'id' ? xnode[ '_id' ] :\r
+                                                               key === 'class' ? xnode[ '_className' ] :\r
+                                                               xnode[ '_attrs' ] && xnode[ '_attrs' ][ key ];\r
                                                                //flag_call ?\r
                                                                //      funcAttr( elem, key ) :\r
                                                                //useName ?\r
@@ -518,12 +518,12 @@ function X_Node_Selector__parse( query, last ){
                        for( i = 0, n = -1; i < l; ++i ){\r
                                //alert( 'multi:' + i )\r
                                xnode = ret[ i ];\r
-                               if( !merge[ uid = xnode._uid ] ){\r
+                               if( !merge[ uid = xnode[ '_uid' ] ] ){\r
                                        merge[ uid ] = true;\r
                                        xnodes[ ++n ] = xnode;\r
                                };\r
                        };\r
-                       X_Node_Selector__sortElementOrder( ret = [], xnodes, hasRoot ? [ HTML ] : HTML._xnodes );\r
+                       X_Node_Selector__sortElementOrder( ret = [], xnodes, hasRoot ? [ HTML ] : HTML[ '_xnodes' ] );\r
                        xnodes = ret;\r
                };\r
 \r
@@ -536,8 +536,8 @@ function X_Node_Selector__parse( query, last ){
                        j, child, _xnodes;\r
                for( ; i < l; ++i ){\r
                        child = xnodes[ i ];\r
-                       if( !child._tag ) continue;\r
-                       //console.log( child._tag );\r
+                       if( !child[ '_tag' ] ) continue;\r
+                       //console.log( child[ '_tag' ] );\r
                        if( ( j = list.indexOf( child ) ) !== -1 ){\r
                                newList[ newList.length ] = child;\r
                                list.splice( j, 1 );\r
@@ -548,23 +548,23 @@ function X_Node_Selector__parse( query, last ){
                                };\r
                                if( list.length === 0 ) return true;\r
                        };\r
-                       if( ( _xnodes = child._xnodes ) && X_Node_Selector__sortElementOrder( newList, list, _xnodes ) ){\r
+                       if( ( _xnodes = child[ '_xnodes' ] ) && X_Node_Selector__sortElementOrder( newList, list, _xnodes ) ){\r
                                return true;\r
                        };\r
                };\r
        };\r
        \r
        function X_Node_Selector__fetchElements( list, parent, tag ){\r
-               var xnodes = parent._xnodes,\r
+               var xnodes = parent[ '_xnodes' ],\r
                        l      = xnodes.length,\r
                        i      = 0,\r
                        child;\r
                for( ; i < l; ++i ){\r
                        child = xnodes[ i ];\r
-                       if( child._tag ){\r
-                               ( !tag || child._tag === tag ) && ( list[ list.length ] = child );\r
-                               //console.log( parent._tag + ' > ' + child._tag + ' == ' + tag+ ' l:' + list.length );\r
-                               child._xnodes && child._xnodes.length && X_Node_Selector__fetchElements( list, child, tag );\r
+                       if( child[ '_tag' ] ){\r
+                               ( !tag || child[ '_tag' ] === tag ) && ( list[ list.length ] = child );\r
+                               //console.log( parent[ '_tag' ] + ' > ' + child[ '_tag' ] + ' == ' + tag+ ' l:' + list.length );\r
+                               child[ '_xnodes' ] && child[ '_xnodes' ].length && X_Node_Selector__fetchElements( list, child, tag );\r
                        };\r
                };\r
        };\r
@@ -575,19 +575,19 @@ function X_Node_Selector__parse( query, last ){
                        i = 0, n = -1, xnode, node,\r
                        tagName, tmp;\r
                for( ; xnode = xnodes[ i ]; ++i ){\r
-                       tagName = flag_all || xnode._tag;\r
+                       tagName = flag_all || xnode[ '_tag' ];\r
                        tmp     = null;\r
                        if( /* tmp === null && */ type <= 0 ){\r
-                               for( node = xnode.prev(); node; node = node.prev() ){\r
-                                       if( node._tag && ( flag_all || tagName === node._tag ) ){\r
+                               for( node = xnode[ 'prev' ](); node; node = node[ 'prev' ]() ){\r
+                                       if( node[ '_tag' ] && ( flag_all || tagName === node[ '_tag' ] ) ){\r
                                                tmp = false;\r
                                                break;\r
                                        };\r
                                };\r
                        };\r
                        if( tmp === null && 0 <= type ){\r
-                               for( node = xnode.next(); node; node = node.next() ){\r
-                                       if( node._tag && ( flag_all || tagName === node._tag ) ){\r
+                               for( node = xnode[ 'next' ](); node; node = node[ 'next' ]() ){\r
+                                       if( node[ '_tag' ] && ( flag_all || tagName === node[ '_tag' ] ) ){\r
                                                tmp = false;\r
                                                break;\r
                                        };              \r
@@ -606,13 +606,13 @@ function X_Node_Selector__parse( query, last ){
                        i = 0, n = -1, uid,\r
                        c, xnode, tmp, node, tagName;\r
                for( ; xnode = xnodes[ i ]; ++i ){\r
-                       uid = xnode._uid;\r
+                       uid = xnode[ '_uid' ];\r
                        tmp = checked[ uid ];\r
                        if( tmp === void 0 ){\r
-                               for( c = 0, node = xnode.parent[ pointer ](), tagName = flag_all || xnode._tag; node; node = node[ sibling ]() ){\r
-                                       if( node._tag && ( flag_all || tagName === node._tag ) ){\r
+                               for( c = 0, node = xnode.parent[ pointer ](), tagName = flag_all || xnode[ '_tag' ]; node; node = node[ sibling ]() ){\r
+                                       if( node[ '_tag' ] && ( flag_all || tagName === node[ '_tag' ] ) ){\r
                                                ++c;\r
-                                               checked[ node._uid ] = a === 0 ? c === b : (c - b) % a === 0 && (c - b) / a >= 0;\r
+                                               checked[ node[ '_uid' ] ] = a === 0 ? c === b : (c - b) % a === 0 && (c - b) / a >= 0;\r
                                        };                                                      \r
                                };\r
                                tmp = checked[ uid ];\r
@@ -626,23 +626,23 @@ function X_Node_Selector__parse( query, last ){
                        flag_not = flag ? flags.not : !flags.not,\r
                        i = 0, n = -1, xnode;\r
                for( ; xnode = xnodes[ i ]; ++i ){\r
-                       if( xnode._attrs && xnode._attrs[ prop ] ^ flag_not ) res[ ++n ] = xnode;\r
+                       if( xnode[ '_attrs' ] && xnode[ '_attrs' ][ prop ] ^ flag_not ) res[ ++n ] = xnode;\r
                };\r
                return res;\r
        };\r
 \r
 var X_Node_Selector__filter = {\r
-       root : function( elem ){\r
+       'root' : function( elem ){\r
                return elem === ( elem.ownerDocument || elem.document ).documentElement;\r
        },\r
-       target : {\r
+       'target' : {\r
                m : function( flags, xnodes ){\r
                        var res  = [],\r
                                hash = location.hash.slice( 1 ),\r
                                flag_not = flags.not,\r
                                i = 0, n = -1, xnode;\r
                        for ( ; xnode = xnodes[ i ]; ++i ){\r
-                               if( ( ( xnode._id || xnode._attrs && xnode._attrs.name ) === hash ) ^ flag_not ) res[ ++n ] = xnode;                                            \r
+                               if( ( ( xnode[ '_id' ] || xnode[ '_attrs' ] && xnode[ '_attrs' ][ 'name' ] ) === hash ) ^ flag_not ) res[ ++n ] = xnode;                                                \r
                        };\r
                        return res;\r
                }\r
@@ -677,15 +677,15 @@ var X_Node_Selector__filter = {
        'nth-last-of-type' : {\r
                m : function( flags, xnodes, a, b ){ return X_Node_Selector__funcSelectorNth( 'lastChild', 'prev', false, flags, xnodes, a, b ); }\r
        },\r
-       empty : {\r
+       'empty' : {\r
                m : function( flags, xnodes ){\r
                        var res = [],\r
                                flag_not = flags.not,\r
                                i = 0, n = -1, xnode, tmp, node;\r
                        for( ; xnode = xnodes[i]; ++i ){\r
                                tmp = true;\r
-                               for( node = xnode.firstChild(); node; node = node.nextSibling() ){\r
-                                       if( node._tag || ( !node._tag && node._text ) ){\r
+                               for( node = xnode[ 'firstChild' ](); node; node = node.nextSibling() ){\r
+                                       if( node[ '_tag' ] || node[ '_text' ] ){\r
                                                tmp = false;\r
                                                break;\r
                                        };                              \r
@@ -695,25 +695,24 @@ var X_Node_Selector__filter = {
                        return res;\r
                }\r
        },\r
-       link : {\r
+       'link' : {\r
                m : function( flags, xnodes ){\r
-                       var links = ( xnodes[ 0 ].ownerDocument || xnodes[ 0 ].document ).links,\r
-                               _data = funcData,\r
+                       var links = document.links,\r
                                res   = [],\r
                                checked, flag_not, i, link, xnode, n;\r
                        if( !links ) return res;\r
                        checked = {};\r
                        flag_not = flags.not;\r
                        for( i = 0; link = links[ i ]; ++i ){\r
-                               checked[ ( new Node( link ) )._uid ] = true;\r
+                               checked[ ( new Node( link ) )[ '_uid' ] ] = true;\r
                        };\r
                        for( i = 0, n = -1; xnode = xnodes[ i ]; ++i ){\r
-                               if( checked[ xnode._uid ] ^ flag_not ) res[ ++n ] = xnode;\r
+                               if( checked[ xnode[ '_uid' ] ] ^ flag_not ) res[ ++n ] = xnode;\r
                        };\r
                        return res;\r
                }\r
        },\r
-       lang : {\r
+       'lang' : {\r
                m : function( flags, xnodes, arg ){\r
                        var res = [],\r
                                //reg = new RegExp('^' + arg, 'i'),\r
@@ -721,7 +720,7 @@ var X_Node_Selector__filter = {
                                i = 0, n = -1, xnode, tmp, lang;\r
                        arg = arg.toLowerCase();\r
                        for( ; tmp = xnode = xnodes[ i ]; ++i ){\r
-                               while( tmp && !( lang = tmp._attrs && tmp._attrs[ 'lang' ] ) ){\r
+                               while( tmp && !( lang = tmp[ '_attrs' ] && tmp[ '_attrs' ][ 'lang' ] ) ){\r
                                        tmp = tmp.parent;\r
                                };\r
                                //tmp = !!(tmp && reg.test(tmp.getAttribute('lang')));\r
@@ -730,22 +729,22 @@ var X_Node_Selector__filter = {
                        return res;\r
                }\r
        },\r
-       enabled : {\r
+       'enabled' : {\r
                m : function( flags, xnodes ){ return X_Node_Selector__funcSelectorProp( 'disabled', false, flags, xnodes ); }\r
        },\r
-       disabled : {\r
+       'disabled' : {\r
                m : function( flags, xnodes ){ return X_Node_Selector__funcSelectorProp( 'disabled', true, flags, xnodes ); }\r
        },\r
-       checked : {\r
+       'checked' : {\r
                m : function( flags, xnodes ){ return X_Node_Selector__funcSelectorProp( 'checked', true, flags, xnodes ); }\r
        },\r
-       contains : {\r
+       'contains' : {\r
                m : function( flags, xnodes, arg ){\r
                        var res = [],\r
                                flag_not = flags.not,\r
                                i = 0, n = -1, xnode;\r
                        for( ; xnode = xnodes[ i ]; ++i ){\r
-                               if ( ( -1 < ( xnode.text() ).indexOf( arg ) ) ^ flag_not ) res[ ++n ] = xnode;                                          \r
+                               if ( ( -1 < ( xnode[ 'text' ]() ).indexOf( arg ) ) ^ flag_not ) res[ ++n ] = xnode;                                             \r
                        };\r
                        return res;\r
                }\r