Example usage for com.google.gwt.dom.client BrowserEvents KEYUP

List of usage examples for com.google.gwt.dom.client BrowserEvents KEYUP

Introduction

In this page you can find the example usage for com.google.gwt.dom.client BrowserEvents KEYUP.

Prototype

String KEYUP

To view the source code for com.google.gwt.dom.client BrowserEvents KEYUP.

Click Source Link

Usage

From source file:cc.alcina.framework.gwt.client.widget.dialog.RelativePopupPanel.java

License:Apache License

/**
 * Preview the {@link NativePreviewEvent}.
 * /*from  w  w  w.j a v a2s.  com*/
 * @param event
 *            the {@link NativePreviewEvent}
 */
private void previewNativeEvent(NativePreviewEvent event) {
    // If the event has been canceled or consumed, ignore it
    if (event.isCanceled() || (!previewAllNativeEvents && event.isConsumed())) {
        // We need to ensure that we cancel the event even if its been
        // consumed so
        // that popups lower on the stack do not auto hide
        if (modal) {
            event.cancel();
        }
        return;
    }
    // Fire the event hook and return if the event is canceled
    onPreviewNativeEvent(event);
    if (event.isCanceled()) {
        return;
    }
    // If the event targets the popup or the partner, consume it
    Event nativeEvent = Event.as(event.getNativeEvent());
    boolean eventTargetsPopupOrPartner = eventTargetsPopup(nativeEvent) || eventTargetsPartner(nativeEvent);
    if (eventTargetsPopupOrPartner) {
        event.consume();
    }
    // Cancel the event if it doesn't target the modal popup. Note that the
    // event can be both canceled and consumed.
    if (modal) {
        switch (nativeEvent.getType()) {
        case BrowserEvents.KEYDOWN:
        case BrowserEvents.KEYPRESS:
        case BrowserEvents.KEYUP:
            if (nativeEvent.getAltKey() || nativeEvent.getMetaKey() || nativeEvent.getCtrlKey()) {
                return;
            }
        }
        event.cancel();
    }
    // Switch on the event type
    int type = nativeEvent.getTypeInt();
    switch (type) {
    case Event.ONMOUSEDOWN:
    case Event.ONTOUCHSTART:
        // Don't eat events if event capture is enabled, as this can
        // interfere with dialog dragging, for example.
        if (DOM.getCaptureElement() != null) {
            event.consume();
            return;
        }
        if (!eventTargetsPopupOrPartner && autoHide) {
            EventTarget target = nativeEvent.getEventTarget();
            // if (Element.is(target)) {
            // ClientUtils.dumpElementTree(Element.as(target));
            // }
            hide(true);
            return;
        }
        break;
    case Event.ONMOUSEUP:
    case Event.ONMOUSEMOVE:
    case Event.ONCLICK:
    case Event.ONDBLCLICK: {
        // Don't eat events if event capture is enabled, as this can
        // interfere with dialog dragging, for example.
        if (DOM.getCaptureElement() != null) {
            event.consume();
            return;
        }
        break;
    }
    case Event.ONFOCUS: {
        if (nativeEvent.getEventTarget().is(Element.class)) {
            Element target = nativeEvent.getEventTarget().cast();
            if (modal && !eventTargetsPopupOrPartner && (target != null)) {
                blur(target);
                event.cancel();
                return;
            }
        }
        break;
    }
    case Event.ONKEYPRESS: {
        if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ESCAPE && isHideOnEscape()) {
            hide(false);
            event.cancel();
            return;
        }
        break;
    }
    }
}

From source file:com.gafactory.core.client.ui.grids.TextInputCell.java

License:Apache License

/**
 * Constructs a TextInputCell that renders its text without HTML markup.
 *///from   w ww.j  a  va  2s  .co  m
public TextInputCell() {
    super(BrowserEvents.CHANGE, BrowserEvents.KEYUP);
    if (template == null) {
        template = GWT.create(Template.class);
    }
}

From source file:com.gafactory.core.client.ui.grids.TextInputCell.java

License:Apache License

@Override
public void onBrowserEvent(Context context, Element parent, String value, NativeEvent event,
        ValueUpdater<String> valueUpdater) {
    super.onBrowserEvent(context, parent, value, event, valueUpdater);

    // Ignore events that don't target the input.
    InputElement input = getInputElement(parent);
    Element target = event.getEventTarget().cast();
    if (!input.isOrHasChild(target)) {
        return;/*from  w  w  w .  j ava 2  s .c  o  m*/
    }

    String eventType = event.getType();
    Object key = context.getKey();
    if (BrowserEvents.CHANGE.equals(eventType)) {
        finishEditing(parent, value, key, valueUpdater);
    } else if (BrowserEvents.KEYUP.equals(eventType)) {
        // Record keys as they are typed.
        ViewData vd = getViewData(key);
        if (vd == null) {
            vd = new ViewData(value);
            setViewData(key, vd);
        }
        vd.setCurrentValue(input.getValue());
    }
}

From source file:com.vaadin.client.widget.grid.events.GridKeyUpEvent.java

License:Apache License

@Override
protected String getBrowserEventType() {
    return BrowserEvents.KEYUP;
}

From source file:com.vaadin.client.widgets.Grid.java

License:Apache License

/**
 * Creates a new instance.//from w  ww  . ja v  a  2s.c  o  m
 */
public Grid() {
    initWidget(escalator);
    getElement().setTabIndex(0);
    cellFocusHandler = new CellFocusHandler();

    setStylePrimaryName(STYLE_NAME);

    escalator.getHeader().setEscalatorUpdater(createHeaderUpdater());
    escalator.getBody().setEscalatorUpdater(createBodyUpdater());
    escalator.getFooter().setEscalatorUpdater(createFooterUpdater());

    header.setGrid(this);
    HeaderRow defaultRow = header.appendRow();
    header.setDefaultRow(defaultRow);

    footer.setGrid(this);

    editor.setGrid(this);

    setSelectionMode(SelectionMode.SINGLE);

    escalator.getBody().setSpacerUpdater(gridSpacerUpdater);

    escalator.addScrollHandler(new ScrollHandler() {
        @Override
        public void onScroll(ScrollEvent event) {
            fireEvent(new ScrollEvent());
        }
    });

    escalator.addRowVisibilityChangeHandler(new RowVisibilityChangeHandler() {
        @Override
        public void onRowVisibilityChange(RowVisibilityChangeEvent event) {
            if (dataSource != null && dataSource.size() != 0) {
                dataIsBeingFetched = true;
                dataSource.ensureAvailability(event.getFirstVisibleRow(), event.getVisibleRowCount());
            }
        }
    });

    // Default action on SelectionEvents. Refresh the body so changed
    // become visible.
    addSelectionHandler(new SelectionHandler<T>() {

        @Override
        public void onSelect(SelectionEvent<T> event) {
            refreshBody();
        }
    });

    // Sink header events and key events
    sinkEvents(getHeader().getConsumedEvents());
    sinkEvents(Arrays.asList(BrowserEvents.KEYDOWN, BrowserEvents.KEYUP, BrowserEvents.KEYPRESS,
            BrowserEvents.DBLCLICK, BrowserEvents.MOUSEDOWN, BrowserEvents.CLICK));

    // Make ENTER and SHIFT+ENTER in the header perform sorting
    addHeaderKeyUpHandler(new HeaderKeyUpHandler() {
        @Override
        public void onKeyUp(GridKeyUpEvent event) {
            if (event.getNativeKeyCode() != KeyCodes.KEY_ENTER) {
                return;
            }
            if (getHeader().getRow(event.getFocusedCell().getRowIndex()).isDefault()) {
                // Only sort for enter on the default header
                sorter.sort(event.getFocusedCell().getColumn(), event.isShiftKeyDown());
            }
        }
    });

    addDataAvailableHandler(new DataAvailableHandler() {
        @Override
        public void onDataAvailable(DataAvailableEvent event) {
            dataIsBeingFetched = false;
        }
    });
}

From source file:com.vaadin.client.widgets.Grid.java

License:Apache License

@Override
public void onBrowserEvent(Event event) {
    if (!isEnabled()) {
        return;/*from  ww w .  jav a 2s. c om*/
    }

    String eventType = event.getType();

    if (eventType.equals(BrowserEvents.FOCUS) || eventType.equals(BrowserEvents.BLUR)) {
        super.onBrowserEvent(event);
        return;
    }

    EventTarget target = event.getEventTarget();

    if (!Element.is(target) || isOrContainsInSpacer(Element.as(target))) {
        return;
    }

    Element e = Element.as(target);
    RowContainer container = escalator.findRowContainer(e);
    Cell cell;

    if (container == null) {
        if (eventType.equals(BrowserEvents.KEYDOWN) || eventType.equals(BrowserEvents.KEYUP)
                || eventType.equals(BrowserEvents.KEYPRESS)) {
            cell = cellFocusHandler.getFocusedCell();
            container = cellFocusHandler.containerWithFocus;
        } else {
            // Click might be in an editor cell, should still map.
            if (editor.editorOverlay != null && editor.editorOverlay.isOrHasChild(e)) {
                container = escalator.getBody();
                int rowIndex = editor.getRow();
                int colIndex = editor.getElementColumn(e);

                if (colIndex < 0) {
                    // Click in editor, but not for any column.
                    return;
                }

                TableCellElement cellElement = container.getRowElement(rowIndex).getCells().getItem(colIndex);

                cell = new Cell(rowIndex, colIndex, cellElement);
            } else {
                if (escalator.getElement().isOrHasChild(e)) {
                    eventCell.set(new Cell(-1, -1, null), Section.BODY);
                    // Fire native events.
                    super.onBrowserEvent(event);
                }
                return;
            }
        }
    } else {
        cell = container.getCell(e);
        if (eventType.equals(BrowserEvents.MOUSEDOWN)) {
            cellOnPrevMouseDown = cell;
        } else if (cell == null && eventType.equals(BrowserEvents.CLICK)) {
            /*
             * Chrome has an interesting idea on click targets (see
             * cellOnPrevMouseDown javadoc). Firefox, on the other hand, has
             * the mousedown target as the click target.
             */
            cell = cellOnPrevMouseDown;
        }
    }

    assert cell != null : "received " + eventType + "-event with a null cell target";
    eventCell.set(cell, getSectionFromContainer(container));

    // Editor can steal focus from Grid and is still handled
    if (isEditorEnabled() && handleEditorEvent(event, container)) {
        return;
    }

    // Fire GridKeyEvents and GridClickEvents. Pass the event to escalator.
    super.onBrowserEvent(event);

    if (!isElementInChildWidget(e)) {

        if (handleHeaderCellDragStartEvent(event, container)) {
            return;
        }

        // Sorting through header Click / KeyUp
        if (handleHeaderDefaultRowEvent(event, container)) {
            return;
        }

        if (handleRendererEvent(event, container)) {
            return;
        }

        if (handleCellFocusEvent(event, container)) {
            return;
        }
    }
}

From source file:com.vaadin.v7.client.widgets.Grid.java

License:Apache License

/**
 * Creates a new instance./*from ww  w  .  j av a  2s.  com*/
 */
public Grid() {
    initWidget(escalator);
    getElement().setTabIndex(0);
    cellFocusHandler = new CellFocusHandler();

    setStylePrimaryName(STYLE_NAME);

    escalator.getHeader().setEscalatorUpdater(createHeaderUpdater());
    escalator.getBody().setEscalatorUpdater(createBodyUpdater());
    escalator.getFooter().setEscalatorUpdater(createFooterUpdater());

    header.setGrid(this);
    HeaderRow defaultRow = header.appendRow();
    header.setDefaultRow(defaultRow);

    footer.setGrid(this);

    editor.setGrid(this);

    setSelectionMode(SelectionMode.SINGLE);

    escalator.getBody().setSpacerUpdater(gridSpacerUpdater);

    escalator.addScrollHandler(new ScrollHandler() {
        @Override
        public void onScroll(ScrollEvent event) {
            fireEvent(new ScrollEvent());
        }
    });

    escalator.addRowVisibilityChangeHandler(new RowVisibilityChangeHandler() {
        @Override
        public void onRowVisibilityChange(RowVisibilityChangeEvent event) {
            if (dataSource != null && dataSource.size() != 0) {
                dataSource.ensureAvailability(event.getFirstVisibleRow(), event.getVisibleRowCount());
            }
        }
    });

    // Default action on SelectionEvents. Refresh the body so changed
    // become visible.
    addSelectionHandler(new SelectionHandler<T>() {

        @Override
        public void onSelect(SelectionEvent<T> event) {
            refreshBody();
        }
    });

    // Sink header events and key events
    sinkEvents(getHeader().getConsumedEvents());
    sinkEvents(Arrays.asList(BrowserEvents.KEYDOWN, BrowserEvents.KEYUP, BrowserEvents.KEYPRESS,
            BrowserEvents.DBLCLICK, BrowserEvents.MOUSEDOWN, BrowserEvents.CLICK));

    // Make ENTER and SHIFT+ENTER in the header perform sorting
    addHeaderKeyUpHandler(new HeaderKeyUpHandler() {
        @Override
        public void onKeyUp(GridKeyUpEvent event) {
            if (event.getNativeKeyCode() != KeyCodes.KEY_ENTER) {
                return;
            }
            if (getHeader().getRow(event.getFocusedCell().getRowIndex()).isDefault()) {
                // Only sort for enter on the default header
                sorter.sort(event.getFocusedCell().getColumn(), event.isShiftKeyDown());
            }
        }
    });

    browserEventHandlers.addAll(Arrays.asList(
            // Opening, closing and navigating in the editor
            new EditorEventHandler(),
            // Keyboard and click handlers, Escalator events
            new SuperEventHandler(),
            // Column reordering via header drag&drop
            new HeaderCellDragStartHandler(),
            // Column sorting via header click
            new HeaderDefaultRowEventHandler(),
            // Invoking event-aware renderers
            new RendererEventHandler(),
            // Moving cell focus by keyboard or mouse
            new CellFocusEventHandler()));

}

From source file:com.vaadin.v7.client.widgets.Grid.java

License:Apache License

@Override
public void onBrowserEvent(Event event) {
    if (!isEnabled()) {
        return;/*w  w w.  ja va  2 s .c o  m*/
    }

    String eventType = event.getType();

    if (eventType.equals(BrowserEvents.FOCUS) || eventType.equals(BrowserEvents.BLUR)) {
        super.onBrowserEvent(event);
        return;
    }

    EventTarget target = event.getEventTarget();

    if (!Element.is(target) || isOrContainsInSpacer(Element.as(target))) {
        return;
    }

    Element e = Element.as(target);
    RowContainer container = escalator.findRowContainer(e);
    Cell cell;

    if (container == null) {
        if (eventType.equals(BrowserEvents.KEYDOWN) || eventType.equals(BrowserEvents.KEYUP)
                || eventType.equals(BrowserEvents.KEYPRESS)) {
            cell = cellFocusHandler.getFocusedCell();
            container = cellFocusHandler.containerWithFocus;
        } else {
            // Click might be in an editor cell, should still map.
            if (editor.editorOverlay != null && editor.editorOverlay.isOrHasChild(e)) {
                container = escalator.getBody();
                int rowIndex = editor.getRow();
                int colIndex = editor.getElementColumn(e);

                if (colIndex < 0) {
                    // Click in editor, but not for any column.
                    return;
                }

                TableCellElement cellElement = container.getRowElement(rowIndex).getCells().getItem(colIndex);

                cell = new Cell(rowIndex, colIndex, cellElement);
            } else {
                if (escalator.getElement().isOrHasChild(e)) {
                    eventCell.set(new Cell(-1, -1, null), Section.BODY);
                    // Fire native events.
                    super.onBrowserEvent(event);
                }
                return;
            }
        }
    } else {
        cell = container.getCell(e);
        if (eventType.equals(BrowserEvents.MOUSEDOWN)) {
            cellOnPrevMouseDown = cell;
        } else if (cell == null && eventType.equals(BrowserEvents.CLICK)) {
            /*
             * Chrome has an interesting idea on click targets (see
             * cellOnPrevMouseDown javadoc). Firefox, on the other hand, has
             * the mousedown target as the click target.
             */
            cell = cellOnPrevMouseDown;
        }
    }

    assert cell != null : "received " + eventType + "-event with a null cell target";
    eventCell.set(cell, getSectionFromContainer(container));

    GridEvent<T> gridEvent = new GridEvent<>(event, eventCell);
    for (GridEventHandler<T> handler : browserEventHandlers) {
        handler.onEvent(gridEvent);
    }
}

From source file:gwt.material.design.components.client.ui.misc.input.MaterialInput.java

License:Apache License

@Override
protected void onInitialize() {

    label.setFor(input.getId());// w  ww  . ja v  a2 s.c om

    icon.addClickHandler(event -> {
        event.preventDefault();
        event.stopPropagation();
        IconClickEvent.fire(this);
    });

    if (getLabel() != null && !getLabel().isEmpty())
        notchedOutline.add(label);

    add(icon);
    add(input);
    add(lineRipple);
    add(notchedOutline);

    // Add event to fire validation   
    UiHelper.bindNativeEvent(input, BrowserEvents.KEYUP, () -> fireValidation());
    super.onInitialize();

    // To prevent label over the placeholder when input is empty
    input.addBlurHandler(event -> label.updateFloatLabelAbove(this));
    label.updateFloatLabelAbove(this);
    // Update icon position class
    inputIconMixin.updateIconPositionClass();
}

From source file:org.bonitasoft.console.client.mvp.TemplateRepeat.java

License:Open Source License

public TemplateRepeat(String style) {
    super(BrowserEvents.CLICK, BrowserEvents.KEYUP);
    this.style = style;
}