Автоматическое увеличение/автоматическое изменение размера TextArea с помощью GwtQuery

Это мой код для TextArea, который автоматически изменяет размер (я использую Errai, поэтому TextArea вводится кстати):

@Inject
@DataField
TextArea content;

@AfterInitialization
public void afterInit(){
content.getElement().setAttribute("wrap","off");

        content.addKeyUpHandler(new KeyUpHandler() {
            @Override
            public void onKeyUp(KeyUpEvent event) {
                $(content)
                        .css("overflow-y", "hidden")
                        .css("overflow-x", "auto")
                        .css(CSS.HEIGHT, "300px")
                        .css(CSS.HEIGHT, DOM.getElementPropertyInt(content.getElement(),"scrollHeight")  + "px");
            }
        });

        content.addValueChangeHandler(new ValueChangeHandler<String>() {
            @Override
            public void onValueChange(ValueChangeEvent<String> event) {
                $(content)
                        .css("overflow-y", "hidden")
                        .css("overflow-x", "auto")
                        .css(CSS.HEIGHT, "300px")
                        .css(CSS.HEIGHT, DOM.getElementPropertyInt(content.getElement(),"scrollHeight")  + "px");
            }
        });

        content.addMouseUpHandler(new MouseUpHandler() {
            @Override
            public void onMouseUp(MouseUpEvent event) {
                $(content)
                        .css("overflow-y", "hidden")
                        .css("overflow-x", "auto")
                        .css(CSS.HEIGHT, "300px")
                        .css(CSS.HEIGHT, DOM.getElementPropertyInt(content.getElement(),"scrollHeight")  + "px");
            }
        });
}

Этот код отлично работает с несколькими проблемами, на которые я хочу обратить внимание:

  • Код не выглядит элегантно, код избыточен, есть ли способ его упростить
  • При вводе текста TextArea автоматически увеличивается, а команда CTRL + V также заставляет его увеличиваться вместе с содержимым, однако пункт ПРАВЫЙ ЩЕЛЧОК + Вставить в контекстном меню не увеличивается автоматически, вам нужно снова щелкнуть TextArea во второй раз, чтобы вызвать его рост .
  • Когда TextArea растет, он довольно крутой, можно ли добиться плавного эффекта?

person quarks    schedule 16.03.2014    source источник
comment
Вы задали этот вопрос GWT — Autogrow TextArea в GWT. Хотите попробовать это и с GwtQuery?   -  person Braj    schedule 16.03.2014
comment
@manolo-carrasco-monino Надеюсь, вы сможете проверить этот вопрос. Ваше здоровье!   -  person quarks    schedule 18.03.2014
comment
@Braj это другой подход   -  person quarks    schedule 20.03.2014