From 3b12abb42e9346453838a5ae1326afbc9a2ef7b3 Mon Sep 17 00:00:00 2001 From: "john.j.camilleri" Date: Wed, 29 Jan 2014 10:53:07 +0000 Subject: [PATCH] RGL browser: add ability to search for module name --- lib/doc/browse/index.html | 4 ++-- lib/doc/browse/script.js | 45 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/lib/doc/browse/index.html b/lib/doc/browse/index.html index 78501ba52..c6c9c7ce6 100644 --- a/lib/doc/browse/index.html +++ b/lib/doc/browse/index.html @@ -158,7 +158,7 @@ @@ -168,4 +168,4 @@ - \ No newline at end of file + diff --git a/lib/doc/browse/script.js b/lib/doc/browse/script.js index beb153a5b..9c1660d67 100644 --- a/lib/doc/browse/script.js +++ b/lib/doc/browse/script.js @@ -216,6 +216,20 @@ function Thing() { } t.setLanguage("english"); + // Module search box + var module_search = $("") + .attr('id', 'module_search') + .keyup(function(){ + t.searchModule($(this).val()); + }) + .appendTo("#languages"); + + $("") + .attr('href','#') + .click(t.clearSearchModule) + .html("Clear") + .appendTo("#languages"); + // Initialize API results t.initAPI(); @@ -251,6 +265,8 @@ function Thing() { t.state.current.set(lang, module); t.loadTagsFile(module); t.loadSourceFile(lang, module, lineNo); + if ($('.tab.api').hasClass('active')) + t.showPanel("#scope"); } // Load a tags file @@ -382,6 +398,35 @@ function Thing() { t.hideLoading(); } + // ===== Module search ===== + + this.searchModule = function(s) { + if (!s) { + return t.clearSearchModule(); + } + $('#language_select').hide(); + $("#modules").empty(); + for (var lang in t.state.index['languages']) { + var modules = t.state.index['languages'][lang]; + for (var j in modules) { + var module = modules[j]; + var full_module = lang+'/'+module; + if (!module) continue; + if (full_module.toLowerCase().indexOf(s.toLowerCase())==-1) continue; + $('') + .html(full_module) + .attr('href', "#"+lang+"/"+module+".gf") + .appendTo("#modules"); + } + } + }; + + this.clearSearchModule = function() { + $('#module_search').val(''); + $('#language_select').show(); + t.setLanguage(t.state.language); + return false; + }; // ===== Filtering of scope info =====