@Override public void attachDomElement(final GridBodyCellRenderContext context, final Consumer<E> onCreation, final Consumer<E> onDisplay) { gridLayer.batch(new GridLayerRedrawManager.PrioritizedCommand(Integer.MAX_VALUE) { @Override public void execute() { final E domElement = createDomElement(gridLayer, gridWidget, context); domElement.setContext(context); domElement.initialise(context); onCreation.accept(domElement); domElement.attach(); onDisplay.accept(domElement); } }); }
@Override public void onBlur(final BlurEvent event) { destroyResources(); gridLayer.batch(); gridPanel.setFocus(true); } });
@Override public void onBlur(final BlurEvent event) { e.flush(widget.getValue()); gridLayer.batch(); } });
@Override public void onBlur(final BlurEvent event) { destroyResources(); gridLayer.batch(); gridPanel.setFocus(true); } });
@Override public void onClick(final ClickEvent event) { e.flush(widget.getValue()); gridLayer.batch(); } });
@Override public void onBlur(final BlurEvent event) { e.flush(widget.getValue()); gridLayer.batch(); } });
@Override public void onClick(final ClickEvent event) { e.flush(widget.getValue()); gridLayer.batch(); } });
@Override public void onBlur(final BlurEvent event) { destroyResources(); gridLayer.batch(); gridPanel.setFocus(true); } });
@Override public void onBlur(final BlurEvent event) { destroyResources(); gridLayer.batch(); gridPanel.setFocus(true); } });
private void doValueUpdate() { flush(); destroyResources(); gridLayer.batch(); gridPanel.setFocus(true); }
private void verifyCommonActions() { verify(gridPanel).setFocus(eq(true)); verify(gridLayer).batch(); } }
private void doValueUpdate() { flush(); destroyResources(); gridLayer.batch(); gridPanel.setFocus(true); }
private void verifyCommonActions() { verify(gridCell).destroyResources(); verify(gridPanel).setFocus(eq(true)); verify(gridLayer).batch(); } }
@Test public void stateIsResetOnMouseUpWhenStateIsColumnMove() { state.setOperation(GridWidgetHandlersOperation.COLUMN_MOVE); handler.onNodeMouseUp(event); verify(state, times(1)).reset(); verify(layer, times(1)).remove(any(IPrimitive.class)); verify(layer, times(1)).batch(); }
@Test public void stateIsResetOnMouseUpWhenStateIsRowMove() { state.setOperation(GridWidgetHandlersOperation.ROW_MOVE); handler.onNodeMouseUp(event); verify(state, times(1)).reset(); verify(layer, times(1)).remove(any(IPrimitive.class)); verify(layer, times(1)).batch(); } }
@Test public void stateIsResetOnMouseUpWhenStateIsRowMove() { state.setOperation(GridWidgetHandlersOperation.ROW_MOVE); handler.onNodeMouseUp(event); verify(state, times(1)).reset(); verify(layer, times(1)).remove(any(IPrimitive.class)); verify(layer, times(1)).batch(); } }
@Test public void stateIsResetOnMouseUpWhenStateIsColumnMove() { state.setOperation(GridWidgetHandlersOperation.COLUMN_MOVE); handler.onNodeMouseUp(event); verify(state, times(1)).reset(); verify(layer, times(1)).remove(any(IPrimitive.class)); verify(layer, times(1)).batch(); }
@Override public T createDomElement(final GridLayer gridLayer, final GridWidget gridWidget, final GridBodyCellRenderContext context) { this.widget = createWidget(); this.e = internalCreateDomElement(widget, gridLayer, gridWidget); widget.addBlurHandler(event -> { destroyResources(); gridLayer.batch(); gridPanel.setFocus(true); }); return e; }
@Override public void onKeyDown(final KeyDownEvent e) { final int keyCode = e.getNativeKeyCode(); final boolean isShiftKeyDown = e.isShiftKeyDown(); switch (keyCode) { case KeyCodes.KEY_TAB: case KeyCodes.KEY_ESCAPE: gridCell.destroyResources(); case KeyCodes.KEY_ENTER: moveSelection(keyCode, isShiftKeyDown); gridPanel.setFocus(true); gridLayer.batch(); } e.stopPropagation(); } }
@Override public CheckBoxDOMElement createDomElement(final GridLayer gridLayer, final GridWidget gridWidget, final GridBodyCellRenderContext context) { final CheckBox widget = createWidget(); widget.addMouseDownHandler((e) -> e.stopPropagation()); widget.addKeyDownHandler((e) -> e.stopPropagation()); final CheckBoxDOMElement e = new CheckBoxDOMElement(widget, gridLayer, gridWidget); widget.addClickHandler((event) -> { e.flush(widget.getValue()); gridLayer.batch(); }); return e; } });