Sistema de Abas(Notebook) no meio da tela, e não acima. Bom dia à todos, sou novo no framework adianti, e gostei bastante da opção de abas e tal, porém eu queria colocar esse esquema de abas no meio da tela do form, por exemplo, cadastro de produto acima, e abaixo seria as abas de variedades e características por exemplo. Alguém tem algum exemplo, ou no tutor, onde eu possa ver como fazer isso? Desde já agradeço....
F
Sistema de Abas(Notebook) no meio da tela, e não acima.  
Bom dia à todos, sou novo no framework adianti, e gostei bastante da opção de abas e tal, porém eu queria colocar esse esquema de abas no meio da tela do form, por exemplo, cadastro de produto acima, e abaixo seria as abas de variedades e características por exemplo.
Alguém tem algum exemplo, ou no tutor, onde eu possa ver como fazer isso?

Desde já agradeço.

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (8)


NR

Depende de qual classe de formulário você está usando. Se for com o bootstrapFormBuilder basta criar o notebook separadamente e adicioná-lo ao form com a função addContent.

Nesse link tem um exemplo de como criar o notebook:
adianti.com.br/framework_files/tutor/index.php?class=ContainerNotebo

Nesse outro como usar a função addContent:
adianti.com.br/framework_files/tutor/index.php?class=FormBuilderView
F

Boa tarde Nataniel, sim estou usando o bootstrapFormBuilder, estava tentando exatamente desta forma que você falou. Mas ai o notebook sempre é colocado em cima da tela, e eu precisava que o formulário ficasse fixo em cima e apenas embaixo dele viria a parte de variedades e características com as colunas para o cliente adicionar e tal.
NR

A função addContent deve respeitar a ordem com que os componentes foram adicionados. Então, se acima você tiver adicionado outros campos, o notebook virá depois deles. Ex:
 
  1. <?php
  2. $this->form = new BootstrapFormBuilder('formteste');
  3. $this->form->addFields([new TLabel('Campo 1')],[new TEntry('campo1')]);
  4. $this->form->addFields([new TLabel('Campo 2')],[new TEntry('campo2')]);
  5. $this->form->addFields([new TLabel('Campo 3')],[new TEntry('campo3')]);
  6. $notebook = new BootstrapNotebookWrapper( new TNotebook(400,230) );
  7. // adds two pages in the notebook
  8. $notebook->appendPage('Aba 1', new TEntry('aba1'));
  9. $notebook->appendPage('Aba 2', new TEntry('aba2'));
  10. $this->form->addContent([$notebook]);
  11. ?>
F

Nataniel, dá uma olhadinha se estou fazendo algo errado, pois ele está colocando o notebook aonde quero e tal, porém não está colocando os códigos necessários dentro.
$notebook->appendPage('Aba 1', new TEntry('aba1')); <<O que eu devia colocar dentro dessa variavel no TEntry?


 
  1. <?php
  2. $this->form = new BootstrapFormBuilder('form_TNomeProd');
  3. $cod_nome_prod = new TEntry('cod_nome_prod');
  4. $desc_nome = new TEntry('desc_nome');
  5. $row = $this->form->addFields( [ new TLabel('ID') ], [ $cod_nome_prod ], [ new TLabel('Nome') ], [ $desc_nome ] );
  6. /***************************/
  7. $notebook = new BootstrapNotebookWrapper( new TNotebook(400,230) );
  8. $notebook->appendPage('Variedades', new TEntry('variedades'));
  9. $this->form->addContent([$notebook]);
  10. $var_item_var_cod_varied = new TEntry('var_item_var_cod_varied');
  11. $var_item_var_desc_varied = new TEntry('var_item_var_desc_varied');
  12. $this->form->addContent([ new TFormSeparator('Variedades', '#333333', '18', '#eeeeee')]);
  13. $this->form->addFields( [ new TLabel('ID') ], [ $var_item_var_cod_varied ],[ new TLabel('Nome')],[$var_item_var_desc_varied] );
  14. $this->form->addFields( [ new TLabel('') ] );
  15. $add_var_item_var = new TButton('add_var_item_var');
  16. $action_var_item_var = new TAction(array($this, 'onAddVarItemVar'));
  17. $add_var_item_var->setAction($action_var_item_var, 'Adicionar/Alterar');
  18. $add_var_item_var->addStyleClass('btn-success');
  19. $add_var_item_var->setImage('fa:save');
  20. $this->form->addFields([$add_var_item_var]);
  21. $this->var_item_var_list = new BootstrapDatagridWrapper(new TQuickGrid);
  22. $this->var_item_var_list->style = 'width:100%';
  23. $this->var_item_var_list->disableDefaultClick();
  24. $this->var_item_var_list->addQuickColumn('Editar', 'edit', 'center', 20);
  25. $this->var_item_var_list->addQuickColumn('Deletar', 'delete', 'center', 20);
  26. $column_var_item_var_cod_varied = $this->var_item_var_list->addQuickColumn('ID', 'var_item_var_cod_varied', 'left');
  27. $column_var_item_var_desc_varied = $this->var_item_var_list->addQuickColumn('Nome', 'var_item_var_desc_varied', 'center');
  28. $this->var_item_var_list->createModel();
  29. $this->form->addContent([$this->var_item_var_list]);
  30. ?>


Muito obrigado novamente.
Att Felipe.
NR

Felipe, quando o notebook é criado manualmente é necessário adicionar os componentes diretamente nele, e não mais usando a função addFields da classe BootstrapFormBuilder.
Ex:
 
  1. <?php
  2. ...
  3. $notebook = new BootstrapNotebookWrapper( new TNotebook(400,230) );
  4. $tableVariedades = new TTable();
  5. ...
  6. // chamar a função appendPage para cada aba a ser criada. O segundo parâmetro corresponde ao container(TTable,TFrame,TPanel) a ser exibido na aba
  7. $notebook->appendPage('Variedades', $tableVariedades);
  8. ...
  9. // adicao do notebook ao formulario
  10. $this->form->addContent([$notebook]);
  11. ...
  12. $var_item_var_cod_varied = new TEntry('var_item_var_cod_varied');
  13. $var_item_var_desc_varied = new TEntry('var_item_var_desc_varied');
  14. // adicionar conteudo no container da aba Variedades
  15. $tableVariedades->addRowSet( new TLabel('ID'),$var_item_var_cod_varied,new TLabel('Nome'),$var_item_var_desc_varied);
  16. ?>

adianti.com.br/framework_files/tutor/index.php?class=ContainerNotebo
F

Obrigado Nataniel, tens me ajudado muito!
Mas e com essa parte, como farei? Não ficou muito claro lá no adianti tutor.

 
  1. <?php
  2. $add_var_item_var = new TButton('add_var_item_var');
  3. $action_var_item_var = new TAction(array($this, 'onAddVarItemVar'));
  4. $add_var_item_var->setAction($action_var_item_var, 'Adicionar/Alterar');
  5. $add_var_item_var->addStyleClass('btn-success');
  6. $add_var_item_var->setImage('fa:save');
  7. $this->form->addFields([$add_var_item_var]);
  8. $this->var_item_var_list = new BootstrapDatagridWrapper(new TQuickGrid);
  9. $this->var_item_var_list->style = 'width:100%';
  10. $this->var_item_var_list->disableDefaultClick();
  11. $this->var_item_var_list->addQuickColumn('Editar', 'edit', 'center', 20);
  12. $this->var_item_var_list->addQuickColumn('Deletar', 'delete', 'center', 20);
  13. $column_var_item_var_cod_varied = $this->var_item_var_list->addQuickColumn('ID', 'var_item_var_cod_varied', 'left');
  14. $column_var_item_var_desc_varied = $this->var_item_var_list->addQuickColumn('Nome', 'var_item_var_desc_varied', 'center');
  15. $column_var_item_var_sigla_trans = $this->var_item_var_list->addQuickColumn('S Trans.', 'var_item_var_sigla_trans', 'center');
  16. $column_var_item_var_dias_ciclo = $this->var_item_var_list->addQuickColumn('Ciclo(dias)', 'var_item_var_dias_ciclo', 'center');
  17. $column_var_item_var_ciclo = $this->var_item_var_list->addQuickColumn('Ciclo', 'var_item_var_ciclo', 'center');
  18. $column_var_item_var_status = $this->var_item_var_list->addQuickColumn('Status', 'var_item_var_status', 'center');
  19. $column_var_item_var_ciclo->setTransformer(array('AppTransformer', 'TransfTipoCicloNomeProd'));
  20. $column_var_item_var_status->setTransformer(array('AppTransformer', 'TransfStatusAI'));
  21. $this->var_item_var_list->createModel();
  22. $this->form->addContent([$this->var_item_var_list]);
  23. ?>
NR

Não sei se entendi. Você quer adicionar a grid também ao notebook? Se for isso tem que adicioná-la ao container que está no notebook($tableVariedades no exemplo que passsei) e não ao formulário diretamente. Veja a parte de contêineres do tutor pra entender um pouco mais.
adianti.com.br/framework_files/tutor/index.php?class=HomeView&me
F

Então, é que essa parte de variedades e características, eu vou mostrar somente dentro do formulário, na lista não vai aparecer e tal.
Ai então, teria que ter as colunas e tal, para mostrar.
Lembrando que seguindo basicamente aquela parte ali de cima já, ai após o form teria esse botão de add o item, e as colunas e tal.

 
  1. <?php
  2. $add_var_item_var = new TButton('add_var_item_var');
  3. $action_var_item_var = new TAction(array($this, 'onAddVarItemVar'));
  4. $add_var_item_var->setAction($action_var_item_var, 'Adicionar/Alterar');
  5. $add_var_item_var->addStyleClass('btn-success');
  6. $add_var_item_var->setImage('fa:save');
  7. $this->form->addFields([$add_var_item_var]);
  8. $this->var_item_var_list = new BootstrapDatagridWrapper(new TQuickGrid);
  9. $this->var_item_var_list->style = 'width:100%';
  10. $this->var_item_var_list->disableDefaultClick();
  11. $this->var_item_var_list->addQuickColumn('Editar', 'edit', 'center', 20);
  12. $this->var_item_var_list->addQuickColumn('Deletar', 'delete', 'center', 20);
  13. $column_var_item_var_cod_varied = $this->var_item_var_list->addQuickColumn('ID', 'var_item_var_cod_varied', 'left');
  14. $column_var_item_var_desc_varied = $this->var_item_var_list->addQuickColumn('Nome', 'var_item_var_desc_varied', 'center');
  15. $this->var_item_var_list->createModel();
  16. $this->form->addContent([$this->var_item_var_list]);
  17. ?>