nbot

A clone of the eBot by @deStrO fully based on node.js with build in Web Page - WIP
git clone git://archive.git.mtrnord.blog/MTRNord/nbot.git
Log | Files | Refs | README | LICENSE

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 ]});