{parts/gtag_head.html} {parts/gtag_body.html}
Mês do Programador

Vamos comemorar juntos o seu mês.
Aproveite condições especiais.

Cursos, combos e assinaturas com desconto exclusivo para comemorar o Dia do Programador. Tempo limitado.

Promoção válida de 14/09 à 25/09

De 30% Até50% OFF
TExpander aceita TActionLink? Boa noite pessoal, estou tentando utilizar o TExpander (http://adianti.com.br/framework_files/tutor/index.php?class=FormExpanderView) porém ao invés de inserir campos, estou inserindo botões. ...
RK
TExpander aceita TActionLink?  
Boa noite pessoal, estou tentando utilizar o TExpander (adianti.com.br/framework_files/tutor/index.php?class=FormExpanderVie) porém ao invés de inserir campos, estou inserindo botões.

 
  1. <?php
  2. /////////// tipo
  3. $expandertipo = new TExpander('Tipo de Produto');
  4. $expandertipo->setButtonProperty('class', 'btn btn-default');
  5. $expandertipo->style = 'width:100%';
  6. /////////// tipo lista
  7. $actiontipo = new TAction( ['ProdutosTipoList', 'onShow' ] );
  8. $btntipo = new TActionLink('Listar', $actiontipo, null , 10, '', 'fas:box-open blue');
  9. $btntipo->class='btn btn-default btn-sm';
  10. $btntipo->style = "width:100%;";
  11. /////////// tipo form
  12. $actiontipof = new TAction( ['ProdutosTipoForm', 'onEdit' ] );
  13. $btntipof = new TActionLink('Adicionar', $actiontipof, null , 10, '', 'fas:box-open blue');
  14. $btntipof->class='btn btn-default btn-sm';
  15. $btntipof->style = "width:100%;";
  16. //////////////
  17. $subtabletip = new TTable;
  18. $subtabletip->style = 'padding:5px; width:100%;';
  19. $expandertipo->add($subtabletip);
  20. $subtabletip->addRowSet($btntipo);
  21. $subtabletip->addRowSet($btntipof);
  22. //////////////
  23. ?>


são vários TExpander seguindo a mesma lógica deste exemplo, no final, insiro eles no form
 
  1. <?php
  2. $this->form->addFields([$expandertipo],[$expandercateg],[$expandersubcat],[$expandercampos]);
  3. ?>


Utilizei o addFields pois o addField não aceitou, retornando o seguinte erro:
Fatal error: Uncaught TypeError: Argument 1 passed to Adianti\Wrapper\BootstrapFormBuilder::addField() must be an instance of Adianti\Widget\Form\AdiantiWidgetInterface, instance of Adianti\Widget\Util\TActionLink given, called in /var/www/html/escondido/app/control/produtos/ProdutosTipoCategoriaSubCamposOpcoesForm.php on line 201 and defined in /var/www/html/escondido/lib/adianti/wrapper/BootstrapFormBuilder.php:237 Stack trace: #0 /var/www/html/escondido/app/control/produtos/ProdutosTipoCategoriaSubCamposOpcoesForm.php(201): Adianti\Wrapper\BootstrapFormBuilder->addField(Object(Adianti\Widget\Util\TActionLink)) #1 /var/www/html/escondido/lib/adianti/core/AdiantiCoreApplication.php(80): ProdutosTipoCategoriaSubCamposOpcoesForm->__construct(Array) #2 /var/www/html/escondido/engine.php(27): Adianti\Core\AdiantiCoreApplication::run('1') #3 /var/www/html/escondido/engine.php(64): TApplication::run() #4 {main} thrown in /var/www/html/escondido/lib/adianti/wrapper/BootstrapFormBuilder.php on line 237


ele monta direitinho (sem utilizar o addField), porém não funciona (é como se tivesse dado um refresh e volta para a mesma página)
Visualmente ele ficou bom, mas não funciona e, por isso, fica a pergunta: TExpander aceita TActionLink?

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 (2)


NR

O container principal do texpander tem uma classe "texpander-container" com um javascript vinculado que provoca esse comportamento. Sobreescreva a classe do container deixando somente "dropdown-menu".
 
  1. <?php
  2. $expandertipo->setProperty('class','dropdown-menu');
  3. ?>
RK

Obrigado Nataniel, foi como uma luva...
Só dá vc aqui heim kra.
abs.