-
Notifications
You must be signed in to change notification settings - Fork 446
Description
Description
Dynamic filtering from the Filter Widget (None condition) fails only in Feature Grid/WFS flow.
The same CQL works in WMS (GeoServer CQL_FILTER), but fails in WFS because internal CQL -> OGC conversion in MapStore does not handle this null-filter expression correctly.
CQL is generated by:
toCQLFilterin/web/client/utils/FilterUtils.js
toCQLFilter generates the filter text, but parser/converter handling in WFS path breaks, so no WFS request is sent by Feature Grid.
How to reproduce
-
Open map: https://dev-mapstore.geosolutionsgroup.com/mapstore/#/viewer/64442
-
Create/activate a user-defined filter with
Nonecondition in Filter Widget -
Open Feature Grid (attribute table) for the same layer
Screen.Recording.2026-03-03.at.13.27.18.mov
Expected Result
Feature Grid sends WFS request and shows filtered records.
Current Result
Feature Grid shows no features and no WFS request is sent. Console shows parse/convert errors from wfsQueryEpic, e.g.:
Error in epic "wfsQueryEpic". Original error: Error: ERROR: In parsing: [(isNull("budgetx1")=true))], expected one of:
COMPARISON: /^(=|<>|<=|<|>=|>|LIKE|ILIKE)/i
BETWEEN: /^BETWEEN/i
COMMA: /^,/
IS_NULL: /^IS NULL/i
RPAREN: /^\)/
Uncaught Error: ERROR: In parsing: [(isNull("budgetx1")=true))], expected one of:
COMPARISON: /^(=|<>|<=|<|>=|>|LIKE|ILIKE)/i
BETWEEN: /^BETWEEN/i
COMMA: /^,/
IS_NULL: /^IS NULL/i
- Not browser related