/** * @return Array of PntSqlFilter filters derived from metadata */ function getDefaultFilters($depth) { $result = $this->getFieldFilters(); if ($depth < 2) return $result; $props = $this->getPersistentRelationPropertyDescriptors(); foreach ($props as $name => $prop) { if (!$prop->isMultiValue()) $this->addReferenceFilters($result, $prop, $depth); } $sort = $this->getLabelSort(); $filters = $sort->getSortSpecFilters(); forEach($filters as $filter) { $key = $filter->getId(); if (!isSet($result[$key])) $result[$key] = $filter; } return $result; } |