12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- (function(compodoc) {
- var engine = null;
- var initialized = false;
- function setEngine(Engine) {
- initialized = false;
- engine = new Engine();
- init();
- }
- function init() {
- if (!engine) throw new Error('No engine set for research. Set an engine using compodoc.search.setEngine(Engine).');
- return engine.init()
- .then(function() {
- initialized = true;
- compodoc.dispatchEvent({
- type: compodoc.EVENTS.SEARCH_READY
- });
- });
- }
- function query(q, offset, length) {
- if (!initialized) throw new Error('Search has not been initialized');
- return engine.search(q, offset, length);
- }
- function getEngine() {
- return engine? engine.name : null;
- }
- function isInitialized() {
- return initialized;
- }
- compodoc.search = {
- setEngine: setEngine,
- getEngine: getEngine,
- query: query,
- isInitialized: isInitialized
- };
- })(compodoc);
|