andersonfreitas / vaadin-masked-textfield

A MaskedTextfield for Vaadin
http://vaadin.com/addon/maskedtextfield
Apache License 2.0
13 stars 24 forks source link

Problema de posição de cursor ao clicar no campo e setImmediate(true) #15

Open andersonajx opened 11 years ago

andersonajx commented 11 years ago

Olá.

Seu componente está sendo muito útil no meu projeto. Espero que você não abandone ele.

Bom, eu estou usando o MaskedTextField e percebi que sempre que clico em cima do componente, o cursor vai para o final, obrigando o usuário a voltar o cursor no início.

Outro detalhe que percebi, foi quando utilizo um Validator e setImmediate(true). O componente simplesmente fica louco. A máscara perde totalmente a formatação.

Me desculpe se não consegui ser muito claro.

Abraços.

EduFrazao commented 11 years ago

Boa tarde Anderson. Percebi essa falha há alguns dias (setImmediate) e submeti um patch no meu fork (https://github.com/EduFrazao/vaadin-masked-textfield/commit/c833310eb6b38dfecf8f9b72cb1b04fbd62d589c)

Quanto ao fato dele ir para o fim da mascara, percebi isto em produção, e por incrível que pareça não consegui replicar na app de testes do projeto. Vou trabalhar nesta falha e te aviso. Por hora submeti esse fix por considerá-lo crítico. Espero que isso possa te ajudar!

andersonajx commented 11 years ago

Valeu cara.

Abraços.

andersonfreitas commented 11 years ago

@EduFrazao, como podemos fazer para colocar essas atualizações do seu fork no Addons Directory? Assim todos se beneficiam...

andersonfreitas commented 11 years ago

@andersonajx, confesso que o componente estava abandonado por quase 2 anos, mas estou reassumindo a responsabilidade de colocar os novos updates no Addons Directory, principalmente para garantir a compatibilidade com a v7.

EduFrazao commented 11 years ago

Boa noite @andersonfreitas, beleza cara? Desculpe a demora. Correria aqui. Vou corrigir o outro bug que o @andersonajx reportou, e vou te mandar um pull request. Aí, vc pode testá-lo, e aprovando, subir no Directory!

Att,

EduFrazao commented 11 years ago

@andersonajx, brother, corrigi o problema da posição inicial do cursor. Atualizei o componente para suporte ao Vaadin 7.1. Pequenas mudanças. Você já evoluiu seu projeto para esta versão ou você precisa dessa correção para a versão 7.0?

marcosmussi commented 9 years ago

Olá Edu,

Tentei baixar o addon a partir do site do Vaadin, via Ivy, mas lança a exceção abaixo ao executar a aplicação. Estou usando o Vaadin 7.4.2. Pode me auxiliar? dependency org="org.vaadin.addons" name="maskedtextfield" rev="0.1.1" /

. Mar 19, 2015 11:14:01 PM org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet [com.example.tester.TesterUI$Servlet] in context with path [/tester] threw exception [com.vaadin.server.ServiceException: java.lang.NoClassDefFoundError: com/vaadin/terminal/PaintTarget] with root cause java.lang.ClassNotFoundException: com.vaadin.terminal.PaintTarget at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.getDeclaredMethod(Unknown Source) at com.vaadin.server.AbstractClientConnector.findStateType(AbstractClientConnector.java:292) at com.vaadin.server.AbstractClientConnector.getStateType(AbstractClientConnector.java:281) at com.vaadin.server.AbstractClientConnector.createState(AbstractClientConnector.java:268) at com.vaadin.server.AbstractClientConnector.getState(AbstractClientConnector.java:232) at com.vaadin.ui.AbstractComponent.getState(AbstractComponent.java:697) at com.vaadin.ui.AbstractField.getState(AbstractField.java:1701) at com.vaadin.ui.AbstractTextField.getState(AbstractTextField.java:106) at com.vaadin.ui.AbstractTextField.getState(AbstractTextField.java:41) at com.vaadin.ui.AbstractComponent.isReadOnly(AbstractComponent.java:602) at com.vaadin.ui.AbstractField.isReadOnly(AbstractField.java:205) at com.vaadin.ui.AbstractField.setValue(AbstractField.java:470) at com.vaadin.ui.AbstractField.setValue(AbstractField.java:451) at com.vaadin.ui.AbstractTextField.setValue(AbstractTextField.java:455) at com.vaadin.ui.TextField.clear(TextField.java:146) at com.vaadin.ui.TextField.(TextField.java:51) at com.vaadin.ui.MaskedTextField.(MaskedTextField.java:23) at com.example.tester.TesterUI.init(TesterUI.java:37) at com.vaadin.ui.UI.doInit(UI.java:646) at com.vaadin.server.communication.UIInitHandler.getBrowserDetailsUI(UIInitHandler.java:214) at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:74) at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41) at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1408) at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:350) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)