public function __construct($element)
{
if (is_array($element) && isset($element['position'])) {
$this->setPosition($element['position']);
}
if (is_array($element) && isset($element['field'])) {
$this->setField($element['field']);
}
if (is_array($element) && isset($element['filterField'])) {
$this->setFilterField($element['filterField']);
}
if (is_array($element) && isset($element['filter']) && is_callable($element['filter'])) {
$this->setFilter(new CallbackFilter($element['filter']));
} elseif (is_array($element) && isset($element['filter'])) {
$this->setFilter($element['filter']);
}
}