mirror of
https://github.com/gchq/CyberChef.git
synced 2025-04-20 23:06:16 -04:00
Initial pages commit
This commit is contained in:
parent
b1d73a725d
commit
56dbb3fa40
376 changed files with 252899 additions and 88317 deletions
89
docs/scripts/fulltext-search-ui.js
Executable file
89
docs/scripts/fulltext-search-ui.js
Executable file
|
@ -0,0 +1,89 @@
|
|||
window.SearcherDisplay = (function($) {
|
||||
/**
|
||||
* This class provides support for displaying quick search text results to users.
|
||||
*/
|
||||
function SearcherDisplay() { }
|
||||
|
||||
SearcherDisplay.prototype.init = function() {
|
||||
this._displayQuickSearch();
|
||||
};
|
||||
|
||||
/**
|
||||
* This method creates the quick text search entry in navigation menu and wires all required events.
|
||||
*/
|
||||
SearcherDisplay.prototype._displayQuickSearch = function() {
|
||||
var quickSearch = $(document.createElement("iframe")),
|
||||
body = $("body"),
|
||||
self = this;
|
||||
|
||||
quickSearch.attr("src", "quicksearch.html");
|
||||
quickSearch.css("width", "0px");
|
||||
quickSearch.css("height", "0px");
|
||||
|
||||
body.append(quickSearch);
|
||||
|
||||
$(window).on("message", function(msg) {
|
||||
var msgData = msg.originalEvent.data;
|
||||
|
||||
if (msgData.msgid != "docstrap.quicksearch.done") {
|
||||
return;
|
||||
}
|
||||
|
||||
var results = msgData.results || [];
|
||||
|
||||
self._displaySearchResults(results);
|
||||
});
|
||||
|
||||
function startSearch() {
|
||||
var searchTerms = $('#search-input').prop("value");
|
||||
if (searchTerms) {
|
||||
quickSearch[0].contentWindow.postMessage({
|
||||
"searchTerms": searchTerms,
|
||||
"msgid": "docstrap.quicksearch.start"
|
||||
}, "*");
|
||||
}
|
||||
}
|
||||
|
||||
$('#search-input').on('keyup', function(evt) {
|
||||
if (evt.keyCode != 13) {
|
||||
return;
|
||||
}
|
||||
startSearch();
|
||||
return false;
|
||||
});
|
||||
$('#search-submit').on('click', function() {
|
||||
startSearch();
|
||||
return false;
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* This method displays the quick text search results in a modal dialog.
|
||||
*/
|
||||
SearcherDisplay.prototype._displaySearchResults = function(results) {
|
||||
var resultsHolder = $($("#searchResults").find(".modal-body")),
|
||||
fragment = document.createDocumentFragment(),
|
||||
resultsList = document.createElement("ul");
|
||||
|
||||
resultsHolder.empty();
|
||||
|
||||
for (var idx = 0; idx < results.length; idx++) {
|
||||
var result = results[idx],
|
||||
item = document.createElement("li"),
|
||||
link = document.createElement("a");
|
||||
|
||||
link.href = result.id;
|
||||
link.innerHTML = result.title;
|
||||
|
||||
item.appendChild(link)
|
||||
resultsList.appendChild(item);
|
||||
}
|
||||
|
||||
fragment.appendChild(resultsList);
|
||||
resultsHolder.append(fragment);
|
||||
|
||||
$("#searchResults").modal({"show": true});
|
||||
};
|
||||
|
||||
return new SearcherDisplay();
|
||||
})($);
|
Loading…
Add table
Add a link
Reference in a new issue