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.
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.
- <?php
- class ProcessaAplChecklistForm extends TPage
- {
- protected $form; // form
- protected $rec_tabela;
- protected $rec_descricao;
- protected $notebook1;
- use Adianti\Base\AdiantiStandardFormTrait; // Standard form methods
- /**
- * Class constructor
- * Creates the page and the registration form
- */
- function __construct()
- {
- parent::__construct();
- $rec_tabela = 'Checklist';
- $rec_descricao = 'descricao';
- // creates the form
- $this->form = new BootstrapFormBuilder('form_AplicacoesChecklist');
- $this->form->setFormTitle('Processamento de CheckLit');
- $this->form->setProperty('style', 'margin:0;border:0');
- $this->setDatabase('pcmman'); // defines the database
- $this->setActiveRecord('AplicacoesChecklist'); // defines the active record
- // create the form fields
- $id = new TEntry('id');
- $this->processo_id = new TDBCombo('processo_id','pcmman','ProcessosChecklist','id','descricao');
- $this->checklist_id = new TDBCombo('plano_id','pcmman',$rec_tabela,'id',$rec_descricao);
- $data_aplicacao = new TDate('data_aplicacao');
- $user_id = new TDBCombo('user_id','pcmman','SystemUser','id','name');
- $situacao = new TCombo('situacao');
- $this->tipocheck = new TCombo('tipocheck');
- $this->tipocheck->setChangeAction( new TAction( [$this, 'onChangeCheck'] ) );
- $this->localiza_id = new TSeekButton('localiza_id');
- $placa_descricao = new TEntry('placa_desc');
- $obj_equipto = new LocalizacaoSeek();
- $obj_equipto->set_formulario('form_AplicacoesChecklist');
- $action_equipto = new TAction(array($obj_equipto, 'onReload'));
- $this->localiza_id->setAction($action_equipto);
- $placa_descricao->setEditable(FALSE);
- $horimetro = new TEntry('horimetro');
- $odometro = new TEntry('odometro');
- $resultado = new TCombo('resultado');
- // create the form labels
- $label_id = new TLabel('Id');
- $label_localiza_id = new TLabel('Localização');
- $label_processo_id = new TLabel('Processo');
- $label_checklist_id = new TLabel('Plano');
- $label_data_aplicacao = new TLabel('Data da Aplicação');
- $label_user_id = new TLabel('Responsavel');
- $label_situacao = new TLabel('Situação');
- $label_tipocheck = new TLabel('Origem');
- $label_pergunta = new TLabel('Avaliação');
- $label_horimetro = new TLabel('Horimetro');
- $label_odometro = new TLabel('Odômetro');
- $label_resultado = new Tlabel('Equipamento em condições adequadas?');
- $id->setSize('100%');
- $label_id->setFontStyle('b');
- $this->localiza_id->setSize('100%');
- $label_localiza_id->setFontStyle('b');
- $this->processo_id->setSize('100%');
- $label_processo_id->setFontStyle('b');
- $this->checklist_id->setSize('100%');
- $label_checklist_id->setFontStyle('b');
- $data_aplicacao->setSize('100%');
- $label_data_aplicacao->setFontStyle('b');
- $user_id->setSize('100%');
- $label_user_id->setFontStyle('b');
- $situacao->setSize('100%');
- $this->tipocheck->setSize('100%');
- $situacao->addItems( [ '0'=>'Aguardando','1'=>'Aplicado','2'=>'Salvo' ]);
- $this->tipocheck->addItems( [ '0'=>'Plano Manut.','1'=>'CheckList' ]);
- $resultado->addItems(['0'=>'Não','1'=>'Sim']);
- $label_situacao->setFontStyle('b');
- $label_tipocheck->setFontStyle('b');
- $data_aplicacao->setMask('dd/mm/yyyy');
- $data_aplicacao->setDatabaseMask('yyyy-mm-dd');
- $placa_descricao->setSize('100%');
- // disable fields
- $id->setEditable(FALSE);
- $situacao->setEditable(FALSE);
- $user_id->setEditable(FALSE);
- $this->processo_id->setEditable(FALSE);
- $data_aplicacao->setEditable(FALSE);
- $horimetro->setSize('100%');
- $odometro->setSize('100%');
- $resultado->setSize('100%');
- $horimetro->setEditable(FALSE);
- $odometro->setEditable(FALSE);
- $resultado->setEditable(FALSE);
- $label_horimetro->setFontStyle('b');
- $label_odometro->setFontStyle('b');
- $label_resultado->setFontStyle('b');
- // set mask fields
- // add the fields
- $row = $this->form->addFields([ $label_id , $id] , [ $label_situacao , $situacao],[new TLabel('<b>Equipamento</b>'), $placa_descricao]);
- $row->layout = ['col-sm-3' , 'col-sm-3','col-sm-6'];
- $row = $this->form->addFields([ $label_processo_id , $this->processo_id] , [ $label_data_aplicacao , $data_aplicacao],[ $label_user_id , $user_id]);
- $row->layout = ['col-sm-4' , 'col-sm-4' , 'col-sm-4'];
- $row = $this->form->addFields([ $label_horimetro , $horimetro] , [ $label_odometro, $odometro],[$label_resultado , $resultado]);
- $row->layout = ['col-sm-3' , 'col-sm-3' , 'col-sm-6'];
- // creates a Datagrid
- $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
- $this->datagrid->style = 'width: 100%';
- // create the datagrid column
- $column_pergunta = new TDataGridColumn('pergunta','Pergunta','left');
- $column_resultado = new TDataGridColumn('valor','Resultado','left');
- $column_observacao = new TDataGridColumn('observacao','Observação','left');
- $this->datagrid->addColumn($column_pergunta);
- $this->datagrid->addColumn($column_resultado);
- $this->datagrid->addColumn($column_observacao);
- // create the datagrid model
- $this->datagrid->createModel();
- $notebook1 = new BootstrapNotebookWrapper( new TNotebook(400,230) );
- $notebook1->appendPage('CheckList', $this->datagrid);
- $notebook1->appendPage('Programação 1',null);
- $notebook1->appendPage('Programação 2',null);
- $notebook1->appendPage('Programação 3',null);
- $notebook1->appendPage('Programação 4',null);
- $notebook1->appendPage('Programação 5',null);
- // fields required
- $this->localiza_id->addValidation('Localização', new TRequiredValidator);
- $this->processo_id->addValidation('Processo', new TRequiredValidator);
- $this->checklist_id->addValidation('Plano', new TRequiredValidator);
- $user_id->addValidation('Responsável', new TRequiredValidator);
- $situacao->addValidation('Situação', new TRequiredValidator);
- $this->tipocheck->addValidation('Tipo Checklist', new TRequiredValidator);
- $this->form->addContent([$notebook1]);
- // set sizes
- // Action fields
- // create the form actions
- $btn = $this->form->addAction(_t('Save'), new TAction([$this, 'onSave']), 'fa:save');
- $btn->class = 'btn btn-sm btn-primary';
- $this->form->addActionLink(_t('New'), new TAction([$this, 'onEdit']), 'fa:plus green');
- $this->form->addHeaderActionLink( _t('Close'), new TAction(array('ProcessaAplChecklistList', 'onReload')), 'fa:times red');
- // vertical box container
- $container = new TVBox;
- $container->style ='width: 100%';
- // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $container->add($this->form);
- parent::add($container);
- }
- public static function onChangeCheck($param)
- {
- try
- {
- TTransaction::open('pcmman');
- if (isset($param['tipocheck']))
- {
- if ($param['tipocheck'] == '0')
- {
- $rec_tabela = 'PlanoManutencao';
- $rec_descricao = '{descricao}';
- TScript::create("$('li[role=presentation]').eq(1).show();");
- } elseif ($param['tipocheck'] == '1')
- {
- $rec_tabela = 'Checklist';
- $rec_descricao = '{descricao}';
- TScript::create("$('li[role=presentation]').eq(1).hide();");
- }
- // formname, field, database, model, key, value, ordercolumn = NULL, criteria = NULL, startEmpty = FALSE
- TDBCombo::reloadFromModel('form_AplicacoesChecklist', 'plano_id', 'pcmman', $rec_tabela, 'id', $rec_descricao);
- }
- else
- {
- TDBCombo::clearField('form_AplicacoesChecklist', 'plano_id');
- }
- TTransaction::close();
- }
- catch (Exception $e)
- {
- new TMessage('error', $e->getMessage());
- }
- }
- public function onEdit($param)
- {
- try
- {
- TTransaction::open('pcmman');
- if (isset($param['key']))
- {
- $key = $param['key'];
- $object = new AplicacoesChecklist($key);
- if($object->situacao=='2')
- {
- // $this->localiza_id->setProperty('disabled', '1');
- $this->localiza_id->setEditable(FALSE);
- $this->processo_id->setProperty('disabled', '1');
- $this->checklist_id->setEditable(FALSE);
- $this->tipocheck->setEditable(FALSE);
- }
- $equipamentos = new ViewLocalizacao($key);
- $object->placa_desc = '('.$equipamentos->placa.') '.$equipamentos->descricao.' Local: '.$equipamentos->local.' ('.$equipamentos->cliente.')';
- $this->form->setData($object);
- if($object->tipocheck == '1')
- {
- TScript::create("$('li[role=presentation]').eq(1).hide();");
- }
- else
- {
- TScript::create("$('li[role=presentation]').eq(1).show();");
- }
- TTransaction::close();
- }
- else
- {
- $this->form->clear();
- $data = new StdClass;
- $rec_tabela = 'Checklist';
- $rec_descricao = 'descricao';
- $data->tipocheck = '1';
- $data->situacao = '0';
- TScript::create("$('li[role=presentation]').eq(1).hide();");
- $this->form->setData($data);
- }
- }
- catch (Exception $e)
- {
- new TMessage('error', $e->getMessage());
- TTransaction::rollback();
- }
- }
- }
- ?>
Fazendo alguns testes, se faço outro addContent com o mesmo notebook, todas as abas aparecem.
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();");