/**
* @return string
*/
public function run()
{
$modelSeacrhClass = $this->modelSearchClassName;
if (!$modelSeacrhClass) {
$search = new Search($this->controller->modelClassName);
$dataProvider = $search->search(\Yii::$app->request->queryParams);
$searchModel = $search->loadedModel;
} else {
$searchModel = new $modelSeacrhClass();
$dataProvider = $searchModel->search(\Yii::$app->request->queryParams);
}
//Дополнительная обработка Дата провайдера
if ($this->dataProviderCallback && is_callable($this->dataProviderCallback)) {
$dataProviderCallback = $this->dataProviderCallback;
$dataProviderCallback($dataProvider);
}
//Дополнительная обработка Дата провайдера
if ($this->filter && is_callable($this->filter)) {
$filter = $this->filter;
$filter($dataProvider, \Yii::$app->request->queryParams);
}
$gridConfig = ['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'adminController' => $this->controller, 'columns' => $this->columns];
$gridConfig = ArrayHelper::merge($gridConfig, $this->gridConfig);
$this->viewParams = ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'controller' => $this->controller, 'columns' => $this->columns, 'gridConfig' => $gridConfig];
return parent::run();
}