Package elemental.html

Examples of elemental.html.TextAreaElement


   */
  public static GrowableTextArea createWithMinimumRows(String className, int minRows) {
    Preconditions.checkArgument(minRows >= 1, "Minimum rows must be >= 1");
   
    // Create the base text element and pass it in
    TextAreaElement element = Elements.createTextAreaElement();
    element.setClassName(className);
    element.setRows(minRows);
    element.getStyle().setOverflowY(CSSStyleDeclaration.OverflowY.HIDDEN);

    return new GrowableTextArea(element, minRows);
  }
View Full Code Here


    return nativeKeyUpDispatcher.handled;
  }

  private TextAreaElement createInputElement() {
    final TextAreaElement inputElement = Elements.createTextAreaElement();

    // Ensure it is offscreen
    inputElement.getStyle().setPosition(CSSStyleDeclaration.Position.ABSOLUTE);
    inputElement.getStyle().setLeft("-100000px");
    inputElement.getStyle().setTop("0");
    inputElement.getStyle().setHeight("1px");
    inputElement.getStyle().setWidth("1px");
    /*
     * Firefox doesn't seem to respect just the NOWRAP value, so we need to set
     * the legacy wrap attribute.
     */
    inputElement.setAttribute("wrap", "off");

    // Attach listeners
    /*
     * For text events, call inputHandler.handleInput(event, text) if the text
     * entered was > 1 character -> from a paste event. This gets fed directly
     * into the document. Single keypresses all get captured by signalEventListener
     * and passed through the shortcut system.
     *
     * TODO: This isn't actually true, there could be paste events
     * of only one character. Change this to check if the event was a clipboard
     * event.
     */
    inputElement.addEventListener(EVENT_TEXTINPUT, new EventListener() {
      @Override
      public void handleEvent(Event event) {
        /*
         * TODO: figure out best event to listen to. Tried "input",
         * but see http://code.google.com/p/chromium/issues/detail?id=76516
         */
        String text = ((TextEvent) event).getData();
        if (text.length() <= 1) {
          return;
        }
        setInputText("");
        activeInputScheme.handleEvent(SignalEventUtils.create(event), text);
      }
    }, false);

    if (BrowserUtils.isFirefox()) {
      inputElement.addEventListener(Event.INPUT, new EventListener() {
        @Override
        public void handleEvent(Event event) {
          /*
           * TODO: FF doesn't support textInput, and Chrome's input
           * is buggy.
           */
          String text = getInputText();
          if (text.length() <= 1) {
            return;
          }
          setInputText("");

          activeInputScheme.handleEvent(SignalEventUtils.create(event), text);

          event.preventDefault();
          event.stopPropagation();
        }
      }, false);
    }

    EventListener signalEventListener = new EventListener() {
      @Override
      public void handleEvent(Event event) {
        SignalEvent signalEvent = SignalEventUtils.create(event);
        if (signalEvent != null) {
          processSignalEvent(signalEvent);
        } else if ("keyup".equals(event.getType())) {
          boolean handled = dispatchKeyUp(event);
          if (handled) {
            // Prevent any browser handling.
            event.preventDefault();
            event.stopPropagation();
          }
        }
      }
    };

    /*
     * Attach to all of key events, and the SignalEvent logic will filter
     * appropriately
     */
    inputElement.addEventListener(Event.KEYDOWN, signalEventListener, false);
    inputElement.addEventListener(Event.KEYPRESS, signalEventListener, false);
    inputElement.addEventListener(Event.KEYUP, signalEventListener, false);
    inputElement.addEventListener(Event.COPY, signalEventListener, false);
    inputElement.addEventListener(Event.PASTE, signalEventListener, false);
    inputElement.addEventListener(Event.CUT, signalEventListener, false);

    return inputElement;
  }
View Full Code Here

    addClassesToElement(elem, classNames);
    return elem;
  }

  public static TextAreaElement createTextAreaElement(String... classNames) {
    TextAreaElement elem = getDocument().createTextAreaElement();
    addClassesToElement(elem, classNames);
    return elem;
  }
View Full Code Here

    addClassesToElement(elem, classNames);
    return elem;
  }

  public static TextAreaElement createTextAreaElement(String... classNames) {
    TextAreaElement elem = getDocument().createTextAreaElement();
    addClassesToElement(elem, classNames);
    return elem;
  }
View Full Code Here

TOP

Related Classes of elemental.html.TextAreaElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.