terriajs
Version:
Geospatial data visualization platform.
27 lines (23 loc) • 775 B
text/typescript
import { makeObservable, observable } from "mobx";
import { IPromiseBasedObservable, fromPromise } from "mobx-utils";
import SearchProviderMixin from "../../ModelMixins/SearchProviders/SearchProviderMixin";
import SearchResult from "./SearchResult";
export default class SearchProviderResults {
results: SearchResult[] = [];
message?: {
content: string;
params?: {
[key: string]: string | number | undefined;
};
};
isCanceled = false;
resultsCompletePromise: IPromiseBasedObservable<void> = fromPromise(
Promise.resolve()
);
constructor(readonly searchProvider: SearchProviderMixin.Instance) {
makeObservable(this);
}
get isSearching() {
return this.resultsCompletePromise.state === "pending";
}
}