corrade-nucleus-nucleons – Blame information for rev 20

Subversion Repositories:
Rev:
Rev Author Line No. Line
20 office 1 define( [
2 "./core",
3 "./var/indexOf",
4 "./traversing/var/dir",
5 "./traversing/var/siblings",
6 "./traversing/var/rneedsContext",
7 "./core/nodeName",
8  
9 "./core/init",
10 "./traversing/findFilter",
11 "./selector"
12 ], function( jQuery, indexOf, dir, siblings, rneedsContext, nodeName ) {
13  
14 "use strict";
15  
16 var rparentsprev = /^(?:parents|prev(?:Until|All))/,
17  
18 // Methods guaranteed to produce a unique set when starting from a unique set
19 guaranteedUnique = {
20 children: true,
21 contents: true,
22 next: true,
23 prev: true
24 };
25  
26 jQuery.fn.extend( {
27 has: function( target ) {
28 var targets = jQuery( target, this ),
29 l = targets.length;
30  
31 return this.filter( function() {
32 var i = 0;
33 for ( ; i < l; i++ ) {
34 if ( jQuery.contains( this, targets[ i ] ) ) {
35 return true;
36 }
37 }
38 } );
39 },
40  
41 closest: function( selectors, context ) {
42 var cur,
43 i = 0,
44 l = this.length,
45 matched = [],
46 targets = typeof selectors !== "string" && jQuery( selectors );
47  
48 // Positional selectors never match, since there's no _selection_ context
49 if ( !rneedsContext.test( selectors ) ) {
50 for ( ; i < l; i++ ) {
51 for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
52  
53 // Always skip document fragments
54 if ( cur.nodeType < 11 && ( targets ?
55 targets.index( cur ) > -1 :
56  
57 // Don't pass non-elements to Sizzle
58 cur.nodeType === 1 &&
59 jQuery.find.matchesSelector( cur, selectors ) ) ) {
60  
61 matched.push( cur );
62 break;
63 }
64 }
65 }
66 }
67  
68 return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
69 },
70  
71 // Determine the position of an element within the set
72 index: function( elem ) {
73  
74 // No argument, return index in parent
75 if ( !elem ) {
76 return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
77 }
78  
79 // Index in selector
80 if ( typeof elem === "string" ) {
81 return indexOf.call( jQuery( elem ), this[ 0 ] );
82 }
83  
84 // Locate the position of the desired element
85 return indexOf.call( this,
86  
87 // If it receives a jQuery object, the first element is used
88 elem.jquery ? elem[ 0 ] : elem
89 );
90 },
91  
92 add: function( selector, context ) {
93 return this.pushStack(
94 jQuery.uniqueSort(
95 jQuery.merge( this.get(), jQuery( selector, context ) )
96 )
97 );
98 },
99  
100 addBack: function( selector ) {
101 return this.add( selector == null ?
102 this.prevObject : this.prevObject.filter( selector )
103 );
104 }
105 } );
106  
107 function sibling( cur, dir ) {
108 while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
109 return cur;
110 }
111  
112 jQuery.each( {
113 parent: function( elem ) {
114 var parent = elem.parentNode;
115 return parent && parent.nodeType !== 11 ? parent : null;
116 },
117 parents: function( elem ) {
118 return dir( elem, "parentNode" );
119 },
120 parentsUntil: function( elem, i, until ) {
121 return dir( elem, "parentNode", until );
122 },
123 next: function( elem ) {
124 return sibling( elem, "nextSibling" );
125 },
126 prev: function( elem ) {
127 return sibling( elem, "previousSibling" );
128 },
129 nextAll: function( elem ) {
130 return dir( elem, "nextSibling" );
131 },
132 prevAll: function( elem ) {
133 return dir( elem, "previousSibling" );
134 },
135 nextUntil: function( elem, i, until ) {
136 return dir( elem, "nextSibling", until );
137 },
138 prevUntil: function( elem, i, until ) {
139 return dir( elem, "previousSibling", until );
140 },
141 siblings: function( elem ) {
142 return siblings( ( elem.parentNode || {} ).firstChild, elem );
143 },
144 children: function( elem ) {
145 return siblings( elem.firstChild );
146 },
147 contents: function( elem ) {
148 if ( nodeName( elem, "iframe" ) ) {
149 return elem.contentDocument;
150 }
151  
152 // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
153 // Treat the template element as a regular one in browsers that
154 // don't support it.
155 if ( nodeName( elem, "template" ) ) {
156 elem = elem.content || elem;
157 }
158  
159 return jQuery.merge( [], elem.childNodes );
160 }
161 }, function( name, fn ) {
162 jQuery.fn[ name ] = function( until, selector ) {
163 var matched = jQuery.map( this, fn, until );
164  
165 if ( name.slice( -5 ) !== "Until" ) {
166 selector = until;
167 }
168  
169 if ( selector && typeof selector === "string" ) {
170 matched = jQuery.filter( selector, matched );
171 }
172  
173 if ( this.length > 1 ) {
174  
175 // Remove duplicates
176 if ( !guaranteedUnique[ name ] ) {
177 jQuery.uniqueSort( matched );
178 }
179  
180 // Reverse order for parents* and prev-derivatives
181 if ( rparentsprev.test( name ) ) {
182 matched.reverse();
183 }
184 }
185  
186 return this.pushStack( matched );
187 };
188 } );
189  
190 return jQuery;
191 } );