@Override public void sizeChanged(String width, String height) { if (StringUtils.isEmpty(oldWidth)) { oldWidth = (int) getWidth() + getWidthUnits().getSymbol(); } if (StringUtils.isEmpty(oldHeight)) { oldHeight = ((int) getHeight()) + getHeightUnits().getSymbol(); } setWidth(width); setHeight(height); for (ResizeListener listener : listeners) { listener.onResize(oldWidth, oldHeight, width, height); } oldWidth = width; oldHeight = height; }
@Override public String getRequiredMessage() { return wrapper.getRequiredError(); }
@Override public boolean isRequired() { return wrapper.isRequired(); }
textArea.setReadOnly(true); CubaResizableTextAreaWrapper content = new CubaResizableTextAreaWrapper(textArea); content.setResizableDirection(ResizeDirection.BOTH); content.setWidth(theme.get("cuba.web.Table.abbreviatedPopupWidth")); content.setHeight(theme.get("cuba.web.Table.abbreviatedPopupHeight")); } else { content.setWidth("320px"); content.setHeight("200px");
@Override public void beforeClientResponse(boolean initial) { super.beforeClientResponse(initial); if (getState(false).resizableDirection.equals(ResizeDirection.BOTH) && isPercentageSize()) { LoggerFactory.getLogger(CubaResizableTextAreaWrapper.class).warn( "TextArea with percentage size can not be resizable"); getState().resizableDirection = ResizeDirection.NONE; } else if (getState(false).resizableDirection.equals(ResizeDirection.VERTICAL) && Unit.PERCENTAGE.equals(getHeightUnits())) { LoggerFactory.getLogger(CubaResizableTextAreaWrapper.class).warn( "TextArea height with percentage size can not be resizable to vertical direction"); getState().resizableDirection = ResizeDirection.NONE; } else if (getState(false).resizableDirection.equals(ResizeDirection.HORIZONTAL) && (Unit.PERCENTAGE.equals(getWidthUnits()))) { LoggerFactory.getLogger(CubaResizableTextAreaWrapper.class).warn( "TextArea width with percentage size can not be resizable to horizontal direction"); getState().resizableDirection = ResizeDirection.NONE; } }
protected boolean isPercentageSize() { return Unit.PERCENTAGE.equals(getHeightUnits()) || Unit.PERCENTAGE.equals(getWidthUnits()); }
@Override public ErrorMessage getErrorMessage() { ErrorMessage superError = super.getErrorMessage(); if (!textArea.isReadOnly() && isRequired() && textArea.isEmpty()) { ErrorMessage error = AbstractErrorMessage.getErrorMessageForException( new com.vaadin.v7.data.Validator.EmptyValueException(getRequiredError())); if (error != null) { return new CompositeErrorMessage(superError, error); } } return superError; }
/** * @deprecated Use {@link CubaResizableTextAreaWrapper#setResizableDirection(ResizeDirection)} instead */ @Deprecated public void setResizable(boolean resizable) { ResizeDirection value = resizable ? ResizeDirection.BOTH : ResizeDirection.NONE; setResizableDirection(value); }
public WebResizableTextArea() { component = createComponent(); attachValueChangeListener(component); wrapper = new CubaResizableTextAreaWrapper(component); wrapper.addResizeListener((oldWidth, oldHeight, width, height) -> { ResizeEvent e = new ResizeEvent(this, oldWidth, width, oldHeight, height); publish(ResizeEvent.class, e); settingsChanged = true; }); }
@Override public String getCaption() { return wrapper.getCaption(); }
@Override public boolean saveSettings(Element element) { if (!isSettingsEnabled() || !isResizable()) { return false; } if (!settingsChanged) { return false; } String width = String.valueOf(getWidth()) + wrapper.getWidthUnits().toString(); String height = String.valueOf(getHeight()) + wrapper.getHeightUnits().toString(); element.addAttribute("width", width); element.addAttribute("height", height); return true; }
@Override public void setResizableDirection(ResizeDirection direction) { Preconditions.checkNotNullArgument(direction); wrapper.setResizableDirection(WebWrapperUtils.toVaadinResizeDirection(direction)); } }