diff --git a/packages/bbui/src/Tooltip/Context.svelte b/packages/bbui/src/Tooltip/Context.svelte index 4f898d04d0..d477783950 100644 --- a/packages/bbui/src/Tooltip/Context.svelte +++ b/packages/bbui/src/Tooltip/Context.svelte @@ -9,6 +9,7 @@ $: target = getContext(Context.PopoverRoot) || "#app" + export let arbitrary = "" let hovering = false let wrapper let currentTooltip @@ -30,10 +31,18 @@ } const updatePosition = (anchor, currentTooltip, previousTooltip, wrapper) => { + if (arbitrary === "foo") { + console.log(currentTooltip, previousTooltip); + } + requestAnimationFrame(() => { if (anchor == null || currentTooltip == null || previousTooltip == null || wrapper == null) { return; } + if (arbitrary === "foo") { + console.log("past here"); + } + const rect = anchor.getBoundingClientRect(); diff --git a/packages/builder/src/components/design/settings/controls/FieldContext/Chart.svelte b/packages/builder/src/components/design/settings/controls/FieldContext/Chart.svelte index 6cd69a49f3..3c0bb3f71a 100644 --- a/packages/builder/src/components/design/settings/controls/FieldContext/Chart.svelte +++ b/packages/builder/src/components/design/settings/controls/FieldContext/Chart.svelte @@ -12,15 +12,18 @@ export let columnIcon export let columnType export let columnName + export let sidecar = false export let errors = [] export let warnings = [] + let root = null; + const getDocLink = (columnType) => { - if (columnType === "number") { + if (columnType === "Number") { return "https://docs.budibase.com/docs/number" } - if (columnType === "string") { + if (columnType === "Text") { return "https://docs.budibase.com/docs/text" } if (columnType === "attachment") { @@ -35,15 +38,31 @@ $: docLink = getDocLink(columnType); + let sidecarSubject = null + + const handleMouseenter = (option, idx) => { + sidecarSubject = option; + root = root + } + + const handleMouseleave = (option) => { + sidecarSubject = null; + } +
-
+
handleMouseenter("column")} + on:mouseleave={() => handleMouseleave("column")} + class="chip columnName" + > {columnName} @@ -51,7 +70,7 @@ is a - + {columnType} column @@ -59,17 +78,21 @@
-
+
handleMouseenter("support")} + on:mouseleave={() => handleMouseleave("support")} + > {supportLevelText}
with - + .
{#if warnings.includes("string number warning")} @@ -77,10 +100,13 @@ Any -
- +
handleMouseenter("stringsAndNumbers")} + on:mouseleave={() => handleMouseleave("stringsAndNumbers")} + > - Non-number values + non-number values
@@ -93,15 +119,23 @@ {#if warnings.includes("optional warning")}
- No required + No - - , + , so values may be missing @@ -110,7 +144,99 @@ {/if}
+{#if sidecar} + +
+ {#if sidecarSubject === "column"} + {:else if sidecarSubject === "support"} + Data/Component Compatibility +
+
+
+ + Compatible +
+ Fully compatible with the component as long as the data is present. +
+
+
+ + Partially compatible +
+ Potentionally compatible with the component, but beware of other caveats mentioned in the context tooltip. +
+
+
+ + Not compatible +
+ Imcompatible with the component. +
+ + + {:else if sidecarSubject === "stringsAndNumbers"} + Text as Numbers +
+
+ Text can be used in place of numbers in certain scenarios, but care needs to be taken to ensure that non-numerical values aren't also present, otherwise they may be parsed incorrectly and lead to unexpected behavior. +
+ {:else if sidecarSubject === "required"} + 'Required' Constraint +
+
+ A 'required' contraint can be applied to columns to ensure a value is always present. If a column doesn't have this constraint, then rows may be missing values. +
+ {/if} +
+ +{/if} +