isIndexing as a svelte store

This commit is contained in:
Simon Cambier
2022-10-27 19:30:52 +02:00
parent 22ff4eec03
commit 573f3fa31b
2 changed files with 5 additions and 3 deletions

View File

@@ -24,6 +24,7 @@
let searchQuery: string | undefined let searchQuery: string | undefined
let resultNotes: ResultNote[] = [] let resultNotes: ResultNote[] = []
let query: Query let query: Query
let { isIndexing } = SearchEngine
$: selectedNote = resultNotes[selectedIndex] $: selectedNote = resultNotes[selectedIndex]
$: searchQuery = searchQuery ?? previousQuery $: searchQuery = searchQuery ?? previousQuery
@@ -210,7 +211,7 @@
{/if} {/if}
</InputSearch> </InputSearch>
{#if SearchEngine.isIndexing} {#if $isIndexing}
<div style="text-align: center; color: var(--text-accent); margin-top: 10px"> <div style="text-align: center; color: var(--text-accent); margin-top: 10px">
⏳ Omnisearch indexing is currently in progress ⏳ Omnisearch indexing is currently in progress
</div> </div>

View File

@@ -18,6 +18,7 @@ import {
import type { Query } from './query' import type { Query } from './query'
import { settings } from '../settings' import { settings } from '../settings'
import { cacheManager } from '../cache-manager' import { cacheManager } from '../cache-manager'
import { writable } from 'svelte/store'
const tokenize = (text: string): string[] => { const tokenize = (text: string): string[] => {
const tokens = text.split(SPACE_OR_PUNCTUATION) const tokens = text.split(SPACE_OR_PUNCTUATION)
@@ -49,7 +50,7 @@ export const minisearchOptions: Options<IndexedDocument> = {
export class SearchEngine { export class SearchEngine {
private static engine: SearchEngine private static engine: SearchEngine
private static tmpEngine: SearchEngine private static tmpEngine: SearchEngine
public static isIndexing = true public static isIndexing = writable(true)
/** /**
* The main singleton SearchEngine instance. * The main singleton SearchEngine instance.
@@ -93,7 +94,7 @@ export class SearchEngine {
*/ */
public static swapEngines(): void { public static swapEngines(): void {
;[this.engine, this.tmpEngine] = [this.tmpEngine, this.engine] ;[this.engine, this.tmpEngine] = [this.tmpEngine, this.engine]
this.isIndexing = false this.isIndexing.set(false)
} }
private minisearch: MiniSearch private minisearch: MiniSearch