UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

52 lines (51 loc) 2.2 kB
import LayerWms from '../../models/layers/layerwms.js'; import { LayerAttribute } from '../../models/serverwfs.js'; import { LogicalFilterOperator } from '../../models/filter.js'; import IGirafeContext from '../../tools/context/icontext.js'; import WfsFilter from '../../tools/wfs/wfsfilter.js'; import ColumnAliasHelper from '../../tools/utils/aliases.js'; import FilterConditionElement from './filterconditionelement.js'; /** * Represents the state of a filter element in the AdvancedFilterComponent. This class provides functionality * to store and manage filter conditions, operators, and attributes. */ declare class LayerFilterElement { id: string; layer?: LayerWms; attributes: LayerAttribute[]; conditions: FilterConditionElement[]; inverted: boolean; attributeChoices: Map<string, string[]>; attributeTitles: Map<string, string>; private readonly context; private readonly columnAliasHelper; private readonly position; constructor(context: IGirafeContext, columnAliasHelper: ColumnAliasHelper, position: number); /** * Sets the filter element with all conditions from a given layer with an existing filter. */ setFromLayer(layer: LayerWms): Promise<void>; private setConditionsFromLayerRecursively; get title(): string; get availableLogicalOperators(): { operator: LogicalFilterOperator; displayName: string; }[]; setLayer(layer: LayerWms): Promise<void>; removeConditions(): void; addCondition(): void; removeCondition(condition: FilterConditionElement): void; hasAppliedConditions(): boolean; hasNoneAppliedConditions(): boolean; removeNonAppliedConditions(): void; setAttributeInCondition(condition: FilterConditionElement, attributeName: string): void; private isEnumeratedAttribute; private getOperatorsByAttributeType; applyFilter(): WfsFilter | undefined; toggleInverted(): void; i18n(key: string): string; isLogicalOperatorSelectorVisible(condition: FilterConditionElement): boolean; private getInputTypeByAttributeType; getAttributeDisplayName(attribute: LayerAttribute): string; } export default LayerFilterElement;