@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
58 lines (57 loc) • 2.2 kB
TypeScript
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;