From 80acb075a8291edd8102115d79674ee23aacc424 Mon Sep 17 00:00:00 2001 From: Murilo Habermann Torquato Date: Fri, 5 Jan 2018 15:38:49 +0100 Subject: [PATCH] IDEMPIERE-3518 Improvement For Mobile Compatibility --- .../adempiere/webui/adwindow/ADTabpanel.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java index 71c8e80c0e..5afcb431c5 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java @@ -484,9 +484,13 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer decimalFormat.setRoundingMode(RoundingMode.DOWN); String columnWidth = decimalFormat.format(equalWidth); - for (int h=0;h numCols && diff > 0) + if (xpos + columnSpan > numCols && diff > 0) { xpos = xpos - diff; if (xpos <= 0) @@ -613,10 +619,16 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer if (xpos-1 - actualxpos > 0) row.appendCellChild(createSpacer(), xpos-1 - actualxpos); boolean paintLabel = ! (field.getDisplayType() == DisplayType.Button || field.getDisplayType() == DisplayType.YesNo || field.isFieldOnly()); + + // Adjust column spam to the remain columns size + int remainCols = numCols - actualxpos; + if (columnSpan > remainCols) + columnSpan = remainCols-1 > 0 ? remainCols-1 : 1; + if (field.isHeading()) actualxpos = xpos; else - actualxpos = xpos + field.getColumnSpan()-1 + (paintLabel ? 1 : 0); + actualxpos = xpos + columnSpan-1 + (paintLabel ? 1 : 0); if (! field.isHeading()) { @@ -645,7 +657,8 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer div.appendChild(label.getDecorator()); row.appendCellChild(div,1); } - row.appendCellChild(editor.getComponent(), field.getColumnSpan()); + + row.appendCellChild(editor.getComponent(), columnSpan ); //to support float/absolute editor row.getLastCell().setStyle("position: relative; overflow: visible;");