I have a custom column filter for a grid, and when selecting a value, the followingmethod is called
public onChange(value: any): void {
const filtersMap: FilterDescriptor[] = value.map(val => ({
field:
this
.filterField,
operator:
'eq'
,
val
}));
console.log(
'ColumnFilterMultiComponent -> filtersMap'
, JSON.stringify(filtersMap));
const compositeFilter: CompositeFilterDescriptor = {
logic:
'or'
,
filters: filtersMap
};
this
.applyFilter(
value ===
''
?
this
.removeFilter(
this
.filterField) :
compositeFilter
);
}
and the resulting DataSourceRequestState object is created:
{
"filter": {
"logic": "or",
"filters": [
{
"field": "projectStatus",
"operator": "eq",
"val": "Active"
},
{
"field": "projectStatus",
"operator": "eq",
"val": "Closed"
}
]
},
"group": [],
"skip": 0,
"sort": [
{
"field": "modifiedDate",
"dir": "desc"
}
],
"take": 20
}
but then calling ${toDataSourceRequestString(state)} results in this querystring:
filter=(projectStatus~eq~undefined~or~projectStatus~eq~undefined)&page=1&sort=modifiedDate-desc&pageSize=20
Why did the values from the filter get changed to undefined?