Declined
Last Updated: 23 Feb 2023 07:29 by ADMIN

Current behavior

Currently, toODataString() does not fix filter operators like process() does for the grid data.
Our team is using OData to do server side filtering on kendo grids.
When given the filter operator 'equals', the current implementation of the code will error out when trying to create a serialized query string for OData operations. That is because it is actually trying to look for the operator 'eq' to create the string.

This is because the toODataString does use the operatorMap that is in filter.operator.js.
process(), used for client-side paging however does. And will fix the value before applying the operation.

Expected behavior

What I would expect toODataString to do. Is make use of the same correcting that process() does.
So my filters in the State object can use either 'equals' or 'eq'.
This stumped me for a bit, and would be an easy fix. I think changing this would save people some time. And make the functions used for server-side and client-side paging, uniform.

Minimal reproduction of the problem with instructions

https://stackblitz.com/edit/angular-a8rdk3
In this example, you can see changing 'equals' to 'eq' will make it stop erroring.

TLDR -> toODataString() doesn't understand 'equals', like process() does.