From ec6ce9bcb268f2bd2988919a63bf7199fba79306 Mon Sep 17 00:00:00 2001 From: VN Date: Tue, 25 Aug 2020 12:07:05 +0200 Subject: [PATCH] Aggiunta custom Icon x frame di ricerca --- .../springmvc/taglibs/InternalFrameTag.java | 73 +++++++++++++++++-- .../main/resources/META-INF/voila-runtime.tld | 6 ++ 2 files changed, 72 insertions(+), 7 deletions(-) diff --git a/voila-runtime-springmvc/src/main/java/it/mice/voila/runtime/springmvc/taglibs/InternalFrameTag.java b/voila-runtime-springmvc/src/main/java/it/mice/voila/runtime/springmvc/taglibs/InternalFrameTag.java index 6be65cc7..5bce1c48 100644 --- a/voila-runtime-springmvc/src/main/java/it/mice/voila/runtime/springmvc/taglibs/InternalFrameTag.java +++ b/voila-runtime-springmvc/src/main/java/it/mice/voila/runtime/springmvc/taglibs/InternalFrameTag.java @@ -45,6 +45,7 @@ public class InternalFrameTag extends AbstractHtmlElementTag { private String cmdTitle4; private String toolBoxAlign; + private boolean customCollapseIcon; private TagWriter tagWriter; private Collection commandList = new ArrayList(); @@ -345,8 +346,9 @@ public class InternalFrameTag extends AbstractHtmlElementTag { if (isToolBoxLeftAligned()) { tagWriter.writeAttribute(CLASS_ATTRIBUTE, "box-tools pull-left"); if (isCollapsable()) { - writeHeaderWidget("collapse", getInitialState().equalsIgnoreCase("collapsed") ? "fa-plus" : "fa-minus", - null, null, null); + + writeHeaderWidget("collapse", getInitialState().equalsIgnoreCase("collapsed") ? getPlusCollapseIcon() + : getMinusCollapseIcon(), null, null, null); } } else { tagWriter.writeAttribute(CLASS_ATTRIBUTE, "box-tools pull-right"); @@ -799,6 +801,7 @@ public class InternalFrameTag extends AbstractHtmlElementTag { this.modes = null; this.style = STYLE_PRIMARY; this.toolBoxAlign = null; + this.setCustomCollapseIcon(false); } public String getToolBoxAlign() { @@ -820,17 +823,73 @@ public class InternalFrameTag extends AbstractHtmlElementTag { */ private boolean isToolBoxLeftAligned() { String globalToolBoxAlign = null; - + try { globalToolBoxAlign = getRequestContext().getMessage("frame.toolBox.align"); + } catch (Exception e) { + } - catch(Exception e) { - - } - + if ("left".equals(globalToolBoxAlign) && !"right".equals(getToolBoxAlign())) { return true; } return "left".equals(getToolBoxAlign()); } + + /** + * Ritorna il valore di una properties presente nel file Application.properties + * del progetto oppure null se non presente + * + * @author Vittorio Niespolo + * + * @param key + * @return + */ + public String getProperty(String key) { + try { + return getRequestContext().getMessage(key); + } catch (Exception e) { + return null; + } + } + + /** + * Ritorna l'icona scelta per il frame collapsabile quando è aperto + * + * @author Vittorio Niespolo + * + * @return + */ + public String getMinusCollapseIcon() { + String minusCollapseIcon = getProperty("frame.collapseIcon.minus"); + + if (minusCollapseIcon != null && isCustomCollapseIcon()) { + return minusCollapseIcon; + } + return "fa-minus"; + } + + /** + * Ritorna l'icona scelta per il frame collapsabile quando è chiuso + * + * @author Vittorio Niespolo + * + * @return + */ + public String getPlusCollapseIcon() { + String plusCollapseIcon = getProperty("frame.collapseIcon.plus"); + + if (plusCollapseIcon != null && isCustomCollapseIcon()) { + return plusCollapseIcon; + } + return "fa-plus"; + } + + public boolean isCustomCollapseIcon() { + return customCollapseIcon; + } + + public void setCustomCollapseIcon(boolean customCollapseIcon) { + this.customCollapseIcon = customCollapseIcon; + } } diff --git a/voila-runtime-springmvc/src/main/resources/META-INF/voila-runtime.tld b/voila-runtime-springmvc/src/main/resources/META-INF/voila-runtime.tld index 6b592d4a..7727d7e9 100644 --- a/voila-runtime-springmvc/src/main/resources/META-INF/voila-runtime.tld +++ b/voila-runtime-springmvc/src/main/resources/META-INF/voila-runtime.tld @@ -336,6 +336,12 @@ false true + + Custom Collapse Icon + customCollapseIcon + false + true + -- GitLab