public function assableFilters()
{
foreach ($this->filter as $key => $value) {
if (!isset($this->filters[$key])) {
$this->deleteSessionData($key);
continue;
}
if (is_array($value) || $value instanceof \Traversable) {
if (!ArraysHelper::testEmpty($value)) {
$this->filters[$key]->setValue($value);
}
} else {
if ($value !== '' && $value !== NULL) {
$this->filters[$key]->setValue($value);
}
}
}
foreach ($this->columns as $key => $column) {
if (isset($this->sort[$key])) {
$column->setSort($this->sort);
}
}
/**
* Invoke possible events
*/
$this->onFiltersAssabled($this->filters);
return $this->filters;
}