Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Aba no TNotebook não aparece! Boa tarde, Estou com o seguinte problema, o segundo appendpage de um notebook não aparece, apenas o primeiro. Se eu colocar um terceiro, aparece o primeiro e esse terceiro, e todos depois dele. Já pesquisei no fórum, olhei o código para ver se tem algo que esteja atrapalhando, coloquei o var_dump no TNotebook.php, para ver o comportamento. Todas as pages estão no $this->page,...
DA
Aba no TNotebook não aparece!  
Boa tarde,

Estou com o seguinte problema, o segundo appendpage de um notebook não aparece, apenas o primeiro. Se eu colocar um terceiro, aparece o primeiro e esse terceiro, e todos depois dele.

Já pesquisei no fórum, olhei o código para ver se tem algo que esteja atrapalhando, coloquei o var_dump no TNotebook.php, para ver o comportamento. Todas as pages estão no $this->page, agora porque não aparece apenas o segundo, não sei. Segue abaixo o código que estou usando na versão 7.3, se alguém passou por isso, agradeço a ajuda.

  1. <?php
  2. class ProcessaAplChecklistForm extends TPage
  3. {
  4.     protected $form// form 
  5.     protected $rec_tabela;
  6.     protected $rec_descricao;
  7.     protected $notebook1;
  8.     use Adianti\Base\AdiantiStandardFormTrait// Standard form methods
  9.  
  10.     /** 
  11.      * Class constructor
  12.      * Creates the page and the registration form 
  13.      */ 
  14.     function __construct()
  15.     {
  16.         parent::__construct();
  17.         $rec_tabela 'Checklist';
  18.         $rec_descricao 'descricao'
  19.  
  20.         // creates the form 
  21.         $this->form = new BootstrapFormBuilder('form_AplicacoesChecklist');
  22.         $this->form->setFormTitle('Processamento de CheckLit');
  23.         $this->form->setProperty('style''margin:0;border:0');
  24.   
  25.         $this->setDatabase('pcmman');              // defines the database
  26.         $this->setActiveRecord('AplicacoesChecklist');     // defines the active record
  27.  
  28.         // create the form fields
  29.         $id = new TEntry('id');
  30.       
  31.        
  32.         $this->processo_id = new TDBCombo('processo_id','pcmman','ProcessosChecklist','id','descricao');
  33.         $this->checklist_id = new TDBCombo('plano_id','pcmman',$rec_tabela,'id',$rec_descricao);
  34.         $data_aplicacao = new TDate('data_aplicacao');
  35.         $user_id = new TDBCombo('user_id','pcmman','SystemUser','id','name');
  36.         $situacao = new TCombo('situacao');
  37.         $this->tipocheck = new TCombo('tipocheck');
  38.         
  39.         $this->tipocheck->setChangeAction( new TAction( [$this'onChangeCheck'] ) );
  40.         $this->localiza_id = new TSeekButton('localiza_id');
  41.         $placa_descricao = new TEntry('placa_desc');
  42.         $obj_equipto    = new LocalizacaoSeek();
  43.         $obj_equipto->set_formulario('form_AplicacoesChecklist');
  44.         $action_equipto = new TAction(array($obj_equipto'onReload'));
  45.         $this->localiza_id->setAction($action_equipto);
  46.         $placa_descricao->setEditable(FALSE);
  47.      
  48.         $horimetro = new TEntry('horimetro');
  49.         $odometro  = new TEntry('odometro');
  50.         $resultado = new TCombo('resultado');
  51.  
  52.         // create the form labels
  53.         $label_id = new TLabel('Id');
  54.         $label_localiza_id = new TLabel('Localização');
  55.         $label_processo_id = new TLabel('Processo');
  56.         $label_checklist_id = new TLabel('Plano');
  57.         $label_data_aplicacao = new TLabel('Data da Aplicação');
  58.         $label_user_id = new TLabel('Responsavel');
  59.         $label_situacao = new TLabel('Situação');
  60.         $label_tipocheck = new TLabel('Origem');
  61.         $label_pergunta = new TLabel('Avaliação');
  62.         $label_horimetro = new TLabel('Horimetro');
  63.         $label_odometro  = new TLabel('Odômetro');
  64.         $label_resultado = new Tlabel('Equipamento em condições adequadas?');
  65.   
  66.         
  67.          $id->setSize('100%');
  68.          $label_id->setFontStyle('b');
  69.          $this->localiza_id->setSize('100%');
  70.          $label_localiza_id->setFontStyle('b');
  71.          $this->processo_id->setSize('100%');
  72.          $label_processo_id->setFontStyle('b');
  73.          $this->checklist_id->setSize('100%');
  74.          $label_checklist_id->setFontStyle('b');
  75.          $data_aplicacao->setSize('100%');
  76.          $label_data_aplicacao->setFontStyle('b');
  77.          $user_id->setSize('100%');
  78.          $label_user_id->setFontStyle('b');
  79.          $situacao->setSize('100%');
  80.          $this->tipocheck->setSize('100%');
  81.          $situacao->addItems( [ '0'=>'Aguardando','1'=>'Aplicado','2'=>'Salvo' ]);
  82.          $this->tipocheck->addItems( [ '0'=>'Plano Manut.','1'=>'CheckList' ]);
  83.          $resultado->addItems(['0'=>'Não','1'=>'Sim']);
  84.          $label_situacao->setFontStyle('b');
  85.          $label_tipocheck->setFontStyle('b');
  86.          $data_aplicacao->setMask('dd/mm/yyyy');
  87.          $data_aplicacao->setDatabaseMask('yyyy-mm-dd');
  88.          $placa_descricao->setSize('100%');
  89.          // disable fields
  90.          $id->setEditable(FALSE);
  91.          $situacao->setEditable(FALSE);
  92.          $user_id->setEditable(FALSE);
  93.          $this->processo_id->setEditable(FALSE);
  94.          $data_aplicacao->setEditable(FALSE);
  95.  
  96.          $horimetro->setSize('100%');
  97.          $odometro->setSize('100%');
  98.          $resultado->setSize('100%');
  99.  
  100.          $horimetro->setEditable(FALSE);
  101.          $odometro->setEditable(FALSE);
  102.          $resultado->setEditable(FALSE);
  103.  
  104.      
  105.          $label_horimetro->setFontStyle('b');
  106.          $label_odometro->setFontStyle('b');
  107.          $label_resultado->setFontStyle('b');
  108.          // set mask fields
  109.         // add the fields
  110.         $row $this->form->addFields([ $label_id $id] , [ $label_situacao $situacao],[new TLabel('<b>Equipamento</b>'), $placa_descricao]);
  111.         $row->layout =  ['col-sm-3' 'col-sm-3','col-sm-6'];
  112.         $row $this->form->addFields([ $label_processo_id $this->processo_id] , [ $label_data_aplicacao $data_aplicacao],[ $label_user_id $user_id]);
  113.         $row->layout =  ['col-sm-4' 'col-sm-4' 'col-sm-4'];
  114.         $row $this->form->addFields([ $label_horimetro $horimetro] , [ $label_odometro$odometro],[$label_resultado $resultado]);
  115.         $row->layout =  ['col-sm-3' 'col-sm-3' 'col-sm-6'];
  116.          // creates a Datagrid 
  117.          $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid); 
  118.          $this->datagrid->style 'width: 100%';
  119.         
  120.    
  121.          // create the datagrid column
  122.          $column_pergunta    = new TDataGridColumn('pergunta','Pergunta','left');
  123.          $column_resultado   = new TDataGridColumn('valor','Resultado','left');
  124.          $column_observacao  = new TDataGridColumn('observacao','Observação','left');
  125.          $this->datagrid->addColumn($column_pergunta);
  126.          $this->datagrid->addColumn($column_resultado);
  127.          $this->datagrid->addColumn($column_observacao);
  128.          
  129.         
  130.          // create the datagrid model
  131.          $this->datagrid->createModel();
  132.         $notebook1 = new BootstrapNotebookWrapper( new TNotebook(400,230) ); 
  133.         $notebook1->appendPage('CheckList'$this->datagrid);
  134.         $notebook1->appendPage('Programação 1',null);
  135.         $notebook1->appendPage('Programação 2',null);
  136.         $notebook1->appendPage('Programação 3',null);
  137.         $notebook1->appendPage('Programação 4',null);
  138.         $notebook1->appendPage('Programação 5',null);
  139.         // fields required
  140.         $this->localiza_id->addValidation('Localização', new TRequiredValidator);
  141.         $this->processo_id->addValidation('Processo', new TRequiredValidator);
  142.         $this->checklist_id->addValidation('Plano', new TRequiredValidator);
  143.         $user_id->addValidation('Responsável', new TRequiredValidator);
  144.         $situacao->addValidation('Situação', new TRequiredValidator);
  145.         $this->tipocheck->addValidation('Tipo Checklist', new TRequiredValidator);
  146.  
  147.         $this->form->addContent([$notebook1]);
  148.         // set sizes
  149.   
  150.  
  151.         // Action fields
  152.  
  153.        // create the form actions 
  154.         $btn $this->form->addAction(_t('Save'), new TAction([$this'onSave']), 'fa:save');
  155.         $btn->class 'btn btn-sm btn-primary';
  156.         $this->form->addActionLink(_t('New'),  new TAction([$this'onEdit']), 'fa:plus green');
  157.         $this->form->addHeaderActionLink_t('Close'), new TAction(array('ProcessaAplChecklistList''onReload')), 'fa:times red');
  158.  
  159.          // vertical box container 
  160.         $container = new TVBox;
  161.         $container->style ='width: 100%';
  162.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  163.         $container->add($this->form);
  164.  
  165.         parent::add($container);
  166.    }
  167.    public static function onChangeCheck($param)
  168.    {
  169.        try
  170.        {
  171.            TTransaction::open('pcmman');
  172.         
  173.          
  174.            if (isset($param['tipocheck']))
  175.            {
  176.               if ($param['tipocheck'] == '0')
  177.               {
  178.                 $rec_tabela 'PlanoManutencao';
  179.                 $rec_descricao '{descricao}'
  180.                 TScript::create("$('li[role=presentation]').eq(1).show();");
  181.           
  182.               } elseif ($param['tipocheck'] == '1')   
  183.               {
  184.                 $rec_tabela 'Checklist';
  185.                 $rec_descricao '{descricao}';                     
  186.                 TScript::create("$('li[role=presentation]').eq(1).hide();");
  187.               }  
  188.               
  189.                // formname, field, database, model, key, value, ordercolumn = NULL, criteria = NULL, startEmpty = FALSE
  190.                
  191.                TDBCombo::reloadFromModel('form_AplicacoesChecklist''plano_id''pcmman'$rec_tabela'id'$rec_descricao);
  192.            }
  193.            else
  194.            {
  195.             TDBCombo::clearField('form_AplicacoesChecklist''plano_id');   
  196.            }
  197.                       
  198.            TTransaction::close();
  199.        }
  200.        catch (Exception $e)
  201.        {
  202.            new TMessage('error'$e->getMessage());
  203.        }
  204.    }  
  205.    public function onEdit($param)
  206.    {
  207.        try
  208.        {
  209.            TTransaction::open('pcmman');
  210.        
  211.            if (isset($param['key']))
  212.            {
  213.                $key $param['key'];
  214.                
  215.                $object = new AplicacoesChecklist($key);
  216.              
  217.                if($object->situacao=='2')
  218.                {
  219.               //  $this->localiza_id->setProperty('disabled', '1');
  220.                 $this->localiza_id->setEditable(FALSE);
  221.                 $this->processo_id->setProperty('disabled''1');
  222.                 $this->checklist_id->setEditable(FALSE);
  223.                 $this->tipocheck->setEditable(FALSE);
  224.               
  225.                }
  226.                $equipamentos              = new ViewLocalizacao($key);
  227.                $object->placa_desc        '('.$equipamentos->placa.') '.$equipamentos->descricao.' Local: '.$equipamentos->local.' ('.$equipamentos->cliente.')';
  228.                $this->form->setData($object);   
  229.                if($object->tipocheck == '1')
  230.                {
  231.                  TScript::create("$('li[role=presentation]').eq(1).hide();");
  232.                }
  233.                else
  234.                {
  235.                 TScript::create("$('li[role=presentation]').eq(1).show();");
  236.               }             
  237.                TTransaction::close();
  238.            }
  239.            else
  240.            {
  241.                $this->form->clear();
  242.                
  243.               $data = new StdClass;
  244.               $rec_tabela 'Checklist';
  245.               $rec_descricao 'descricao';
  246.               $data->tipocheck '1';
  247.               $data->situacao '0';
  248.               TScript::create("$('li[role=presentation]').eq(1).hide();"); 
  249.               $this->form->setData($data);
  250.            }
  251.        }
  252.        catch (Exception $e)
  253.        {
  254.            new TMessage('error'$e->getMessage());
  255.            TTransaction::rollback();
  256.        }
  257.    }
  258.  }
  259. ?>

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (2)


DA

Fazendo alguns testes, se faço outro addContent com o mesmo notebook, todas as abas aparecem.
DA

Problema resolvido!

Estava usando umas abas antes no form e apaguei para usar o Notebook, porém esqueci de apagar o comando que escondia a segunda aba, só que nem lembrava mais disso, DNA (Data de Nascimento Antiga) é assim mesmo.


TScript::create("$('li[role=presentation]').eq(1).hide();");

  1. <?php
  2.         if($object->tipocheck == '1')
  3.                {
  4.                  TScript::create("$('li[role=presentation]').eq(1).hide();");
  5.                }
  6.                else
  7.                {
  8.                 TScript::create("$('li[role=presentation]').eq(1).show();");
  9.               }  
  10. ?>


Editado 31/10/2022 (há 1 ano) - Ver alterações