protected boolean isPercentageSize() { return Unit.PERCENTAGE.equals(getHeightUnits()) || Unit.PERCENTAGE.equals(getWidthUnits()); }
@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 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 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; } }