DA
TNumeric desabilitado, fica ativo clicando com o mouse em cima.
Não consegui encontrar nenhum post que tratasse desse assunto no fórum, pelas buscas que fiz. Como ainda estou engatinhando no Adianti Framework, solicito mais uma vez a ajuda dos amigos.
Problema é que desabilito um TNumeric com o setEditable(false) ou TNumeric::disableField('form','campo'), aparece com a aparência de desabilitado, porém ao clicar com o mouse em cima fica editavel, já não acontece com um TEntry.
Em anexo mostro as telas com o comportamento do campo.
Segue o código-fonte abaixo onde estava trabalhando e encontrei o problema, porém fiz um teste nos outros form e o mesmo problema acontece, basta desabilitar um TNumeric e clicar com o mouse sem cima, alguém já passou por esse problema? Tem alguma solução?
Problema é que desabilito um TNumeric com o setEditable(false) ou TNumeric::disableField('form','campo'), aparece com a aparência de desabilitado, porém ao clicar com o mouse em cima fica editavel, já não acontece com um TEntry.
Em anexo mostro as telas com o comportamento do campo.
Segue o código-fonte abaixo onde estava trabalhando e encontrei o problema, porém fiz um teste nos outros form e o mesmo problema acontece, basta desabilitar um TNumeric e clicar com o mouse sem cima, alguém já passou por esse problema? Tem alguma solução?
- <?php
- public static function onInputDialog( $param )
- {
- // input fields
- $formlog = new BootstrapFormBuilder('acerta_titulo');
- $documento = new TEntry('documento');
- $documento->setValue($param['documento']);
- $parcela = new TEntry('parcela');
- $parcela->setValue($param['parcela']);
- $id = new TEntry('id');
- $id->setValue($param['key']);
- $valor = new TNumeric('valor',2,',','.');
- $valor->setValue($param['valor']);
- $juros = new TNumeric('juros',2,',','.');
- $juros->setValue($param['juros']);
- $multa = new TNumeric('multa',2,',','.');
- $multa->setValue($param['multa']);
- $pagar = new TNumeric('pagar',2,',','.');
- $pagar->setValue($param['pagar']);
- $id->setEditable(false);
- $documento->setEditable(false);
- $parcela->setEditable(false);
- // $valor->setEditable(false); <-- tentei da primeira forma
- TNumeric::disableField('acerta_titulo','valor'); // <-- tentei da segunda forma
- $pagar->setEditable(false);
- $formlog->addFields( [new TLabel('Id')],[$id]);
- $formlog->addFields( [new TLabel('Documento')], [$documento] );
- $formlog->addFields( [new TLabel('Parcela')], [$parcela] );
- $formlog->addFields( [new TLabel('Valor')], [$valor] );
- $formlog->addFields( [new TLabel('Juros')], [$juros] );
- $formlog->addFields( [new TLabel('Multa')], [$multa] );
- $formlog->addFields( [new TLabel('Pagar')], [$pagar] );
- // form action
- $formlog->addAction('Confirm', new TAction(array(__CLASS__, 'onConfirm')), 'fa:save green');
- // show input dialot
- new TInputDialog('Alteração de Parcela', $formlog);
- }
- ?>
Damião, passamos pelo mesmo problema, pelo visto é um BUG no TNUMERIC com a opçao Desable, então fizemos o seguinte:
Bom dia, Marcelo valeu pela dica, no meu caso encontrei um problema quando usava o setValue para o campo, a mascara não convertia para o nosso padrão. Assim fiz uma alteração na sua dica, como não vou fazer entrada de valor nesse campo no form, as entradas serão TNumeric mesmo, ficou desta forma:
Como gosto de caçar bits foi verificar o porque do problema, até encontrei onde faz o tratamento na unit TEntry.php, nesse trecho abaixo:
Quando está FALSE para editar, ele ativa o READONLY , desabilita o campo, tira o tabindex para não passar pelo campo, o TNumeric aparentemente deveria funcionar já que descende do TEntry, mas alguma coisa no onenter dele com o mouse desativa o READONLY, agora como resolver só com os universitários da Adianti. Se fosse o velho Delphi..rsrs
Abraços e obrigado pela ajuda.
Show Damião....