1// Name: ComponentSet.debug.js 2// Assembly: AjaxControlToolkit 3// Version: 18.1.0.0 4// FileVersion: 18.1.0.0 5Sys.ComponentSet = function ComponentSet(elementSet, query, index) { 6 this._elementSet = elementSet || (elementSet = new Sys.ElementSet()); 7 this._components = this._execute(elementSet, query, index); 8} 9 10Sys.ComponentSet.prototype = { 11 __class: true, 12 setProperties: function ComponentSet$setProperties(properties) { 13 // Sets properties on the matched components. 14 // "properties" - object with the names and values of the properties to set. 15 return this.each(function() { 16 Sys._set(this, properties); 17 }); 18 }, 19 20 get: function ComponentSet$get(index) { 21 // Returns the component at the specified index, or an array of all matches if not specified. 22 var components = this._components; 23 24 return (typeof (index) === "undefined") ? (Array.apply(null, components)) : (components[index || 0] || null); 25 }, 26 27 each: function ComponentSet$each(callback) { 28 // Enumerate all the found components. The index of the component are passed as parameters to a callback. You may return 'false' to cancel the enumeration. 29 // "callback" - function called for each component. 30 foreach(this._components, function(c, i) { 31 if(callback.call(c, i) === false) 32 return true; 33 }); 34 35 return this; 36 }, 37 38 elements: function ComponentSet$elements() { 39 // Returns the underlying set of elements this component collection came from. 40 return this._elementSet; 41 }, 42 43 _execute: function ComponentSet$_execute(elementSet, query, index) { 44 var components = []; 45 function match(c) { 46 var ctor; 47 return (c instanceof query) || 48 ((ctor = c.constructor) && ( 49 (ctor === query) || 50 (ctor.inheritsFrom && ctor.inheritsFrom(query)) || 51 (ctor.implementsInterface && ctor.implementsInterface(query)))); 52 } 53 54 if(query instanceof Array) 55 components.push.apply(components, query); 56 else 57 // query is a type or not set 58 elementSet.each(function() { 59 var c = this.control; 60 61 if(c && (!query || match(c))) 62 components.push(c); 63 64 foreach(this._behaviors, function(b) { 65 if(!query || match(b)) 66 components.push(b); 67 }); 68 }); 69 70 if((typeof (index) !== "undefined")) { 71 if(components[index]) 72 components = [components[index]]; 73 else 74 components = []; 75 } 76 77 return components; 78 } 79}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.