UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

58 lines (57 loc) 2.2 kB
import IGirafeContext from '../../tools/context/icontext.js'; import { LayerAttribute } from '../../models/serverwfs.js'; import { FilterOperator, LogicalFilterOperator } from '../../models/filter.js'; import { BaseFilterCondition } from '../../tools/filter/basefilter.js'; declare class FilterConditionElement { private readonly context; id: string; applied: boolean; attribute?: LayerAttribute; attributeDisplayName?: string; attributeInputType?: string; availableOperators?: { operator: FilterOperator; displayName: string; }[]; operator?: FilterOperator; value?: string; value2?: string; choices?: string[]; logicalOperator?: LogicalFilterOperator; filterConditionInstance?: BaseFilterCondition<unknown>; private geometryChangeHandler?; static readonly drawingStateLocation = "advancedFilterDrawing"; private readonly drawingState; private readonly spatialOperatorsByDrawingShape; constructor(context: IGirafeContext); setLogicalOperator(operator: string): void; setAttribute(attribute: LayerAttribute, attributeDisplayName: string, attributeInputType: string, availableOperators: { operator: FilterOperator; displayName: string; }[], choices: string[]): void; setOperator(operator: string): void; updateDrawingToolbar(): void; private getSupportedDrawingToolsByOperator; registerGeometryListener(): void; resetDrawingToolbar(): void; reset(): void; remove(): void; isValid(): boolean; apply(): boolean; private i18n; isOperatorSelectorEnabled(): boolean; isValueInputVisible(): boolean; isValue2InputVisible(): boolean; isChoicesListVisible(): boolean; isGeometryToolbarVisible(): boolean; /** * Check if the operator can be used with the current spatial attribute type */ isSpatialOperatorEnabled(operator: FilterOperator): boolean; /** * Converts a filter condition to its text representation, using the filterCondition instances * toTextRepresentation method and adding the logical operator if it is defined. */ toText(): string; } export default FilterConditionElement;