Пример #1
0
 public function testCreation()
 {
     $arrayData = $this->getArrayData();
     $gridModel = new GridWidgetModel(new ArrayDataSource($arrayData));
     $gridWidget = new GridWidget($gridModel, $this->getGridViewModelBuilder());
     $gridWidget->addColumn(new GridWidgetColumn("valueA", "Valor A", new GridWidgetColumnModel("valueA"), $this->getGridWidgetColumnViewModelBuilder(), $this->getGridWidgetColumnCellViewModelBuilder()));
     $gridWidget->addColumn(new GridWidgetColumn("valueB", "Valor B", new GridWidgetColumnModel("valueB"), $this->getGridWidgetColumnViewModelBuilder(), $this->getGridWidgetColumnCellViewModelBuilder()));
 }
Пример #2
0
 public function build()
 {
     if (is_null($this->getModel())) {
         throw new \Exception("El GridWidgetBuilder necesita que se le especifique un objecto que implemente GridWidgetModelInterface para poder construir un GridWidget");
     }
     $gridWidget = new GridWidget($this->getModel(), $this->getViewModelBuilder());
     foreach ($this->getColumns() as $column) {
         $gridWidget->addColumn($column);
     }
     return $gridWidget;
 }
Пример #3
0
 protected function buildInternal(GridWidget $widget)
 {
     $viewModel = new WidgetViewModel();
     $viewModel->setTemplate('@BluegrassBluesWidget/html.html.twig');
     $viewModel->setBlockName('bluegrass_blues_grid_widget');
     $viewModel->set('count', $widget->count());
     /**
      * Configuro las columnas del ViewModel
      */
     $columns = array();
     foreach ($widget->getColumns() as $column) {
         $columns[] = $this->buildColumnViewModel($widget, $column);
     }
     $viewModel->set('columns', $columns);
     /**
      * Configuro los items del ViewModel
      */
     $items = array();
     foreach ($widget as $itemModel) {
         $items[] = $this->buildItemViewModel($widget, $itemModel);
     }
     $viewModel->set('rows', $items);
     return $viewModel;
 }