| Author |
Message |
|
|
opz, errei =)
é só dentro das tags normal...
tava de madrugada, devo ter confundido as tags hehe
|
 |
|
|
Thz
Esqueci de falar também:
Com esses recursos ele não é um botão só de "submit", é um botão para ser usado no grid e outros lugares que precisa daquele botões com imagem e as vezes confirmação da ação...
|
 |
|
|
Acho que está funcionando blz, mas só uma dúvida:
Não vai ter o recurso ao contrário? Que seria tipo o OVFilter...
output.setObject(User);
|
 |
|
|
hmm, esqueci de falar, tem que colocar o <mtw2:buttonConfig/> no header igual as outras dyntags.
Ve se é isso =)
|
 |
|
|
Nome:
Code:
<mtw:inputText name="nome" title="Informe o Nome" tabindex="1" accesskey="n"/>
Isso que você quer?
Veja que o campo Nome tem o N sublinhado indicando que esse campo pode ser acionado (foco) pela letra N.
Além disso ele seria o primeiro campo da tela quando precionasse tab.
Mas como tabindex = 1, ele já vem com foco.
|
 |
|
|
|
mais 7 dentro do ValidationFilter né? hehe =)
|
 |
|
|
Esse relogio do fórum que é todo errado, já são 02:35h... :/
hehe
|
 |
|
|
Estou colocando em anexo um mentawai-button.jar
É o jar de um componente de botão para testarem ou avaliarem.
Para testar, tem que importar (atenção, é outro jar):
Code:
<%@ taglib uri="/WEB-INF/lib/mentawai-button.jar" prefix="mtw2" %>
E usar a tag:
Code:
<mtw2:button name="btn" onclick="this.form.submit();" keyValue="button.enviar" keyWaiting="button.msg.processando" keyConfirm="button.msg.confirmar" tabindex="1"/>
O que isso faz?
Bom, um botão de submit todo mundo já conhece... Só que ele tem alguns problemas se for espalhado pela aplicação.
Alguns deles:
se você usar um label 'Salvar' no botão do HTML e o cliente mala falar que quer 'Gravar', tem que sair alterando todas as telas;
se o botão for do tipo button, e o cliente chato novamente falar que não quer mais o botão feio do HTML e quer uma imagem, a pessoa vai ter que sair alterando todas as telas;
se o sistema for internacionalizado não vai poder ser 'Salvar' sempre, cada lingua tem que ter um label...
se o botão é de uma operação critica, e ao clicar seria bom exibir uma mensagem para o usuário perguntando se ele quer realmente prosseguir, a gente tem que ficar programando javascript de confirmação toda hora;
se o usuário clica no botão, o sistema está processando e ele não tem paciência e fica clicando no botão toda hora, vai dar merda... =)
Esses e outros problemas não tem como resolver fácil com o botão do HTML. E o Mentawai não tem nenhum componente de botão, então resolvi fazer um que é meio espertinho mesmo e resolve tudo isso sem dar trabalho.
Como funciona
Os atributos do botão que vão exibir dados na tela são keys, como:
keyValue, keyWaiting, keyConfirm.
Então o value é uma key do arquivo i18n Master. Se não encontrar a key, exibe ela mesmo.
Então no exemplo, keyValue="button.enviar". Se não tiver "button.enviar" no i18n, esse vai ser o value do botão... Assim apesar de key funciona sem i18n também.
Esse keyValue é esperto... Se no arquivo de i18n ele for um texto, o componente vai renderizar um objeto do tipo input button. Se terminar com .gif, .jpg ou .png (exemplo: button.enviar=teste.gif), ele vai renderizar um objeto do tipo imagem na tela... (vai procurar a imagem dentro de dyntags/button, onde estao o css e js do button).
Então até aqui está garantido umas 3 ou 4 coisas: os botões vão ter o mesmo label em todo o sistema, se precisar trocar tem que mexer só no arquivo i18n. Eles são internacionalizados. E também são dinâmicos - tanto podem ser input quanto imagem, trocando só o valor da key.
Aquele keyConfirm se preenchido exibe uma mensagem de confirmação para o usuário com o valor da sua key. Daqueles tipos: "Você quer realmente excluir todos os registros? [sim / não]"... Então essa parte também é tranquila.
E aquele keyWaiting se preenchido e quando a pessoa clicar no botão, exibe um div no primeiro nível da tela com uma mensagem de processando ou aguarde. Esse div aparece em alpha (transparente) em cima de todos os componentes da tela, impedindo que o usuário fique clicando nos botões da tela antes de acabar o processamento daquela requisição.
Tem umas outras coisas ainda, mas eu não vou nem falar...
aff, escrevi pra caramba :/
Sergio ser falar que essa é mais ou menos vou te tacar pedra =)
|
 |
|
|
Ta ai o patch do tabindex (descobri que o recurso chama tabindex no HTML não taborder... tava trocando as bolas...).
Mas agora as tags input suportam tabindex e accesskey.
Code:
tabindex="1" accesskey="d"
Code:
tabindex="2" accesskey="z"
Esse 2 parametros são opcionais. Mas se colocar isso em uma tag vai ficar com o tab certo no formulario, sem deixar o tab ficar pulando para links, menu do site, etc... E também vai ter tecla de atalho (o accesskey).
No firefox 2, alt+shift+d acionaria aquele primeiro "campo" ali.
Além disso o campo que tiver com tabindex="1" vai ganhar foco de cara quando entrar ná pagina, evitando de nenhum campo ter foco e a pessoa ter que pegar no mouse e clicar no 1 campo da tela...
|
 |
|
|
hauhauhauhauhauhauhauhauhauhauhauhauh
Ok. Não tive sorte na validação... (apesar de q eu n acho n inutil...)
Mas vou tentar nos componentes agora. Só pela provocação vou acabar de pensar naquele esquema de taborder e depois vou fazer um componente ninja q tava pensando aqui, ai quero ver vc ficar de brincadeira hehe...
Esse 9 vai virar 19
Por falar nisso tem mais um I18NUtil da vida que vc não falou nda...
http://forum.mentaframework.org/posts/list/723.page
|
 |
|
|
4 linhas de código vs 7 linhas de código? =)
Ok, esse overload não é crucial... Deixa queto
|
 |
|
|
Mas eu teria que criar vários actions no application manager :/
Ou então ficar fazendo if dentro do initValidator()...
Esse recurso é para não ter que fazer if... Programar com if é chato... Ver se o parametro é != null e como é string EQUALS tal coisa... Se fosse if do ruby ainda ia... hehe
Ele não vai atrapalhar nada... É só algo a mais..., e serve para tirar os if`s Acha ruim?
|
 |
|
|
?
mas e ai? a pessoa teria que fazer o javascript de tab e o de foco?
isso já não pode vir pronto?
|
 |
|
|
|
aprovado? =)
|
 |
|
|
Vamos falar de usabilidade agora =)
O que acham das tags do Mentawai terem um atributo taborder (numérico)?
Sem que o usuário desse tab iria para o próximo campo.
E ao entrar na página o campo com taborder = 0 já ficaria com foco.
Se não quiser foco inicial mas quiser usar o taborder, seria só começar do taborder = 1
Esses recursos de usabilidade são úteis.
Se acharem legal eu faço o patch aqui.
|
 |
|
|