Loading lib/jsduck/members.rb +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ module JsDuck :cls => cls.full_name, :member => cls.short_name, :type => :cls, :xtypes => cls[:xtypes] } end Loading template/app/controller/Search.js +18 −10 Original line number Diff line number Diff line Loading @@ -118,25 +118,33 @@ Ext.define('Docs.controller.Search', { }, filterMembers: function(text, n) { var results = [[], [], []]; var results = [[], [], [], [], []]; var xFull=0, nFull=1, xBeg=2, nBeg=3, nMid=4; var hasDot = /\./.test(text); var safeText = Ext.escapeRe(text); var re0 = new RegExp("^" + safeText + "$", "i"); var re1 = new RegExp("^" + safeText, "i"); var re2 = new RegExp(safeText, "i"); var reFull = new RegExp("^" + safeText + "$", "i"); var reBeg = new RegExp("^" + safeText, "i"); var reMid = new RegExp(safeText, "i"); Ext.Array.forEach(Docs.membersData.data, function(r) { // when search text has "." in it, search from the full name (e.g. "Ext.Component.focus") // Otherwise search from just the member name (e.g. "focus" or "Component") var name = hasDot ? r.cls + (r.type === "cls" ? "" : "." + r.member) : r.member; if (re0.test(name)) { results[0].push(r); if (r.xtypes && Ext.Array.some(r.xtypes, function(x) {return reFull.test(x);})) { results[xFull].push(r); } else if (r.xtypes && Ext.Array.some(r.xtypes, function(x) {return reBeg.test(x);})) { results[xBeg].push(r); } else if (reFull.test(name)) { results[nFull].push(r); } else if (re1.test(name)) { results[1].push(r); else if (reBeg.test(name)) { results[nBeg].push(r); } else if (re2.test(name)) { results[2].push(r); else if (reMid.test(name)) { results[nMid].push(r); } }); Loading template/app/store/Search.js +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ Ext.define('Docs.store.Search', { extend: 'Ext.data.Store', fields: ['cls', 'member', 'type'], fields: ['cls', 'member', 'type', 'xtypes'], proxy: { type: 'memory', reader: { Loading Loading
lib/jsduck/members.rb +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ module JsDuck :cls => cls.full_name, :member => cls.short_name, :type => :cls, :xtypes => cls[:xtypes] } end Loading
template/app/controller/Search.js +18 −10 Original line number Diff line number Diff line Loading @@ -118,25 +118,33 @@ Ext.define('Docs.controller.Search', { }, filterMembers: function(text, n) { var results = [[], [], []]; var results = [[], [], [], [], []]; var xFull=0, nFull=1, xBeg=2, nBeg=3, nMid=4; var hasDot = /\./.test(text); var safeText = Ext.escapeRe(text); var re0 = new RegExp("^" + safeText + "$", "i"); var re1 = new RegExp("^" + safeText, "i"); var re2 = new RegExp(safeText, "i"); var reFull = new RegExp("^" + safeText + "$", "i"); var reBeg = new RegExp("^" + safeText, "i"); var reMid = new RegExp(safeText, "i"); Ext.Array.forEach(Docs.membersData.data, function(r) { // when search text has "." in it, search from the full name (e.g. "Ext.Component.focus") // Otherwise search from just the member name (e.g. "focus" or "Component") var name = hasDot ? r.cls + (r.type === "cls" ? "" : "." + r.member) : r.member; if (re0.test(name)) { results[0].push(r); if (r.xtypes && Ext.Array.some(r.xtypes, function(x) {return reFull.test(x);})) { results[xFull].push(r); } else if (r.xtypes && Ext.Array.some(r.xtypes, function(x) {return reBeg.test(x);})) { results[xBeg].push(r); } else if (reFull.test(name)) { results[nFull].push(r); } else if (re1.test(name)) { results[1].push(r); else if (reBeg.test(name)) { results[nBeg].push(r); } else if (re2.test(name)) { results[2].push(r); else if (reMid.test(name)) { results[nMid].push(r); } }); Loading
template/app/store/Search.js +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ Ext.define('Docs.store.Search', { extend: 'Ext.data.Store', fields: ['cls', 'member', 'type'], fields: ['cls', 'member', 'type', 'xtypes'], proxy: { type: 'memory', reader: { Loading