UNPKG

@rxap/form-system

Version:

This package provides a set of directives, decorators, mixins, and validators to simplify the creation of dynamic forms in Angular applications. It offers features such as automatic control creation, data source integration, component customization, and h

68 lines (54 loc) 1.76 kB
(function(compodoc) { function LunrSearchEngine() { this.index = undefined; this.store = {}; this.name = 'LunrSearchEngine'; } LunrSearchEngine.prototype.init = function() { var that = this, d = new promise.Promise(); that.index = lunr.Index.load(COMPODOC_SEARCH_INDEX.index); that.store = COMPODOC_SEARCH_INDEX.store; d.done(); return d; }; LunrSearchEngine.prototype.search = function(q, offset, length) { var that = this, results = [], d = new promise.Promise(); if (this.index) { results = $.map(this.index.search('*' + q + '*'), function(result) { var doc = that.store[result.ref]; return { title: doc.title, url: doc.url, body: doc.summary || doc.body }; }); } d.done({ query: q, results: length === 0 ? results : results.slice(0, length), count: results.length }); return d; }; compodoc.addEventListener(compodoc.EVENTS.READY, function(event) { var engine = new LunrSearchEngine(), initialized = false; function query(q, offset, length) { if (!initialized) throw new Error('Search has not been initialized'); return engine.search(q, offset, length); } compodoc.search = { query: query }; engine.init() .then(function() { initialized = true; compodoc.dispatchEvent({ type: compodoc.EVENTS.SEARCH_READY }); }); }); })(compodoc);