public function prepareViewModel(Datagrid $grid)
    {
        $viewModel = $this->getViewModel();

        $viewModel->setVariable('gridId', $grid->getId());
        $viewModel->setVariable('title', $this->getTitle());
        $viewModel->setVariable('parameters', $grid->getParameters());
        $viewModel->setVariable('overwriteUrl', $grid->getUrl());

        $viewModel->setVariable('templateToolbar', $this->getToolbarTemplate());
        foreach ($this->getToolbarTemplateVariables() as $key => $value) {
            $viewModel->setVariable($key, $value);
        }
        $viewModel->setVariable('rendererName', $this->getName());

        $options = $this->getOptions();
        $generalParameterNames = $options['generalParameterNames'];
        $viewModel->setVariable('generalParameterNames', $generalParameterNames);

        $viewModel->setVariable('columns', $this->getColumns());

        $viewModel->setVariable('rowStyles', $grid->getRowStyles());

        $viewModel->setVariable('paginator', $this->getPaginator());
        $viewModel->setVariable('data', $this->getData());
        $viewModel->setVariable('filters', $this->getFilters());

        $viewModel->setVariable('rowClickAction', $grid->getRowClickAction());
        $viewModel->setVariable('massActions', $grid->getMassActions());

        $viewModel->setVariable('isUserFilterEnabled', $grid->isUserFilterEnabled());

        /*
         * renderer specific parameter names
         */
        $optionsRenderer = $this->getOptionsRenderer();
        $viewModel->setVariable('optionsRenderer', $optionsRenderer);
        if ($this->isExport() === false) {
            $parameterNames = $optionsRenderer['parameterNames'];
            $viewModel->setVariable('parameterNames', $parameterNames);

            $activeParameters = [];
            $activeParameters[$parameterNames['currentPage']] = $this->getCurrentPageNumber();
            {
                $sortColumns = [];
                $sortDirections = [];
            foreach ($this->getSortConditions() as $sortCondition) {
                $sortColumns[] = $sortCondition['column']->getUniqueId();
                $sortDirections[] = $sortCondition['sortDirection'];
            }

                $activeParameters[$parameterNames['sortColumns']] = implode(',', $sortColumns);
                $activeParameters[$parameterNames['sortDirections']] = implode(',', $sortDirections);
            }
            $viewModel->setVariable('activeParameters', $activeParameters);
        }

        $viewModel->setVariable('exportRenderers', $grid->getExportRenderers());
    }
public function prepareViewModel(Datagrid $grid)
    {
        $viewModel = $this->getViewModel();

        $viewModel->setVariable('gridId', $grid->getId());
        $viewModel->setVariable('title', $this->getTitle());
        $viewModel->setVariable('parameters', $grid->getParameters());
        $viewModel->setVariable('overwriteUrl', $grid->getUrl());

        $viewModel->setVariable('templateToolbar', $this->getToolbarTemplate());
        foreach ($this->getToolbarTemplateVariables() as $key => $value) {
            $viewModel->setVariable($key, $value);
        }
        $viewModel->setVariable('rendererName', $this->getName());

        $options = $this->getOptions();
        $generalParameterNames = $options['generalParameterNames'];
        $viewModel->setVariable('generalParameterNames', $generalParameterNames);

        $viewModel->setVariable('columns', $this->getColumns());

        $viewModel->setVariable('rowStyles', $grid->getRowStyles());

        $viewModel->setVariable('paginator', $this->getPaginator());
        $viewModel->setVariable('data', $this->getData());
        $viewModel->setVariable('filters', $this->getFilters());

        $viewModel->setVariable('rowClickAction', $grid->getRowClickAction());
        $viewModel->setVariable('massActions', $grid->getMassActions());

        $viewModel->setVariable('isUserFilterEnabled', $grid->isUserFilterEnabled());

        /*
         * renderer specific parameter names
         */
        $optionsRenderer = $this->getOptionsRenderer();
        $viewModel->setVariable('optionsRenderer', $optionsRenderer);
        if ($this->isExport() === false) {
            $parameterNames = $optionsRenderer['parameterNames'];
            $viewModel->setVariable('parameterNames', $parameterNames);

            $activeParameters = [];
            $activeParameters[$parameterNames['currentPage']] = $this->getCurrentPageNumber();
            {
                $sortColumns = [];
                $sortDirections = [];
            foreach ($this->getSortConditions() as $sortCondition) {
                $sortColumns[] = $sortCondition['column']->getUniqueId();
                $sortDirections[] = $sortCondition['sortDirection'];
            }

                $activeParameters[$parameterNames['sortColumns']] = implode(',', $sortColumns);
                $activeParameters[$parameterNames['sortDirections']] = implode(',', $sortDirections);
            }
            $viewModel->setVariable('activeParameters', $activeParameters);
        }

        $viewModel->setVariable('exportRenderers', $grid->getExportRenderers());
    }
public function prepareViewModel ( Datagrid $ grid ) { $ viewModel = $ this -> getViewModel ( ) ; $ viewModel -> setVariable ( 'gridId' , $ grid -> getId ( ) ) ; $ viewModel -> setVariable ( 'title' , $ this -> getTitle ( ) ) ; $ viewModel -> setVariable ( 'parameters' , $ grid -> getParameters ( ) ) ; $ viewModel -> setVariable ( 'overwriteUrl' , $ grid -> getUrl ( ) ) ; $ viewModel -> setVariable ( 'templateToolbar' , $ this -> getToolbarTemplate ( ) ) ; foreach ( $ this -> getToolbarTemplateVariables ( ) as $ key => $ value ) { $ viewModel -> setVariable ( $ key , $ value ) ; } $ viewModel -> setVariable ( 'rendererName' , $ this -> getName ( ) ) ; $ options = $ this -> getOptions ( ) ; $ generalParameterNames = $ options [ 'generalParameterNames' ] ; $ viewModel -> setVariable ( 'generalParameterNames' , $ generalParameterNames ) ; $ viewModel -> setVariable ( 'columns' , $ this -> getColumns ( ) ) ; $ viewModel -> setVariable ( 'rowStyles' , $ grid -> getRowStyles ( ) ) ; $ viewModel -> setVariable ( 'paginator' , $ this -> getPaginator ( ) ) ; $ viewModel -> setVariable ( 'data' , $ this -> getData ( ) ) ; $ viewModel -> setVariable ( 'filters' , $ this -> getFilters ( ) ) ; $ viewModel -> setVariable ( 'rowClickAction' , $ grid -> getRowClickAction ( ) ) ; $ viewModel -> setVariable ( 'massActions' , $ grid -> getMassActions ( ) ) ; $ viewModel -> setVariable ( 'isUserFilterEnabled' , $ grid -> isUserFilterEnabled ( ) ) ; /*
         * renderer specific parameter names
         */ $ optionsRenderer = $ this -> getOptionsRenderer ( ) ; $ viewModel -> setVariable ( 'optionsRenderer' , $ optionsRenderer ) ; if ( $ this -> isExport ( ) === false ) { $ parameterNames = $ optionsRenderer [ 'parameterNames' ] ; $ viewModel -> setVariable ( 'parameterNames' , $ parameterNames ) ; $ activeParameters = [ ] ; $ activeParameters [ $ parameterNames [ 'currentPage' ] ] = $ this -> getCurrentPageNumber ( ) ; { $ sortColumns = [ ] ; $ sortDirections = [ ] ; foreach ( $ this -> getSortConditions ( ) as $ sortCondition ) { $ sortColumns [ ] = $ sortCondition [ 'column' ] -> getUniqueId ( ) ; $ sortDirections [ ] = $ sortCondition [ 'sortDirection' ] ; } $ activeParameters [ $ parameterNames [ 'sortColumns' ] ] = implode ( ',' , $ sortColumns ) ; $ activeParameters [ $ parameterNames [ 'sortDirections' ] ] = implode ( ',' , $ sortDirections ) ; } $ viewModel -> setVariable ( 'activeParameters' , $ activeParameters ) ; } $ viewModel -> setVariable ( 'exportRenderers' , $ grid -> getExportRenderers ( ) ) ; }
VERY UGLY DEPENDECY...

@todo Refactor :-)

@see \ZfcDatagrid\Renderer\RendererInterface::prepareViewModel()
VERY UGLY DEPENDECY ...