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

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)


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á 2 anos) - Ver alterações