X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/3789b528d8dd8aad4558e38e22d775bcab1cbd36..HEAD:/docs/js/search.js diff --git a/docs/js/search.js b/docs/js/search.js deleted file mode 100644 index 72a25e7d..00000000 --- a/docs/js/search.js +++ /dev/null @@ -1,132 +0,0 @@ -// Search box -Ext.onReady(function() { - var searchStore = new Ext.data.Store({ - fields: ['cls', 'member', 'type', 'doc'], - proxy: { - type: 'memory', - reader: { - type: 'json' - } - } - }); - // This is the global object read from /output/members.js - searchStore.loadData(Docs.membersData.data); - var allRecords = searchStore.getRange(); - searchStore.removeAll(); - - var panel = Ext.create('Ext.view.View', { - store: searchStore, - tpl: new Ext.XTemplate( - '', - '
', - '
{member}
', - '
{cls}
', - '
', - '
' - ), - id: 'quick-search', - overItemCls:'x-view-over', - trackOver: true, - itemSelector:'div.item', - singleSelect: true, - - handleClick: function(curItem) { - curItem = curItem || panel.getSelectionModel().getLastSelected(); - var cls = curItem.data.cls; - if (curItem.data.type != 'cls') { - cls += '-' + curItem.data.type + '-' + curItem.data.member; - } - panel.hide(); - Docs.ClassLoader.load(cls); - }, - listeners: { - itemclick: function(panel, item) { - this.handleClick(item); - } - } - }); - - panel.render('search-box'); - panel.hide(); - - Ext.get('search-field').on('blur', function(ev, el) { - setTimeout(function() { - panel.hide(); - }, 100); - }); - Ext.get('search-field').on('focus', function(ev, el) { - panel.show(); - }); - - // When a key is pressed in the search field, search for classes, methods, properties, configs, etc - Ext.get('search-field').on('keyup', function(ev, el) { - // Esc key - if (ev.keyCode == 27 || el.value == '') { - panel.hide(); - return; - } - else { - panel.show(); - } - - var curItem = panel.store.indexOf(panel.getSelectionModel().getLastSelected()), - lastItem = panel.store.data.length - 1, - selModel = panel.getSelectionModel(); - - // Up arrow - if (ev.keyCode == 38) { - if (curItem == undefined) { - selModel.select(0); - } else { - selModel.select(curItem == 0 ? lastItem : (curItem - 1)); - } - } - // Down arrow - else if (ev.keyCode == 40) { - if (curItem == undefined) { - selModel.select(0); - } else { - selModel.select(curItem == lastItem ? 0 : curItem + 1); - } - } - // Enter key - else if (ev.keyCode == 13) { - ev.preventDefault(); - panel.handleClick(); - } - else { - searchExt(Ext.get(el).getValue()); - } - }); - - Ext.get(Ext.get('search-field').dom.parentNode).on('submit', function(ev, el) { - ev.preventDefault(); - }); - - var searchExt = function(term) { - searchStore.loadData(filterMembers(term), false); - }; - - var filterMembers = function(text) { - var results = [[], [], []]; - var safeText = Ext.escapeRe(text); - var re0 = new RegExp("^" + safeText + "$", "i"); - var re1 = new RegExp("^" + safeText, "i"); - var re2 = new RegExp(safeText, "i"); - Ext.Array.forEach(allRecords, function(r) { - var member = r.get("member"); - if (re0.test(member)) { - results[0].push(r); - } - else if (re1.test(member)) { - results[1].push(r); - } - else if (re2.test(member)) { - results[2].push(r); - } - }); - // flatten results array and returns first n results - return Ext.Array.flatten(results).slice(0, 10); - }; - -});