예제 #1
0
 /**
  * Monta um componente para exibir os dado. Esse componente eh baseado
  * em um modo de renderização passado em parâmetro.
  * 
  * @param string $title  Um simples título
  * @param array $schema  O esquema utilizado na renderização da view
  * @param int $mode      Modo de renderização da view por padrão é uma tabela
  * @return array
  */
 public function browse($title, $schema, $mode = self::BROWSE_TABLE)
 {
     if (isset($this->dados)) {
         $dados = $this->dados;
     } else {
         $dados = $this->dados = $this->dao->listAll(getValueFromArray($this->config, Crud::ORDER_BY, array()));
     }
     //definido o modo render para a listagem dos dados
     $pagedata = [];
     switch ($mode) {
         case self::LADO_A_LADO:
             $pagedata['ladoalado'] = $this->getLadoALado($dados, $schema);
             break;
         default:
             $pagedata['tabledata'] = $this->getTable($dados, $schema);
     }
     $pagedata['title'] = 'Lista de ' . ucfirst(str_replace("/", "", $title)) . "s";
     $pagedata['breadcrumb'] = ['items' => [['url' => 'main/dashboard', 'label' => 'Home'], ['label' => $title]]];
     $pagedata['buttons'] = array(array('class' => 'btn btn-primary btn-success', 'label' => 'Novo Registro', 'url' => getValueFromArray($this->config, static::ACTION_URL_NEWBUTTON, $this->urlbase . 'edit')));
     return $pagedata;
 }