aboutsummaryrefslogtreecommitdiff
path: root/docs/_book/gitbook/gitbook-plugin-search/search-engine.js
diff options
context:
space:
mode:
authorJakob Stendahl <jakob.stendahl@outlook.com>2019-09-22 13:12:44 +0200
committerJakob Stendahl <jakob.stendahl@outlook.com>2019-09-22 13:12:44 +0200
commite6880cd8ccf82d993f222cb14b4860581654acb8 (patch)
tree45f318f4ece2f0d6ca73fc3f775b9ba277ccdb77 /docs/_book/gitbook/gitbook-plugin-search/search-engine.js
parente911f8029ca612d3b17ced300cdf5b6f13e20972 (diff)
parent2e60b25ae368b8c19ce5e982aa2672a6c56edf90 (diff)
downloadLuxcena-Neo-e6880cd8ccf82d993f222cb14b4860581654acb8.tar.gz
Luxcena-Neo-e6880cd8ccf82d993f222cb14b4860581654acb8.zip
Merge branch 'master' of https://github.com/JakobST1n/Luxcena-Neo
Diffstat (limited to 'docs/_book/gitbook/gitbook-plugin-search/search-engine.js')
-rw-r--r--docs/_book/gitbook/gitbook-plugin-search/search-engine.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/docs/_book/gitbook/gitbook-plugin-search/search-engine.js b/docs/_book/gitbook/gitbook-plugin-search/search-engine.js
new file mode 100644
index 0000000..5088346
--- /dev/null
+++ b/docs/_book/gitbook/gitbook-plugin-search/search-engine.js
@@ -0,0 +1,50 @@
+require([
+ 'gitbook',
+ 'jquery'
+], function(gitbook, $) {
+ // Global search objects
+ var engine = null;
+ var initialized = false;
+
+ // Set a new search engine
+ function setEngine(Engine, config) {
+ initialized = false;
+ engine = new Engine(config);
+
+ init(config);
+ }
+
+ // Initialize search engine with config
+ function init(config) {
+ if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).');
+
+ return engine.init(config)
+ .then(function() {
+ initialized = true;
+ gitbook.events.trigger('search.ready');
+ });
+ }
+
+ // Launch search for query q
+ function query(q, offset, length) {
+ if (!initialized) throw new Error('Search has not been initialized');
+ return engine.search(q, offset, length);
+ }
+
+ // Get stats about search
+ function getEngine() {
+ return engine? engine.name : null;
+ }
+
+ function isInitialized() {
+ return initialized;
+ }
+
+ // Initialize gitbook.search
+ gitbook.search = {
+ setEngine: setEngine,
+ getEngine: getEngine,
+ query: query,
+ isInitialized: isInitialized
+ };
+}); \ No newline at end of file