api-filter.js (1563B)
1 YUI.add('api-filter', function (Y) { 2 3 Y.APIFilter = Y.Base.create('apiFilter', Y.Base, [Y.AutoCompleteBase], { 4 // -- Initializer ---------------------------------------------------------- 5 initializer: function () { 6 this._bindUIACBase(); 7 this._syncUIACBase(); 8 }, 9 getDisplayName: function(name) { 10 11 Y.each(Y.YUIDoc.meta.allModules, function(i) { 12 if (i.name === name && i.displayName) { 13 name = i.displayName; 14 } 15 }); 16 17 if (this.get('queryType') === 'elements') { 18 name = '<' + name + '>'; 19 } 20 21 return name; 22 } 23 24 }, { 25 // -- Attributes ----------------------------------------------------------- 26 ATTRS: { 27 resultHighlighter: { 28 value: 'phraseMatch' 29 }, 30 31 // May be set to "classes", "elements" or "modules". 32 queryType: { 33 value: 'classes' 34 }, 35 36 source: { 37 valueFn: function() { 38 var self = this; 39 return function(q) { 40 var data = Y.YUIDoc.meta[self.get('queryType')], 41 out = []; 42 Y.each(data, function(v) { 43 if (v.toLowerCase().indexOf(q.toLowerCase()) > -1) { 44 out.push(v); 45 } 46 }); 47 return out; 48 }; 49 } 50 } 51 } 52 }); 53 54 }, '3.4.0', {requires: [ 55 'autocomplete-base', 'autocomplete-highlighters', 'autocomplete-sources' 56 ]});