@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
71 lines (70 loc) • 2.38 kB
TypeScript
import Feature from 'ol/Feature.js';
import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
declare class SearchComponent extends GirafeHTMLElement {
protected templateUrl: string | null;
protected styleUrls: string[] | null;
template: () => import("uhtml").Hole;
searchIcon: string;
paintbrushIcon: string;
private get map();
private readonly previewFeaturesCollection;
private previewLayers?;
private previewGeoLayer;
private ignoreBlur;
groupedResults: Record<string, Record<string, Feature[]>>;
protected allResults: Feature[];
protected forceHide: boolean;
private focusedResultIndex;
private focusedResult;
private selectedResult;
private searchInput?;
private girafeColorPicker?;
paintSearchResults?: boolean;
defaultSearchStrokeColor: string;
defaultSearchFillColor: string;
searchStrokeColor: string;
searchFillColor: string | number[];
showNoResultWarning: boolean;
private ongoingSearchTimeoutId;
constructor();
private initialSearch;
private createPreviewLayer;
toggleVisibility(visible: boolean): void;
onMouseDown(): void;
onFocusIn(): void;
onFocusOut(): void;
render(): void;
registerEvents(): void;
protected connectedCallback(): void;
private flattenResultList;
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>;
getGroupIcon(searchGroup: string): any;
getProviderClass(provider: string): "hidden" | "provider entry";
getGroupClass(group: string): "hidden" | "group entry";
getLabel(result: Feature): unknown;
onMouseOver(result: Feature): void;
onMouseLeave(): void;
private focusResultFromIndex;
private focusResult;
private preview;
private addFeatureToPreview;
clearPreview(): void;
onSelect(feature: Feature): void;
private addResultToTreeView;
private zoomTo;
onMouseMove(): void;
onKeyDown(e: KeyboardEvent): void;
private navigateToResult;
private createTooltip;
private initColorPicker;
private updatePreviewLayerStyle;
private defaultColorHasChanged;
private getColoredPinIcon;
}
export default SearchComponent;