@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
73 lines (72 loc) • 2.35 kB
TypeScript
import GirafeHTMLElement from '../../base/GirafeHTMLElement';
import SearchResult from '../../models/searchresult';
declare class SearchComponent extends GirafeHTMLElement {
template: () => import("uhtml").Hole;
searchIcon: string;
paintbrushIcon: string;
private readonly themesHelper;
private readonly layerManager;
private readonly map;
private readonly previewFeaturesCollection;
private previewTheme;
private previewGeoLayer;
private maxExtent?;
private ignoreBlur;
groupedResults: Record<string, SearchResult[]>;
protected allResults: SearchResult[];
protected forceHide: boolean;
private readonly searchTermPlaceholder;
private readonly searchLangPlaceholder;
private readonly COORD_REGEX;
private focusedResultIndex;
private focusedResult;
private selectedResult;
private searchBox?;
paintSearchResults?: boolean;
defaultSearchStrokeColor: string;
defaultSearchFillColor: string;
private abortController;
private ongoingSearchTimeoutId;
constructor();
private createPreviewLayer;
onMouseDown(): void;
onFocusIn(): void;
onFocusOut(): void;
render(): void;
connectedCallback(): void;
protected clearSearch(purge?: boolean): void;
doSearch(e: Event): Promise<void>;
/**
* Debounce the fetch call to API to prevent sending request at every stroke.
* @param e
*/
doSearchDebounced(e: Event): Promise<void>;
/**
* Will render the result of the search with coordinates
* @param term typed string
*/
private displayCoordinates;
private displayResults;
getIcon(searchGroup: string): any;
onMouseOver(result: SearchResult): void;
onMouseLeave(): void;
private focusResultFromIndex;
private focusResult;
private preview;
private isAlreadyPresent;
private getMinimalClonedThemeForLayer;
private removeOthers;
private getHierarchyFromLayer;
private addFeatureToPreview;
clearPreview(): void;
onSelect(result: SearchResult): void;
private zoomTo;
onMouseMove(): void;
onKeyDown(e: KeyboardEvent): void;
private navigateToResult;
private initColorPicker;
private updatePreviewLayerStyle;
private defaultColorHasChanged;
private getColoredPinIcon;
}
export default SearchComponent;