diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WImageEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WImageEditor.java index 534e194440..9541f30f44 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WImageEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WImageEditor.java @@ -25,9 +25,12 @@ import org.compiere.model.MImage; import org.compiere.util.CLogger; import org.compiere.util.Env; import org.zkoss.image.AImage; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Page; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; +import org.zkoss.zul.Cell; import org.zkoss.zul.Image; /** @@ -53,7 +56,21 @@ public class WImageEditor extends WEditor public WImageEditor(GridField gridField) { - super(new Image(), gridField); + super(new Image() { + private static final long serialVersionUID = 8492629361709791256L; + + @Override + public void onPageAttached(Page newpage, Page oldpage) { + super.onPageAttached(newpage, oldpage); + if (newpage != null && getParent() != null) { + Component p = getParent(); + if (p instanceof Cell) { + Cell cell = (Cell) p; + LayoutUtils.addSclass("image-field-cell", cell); + } + } + } + }, gridField); init(); } @@ -66,7 +83,7 @@ public class WImageEditor extends WEditor { AImage img = null; getComponent().setContent(img); - getComponent().setSclass("image-field"); + getComponent().setSclass("image-field image-fit-contain"); } @Override diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WImageDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WImageDialog.java index cca5967ba3..93d7d5ff8c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WImageDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WImageDialog.java @@ -205,6 +205,7 @@ public class WImageDialog extends Window implements EventListener ZKUpdateUtil.setHflex(image, "true"); ZKUpdateUtil.setVflex(image, "true"); center.setParent(mainLayout); + image.setSclass("image-fit-contain"); center.appendChild(image); South south = new South(); diff --git a/org.adempiere.ui.zk/theme/default/css/fragment/field-editor.css.dsp b/org.adempiere.ui.zk/theme/default/css/fragment/field-editor.css.dsp index dd73029fce..cf5d21c7ea 100644 --- a/org.adempiere.ui.zk/theme/default/css/fragment/field-editor.css.dsp +++ b/org.adempiere.ui.zk/theme/default/css/fragment/field-editor.css.dsp @@ -190,6 +190,12 @@ span.grid-combobox-editor { cursor: default; border: none; } +.image-fit-contain { + object-fit: contain; +} +.z-cell.image-field-cell { + z-index: 1; +} .html-field { cursor: pointer;