38 $this->entityDataProvider = $entityDataProvider;
40 $this->extraProviders = [];
41 if(is_array($extraDataProviders))
43 foreach($extraDataProviders as $dataProvider)
47 $this->extraProviders[] = $dataProvider;
196 foreach ($filter as $fieldId => $fieldValue)
198 if (in_array($fieldId, $this->uiFilterServiceFields,
true))
200 unset($filter[$fieldId]);
203 foreach ($this->uiFilterPostfixes as $postfix)
205 if (mb_substr($fieldId, -mb_strlen($postfix)) === $postfix)
207 unset($filter[$fieldId]);
220 $filterFieldsIds = array_map(
221 function(
Field $filterField)
223 return $filterField->
getId();
227 $sqlWhere = new \CSQLWhere();
229 foreach ($filter as $fieldId => $fieldValue)
231 if (in_array($fieldId, $this->uiFilterServiceFields,
true))
235 if (in_array($fieldId, $filterFieldsIds,
true))
240 $fieldIdWithoutOperation = $sqlWhere->makeOperation($fieldId)[
'FIELD'];
241 if (in_array($fieldIdWithoutOperation, $filterFieldsIds,
true))
246 foreach ($this->uiFilterPostfixes as $postfix)
248 $postfixLength = mb_strlen($postfix);
249 if (mb_substr($fieldId, -$postfixLength) === $postfix)
251 $realFieldId = mb_substr($fieldId, 0, -$postfixLength);
252 if (in_array($realFieldId, $filterFieldsIds,
true))
258 unset($filter[$fieldId]);