diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/CompositeWidgetData.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/CompositeWidgetData.java index 4cfbcb16..2cbae738 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/CompositeWidgetData.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/CompositeWidgetData.java @@ -40,9 +40,10 @@ public class CompositeWidgetData extends AbstractBlockWidgetData> blocks = new ArrayList<>(); - private Map styleOverrides = new HashMap<>(); - - private Layout layout; + private Layout layout; + private Map styleOverrides = new HashMap<>(); + private String overlayHtml; + private Map overlayStyleOverrides = new HashMap<>(); @@ -218,4 +219,91 @@ public class CompositeWidgetData extends AbstractBlockWidgetData getOverlayStyleOverrides() + { + return (this.overlayStyleOverrides); + } + + + + /******************************************************************************* + ** Setter for overlayStyleOverrides + *******************************************************************************/ + public void setOverlayStyleOverrides(Map overlayStyleOverrides) + { + this.overlayStyleOverrides = overlayStyleOverrides; + } + + + + /******************************************************************************* + ** Fluent setter for overlayStyleOverrides + *******************************************************************************/ + public CompositeWidgetData withOverlayStyleOverrides(Map overlayStyleOverrides) + { + this.overlayStyleOverrides = overlayStyleOverrides; + return (this); + } + + + + /******************************************************************************* + ** + *******************************************************************************/ + public CompositeWidgetData withOverlayStyleOverride(String key, Serializable value) + { + addOverlayStyleOverride(key, value); + return (this); + } + + + + /******************************************************************************* + ** + *******************************************************************************/ + public void addOverlayStyleOverride(String key, Serializable value) + { + if(this.overlayStyleOverrides == null) + { + this.overlayStyleOverrides = new HashMap<>(); + } + this.overlayStyleOverrides.put(key, value); + } + } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/AbstractBlockWidgetData.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/AbstractBlockWidgetData.java index a1fdd99f..7e95f59f 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/AbstractBlockWidgetData.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/AbstractBlockWidgetData.java @@ -24,6 +24,7 @@ package com.kingsrook.qqq.backend.core.model.dashboard.widgets.blocks; import java.util.HashMap; import java.util.Map; +import com.kingsrook.qqq.backend.core.model.dashboard.widgets.CompositeWidgetData; import com.kingsrook.qqq.backend.core.model.dashboard.widgets.QWidgetData; @@ -203,6 +204,19 @@ public abstract class AbstractBlockWidgetData< + /******************************************************************************* + ** Fluent setter for tooltip + ** + *******************************************************************************/ + @SuppressWarnings("unchecked") + public T withTooltip(CompositeWidgetData data) + { + this.tooltip = new BlockTooltip(data); + return (T) (this); + } + + + /******************************************************************************* ** *******************************************************************************/ @@ -398,6 +412,7 @@ public abstract class AbstractBlockWidgetData< } + /******************************************************************************* ** Getter for blockId *******************************************************************************/ @@ -428,5 +443,4 @@ public abstract class AbstractBlockWidgetData< return (T) this; } - } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/BlockTooltip.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/BlockTooltip.java index 2e17134c..4c12096d 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/BlockTooltip.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/BlockTooltip.java @@ -22,14 +22,18 @@ package com.kingsrook.qqq.backend.core.model.dashboard.widgets.blocks; +import com.kingsrook.qqq.backend.core.model.dashboard.widgets.CompositeWidgetData; + + /******************************************************************************* ** A tooltip used within a (widget) block. ** *******************************************************************************/ public class BlockTooltip { - private String title; - private Placement placement = Placement.BOTTOM; + private CompositeWidgetData blockData; + private String title; + private Placement placement = Placement.BOTTOM; @@ -62,6 +66,17 @@ public class BlockTooltip + /******************************************************************************* + ** Constructor + ** + *******************************************************************************/ + public BlockTooltip(CompositeWidgetData blockData) + { + this.blockData = blockData; + } + + + /******************************************************************************* ** Getter for title *******************************************************************************/ @@ -122,4 +137,35 @@ public class BlockTooltip return (this); } + + + /******************************************************************************* + ** Getter for blockData + *******************************************************************************/ + public CompositeWidgetData getBlockData() + { + return (this.blockData); + } + + + + /******************************************************************************* + ** Setter for blockData + *******************************************************************************/ + public void setBlockData(CompositeWidgetData blockData) + { + this.blockData = blockData; + } + + + + /******************************************************************************* + ** Fluent setter for blockData + *******************************************************************************/ + public BlockTooltip withBlockData(CompositeWidgetData blockData) + { + this.blockData = blockData; + return (this); + } + }