mirror of
https://github.com/Horizontal42/summarum.git
synced 2026-11-11 01:02:01 +03:00
Merge 0e9c43447f into 37cfd2144b
This commit is contained in:
commit
34cac462ae
1 changed files with 57 additions and 48 deletions
|
|
@ -44,12 +44,8 @@ export function parseResultQuery(
|
||||||
return { op: m[1], threshold: v };
|
return { op: m[1], threshold: v };
|
||||||
}
|
}
|
||||||
|
|
||||||
export function searchAllSheets(deps: SearchDeps, query: string): SearchHit[] {
|
function searchNumeric(deps: SearchDeps, docs: SearchDoc[], rq: { op: string; threshold: Value }): SearchHit[] {
|
||||||
const q = query.trim();
|
if (rq.threshold.kind !== "quantity") return [];
|
||||||
if (!q) return [];
|
|
||||||
const docs = deps.docs();
|
|
||||||
const rq = parseResultQuery(deps.engine, q);
|
|
||||||
if (rq && rq.threshold.kind === "quantity") {
|
|
||||||
const th = rq.threshold.value;
|
const th = rq.threshold.value;
|
||||||
const hits: SearchHit[] = [];
|
const hits: SearchHit[] = [];
|
||||||
for (const doc of docs) {
|
for (const doc of docs) {
|
||||||
|
|
@ -94,7 +90,9 @@ export function searchAllSheets(deps: SearchDeps, query: string): SearchHit[] {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return hits;
|
return hits;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function searchText(docs: SearchDoc[], q: string): SearchHit[] {
|
||||||
const ql = q.toLowerCase();
|
const ql = q.toLowerCase();
|
||||||
const hits: SearchHit[] = [];
|
const hits: SearchHit[] = [];
|
||||||
for (const doc of docs) {
|
for (const doc of docs) {
|
||||||
|
|
@ -114,6 +112,17 @@ export function searchAllSheets(deps: SearchDeps, query: string): SearchHit[] {
|
||||||
return hits;
|
return hits;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function searchAllSheets(deps: SearchDeps, query: string): SearchHit[] {
|
||||||
|
const q = query.trim();
|
||||||
|
if (!q) return [];
|
||||||
|
const docs = deps.docs();
|
||||||
|
const rq = parseResultQuery(deps.engine, q);
|
||||||
|
if (rq && rq.threshold.kind === "quantity") {
|
||||||
|
return searchNumeric(deps, docs, rq);
|
||||||
|
}
|
||||||
|
return searchText(docs, q);
|
||||||
|
}
|
||||||
|
|
||||||
export function initSearch(deps: SearchDeps): SearchController {
|
export function initSearch(deps: SearchDeps): SearchController {
|
||||||
const overlay = $("#search-overlay");
|
const overlay = $("#search-overlay");
|
||||||
const input = $<HTMLInputElement>("#search-input");
|
const input = $<HTMLInputElement>("#search-input");
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue