UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

46 lines (45 loc) 1.39 kB
import BaseResult from '@jbrowse/core/TextSearch/BaseResults'; function filterOptions(options, searchQuery) { return options.filter(({ result }) => result.getLabel().toLowerCase().includes(searchQuery) || result.matchedObject); } export function getFiltered(opts, inputValue) { const filtered = filterOptions(opts, inputValue.toLocaleLowerCase()); return [ ...filtered.slice(0, 100), ...(filtered.length > 100 ? [ { group: 'limitOption', result: new BaseResult({ label: 'keep typing for more results', }), }, ] : []), ]; } export function aggregateResults(results) { const m = {}; for (const result of results) { const displayString = result.getDisplayString(); if (!m[displayString]) { m[displayString] = []; } m[displayString].push(result); } return m; } export function getDeduplicatedResult(results) { return Object.entries(aggregateResults(results)).map(([displayString, results]) => results.length === 1 ? { result: results[0], } : { result: new BaseResult({ displayString, results, label: displayString, }), }); }