1
0
Fork 0
mirror of synced 2024-10-03 19:43:32 +13:00

Merge pull request #12798 from Budibase/fixes/global-bindings

Global Bindings fixes and updates
This commit is contained in:
deanhannigan 2024-01-22 10:20:24 +00:00 committed by GitHub
commit 92cd88f09f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 44 additions and 4 deletions

View file

@ -5602,7 +5602,38 @@
} }
] ]
} }
] ],
"context": {
"type": "static",
"suffix": "provider",
"values": [
{
"label": "Rows",
"key": "rows",
"type": "array"
},
{
"label": "Extra Info",
"key": "info",
"type": "string"
},
{
"label": "Rows Length",
"key": "rowsLength",
"type": "number"
},
{
"label": "Schema",
"key": "schema",
"type": "object"
},
{
"label": "Page Number",
"key": "pageNumber",
"type": "number"
}
]
}
}, },
"cardsblock": { "cardsblock": {
"block": true, "block": true,
@ -6152,6 +6183,10 @@
"type": "form", "type": "form",
"suffix": "form" "suffix": "form"
}, },
{
"type": "schema",
"suffix": "repeater"
},
{ {
"type": "static", "type": "static",
"suffix": "form", "suffix": "form",

View file

@ -71,7 +71,7 @@
datasource: dataSource || {}, datasource: dataSource || {},
schema, schema,
rowsLength: $fetch.rows.length, rowsLength: $fetch.rows.length,
pageNumber: $fetch.pageNumber + 1,
// Undocumented properties. These aren't supposed to be used in builder // Undocumented properties. These aren't supposed to be used in builder
// bindings, but are used internally by other components // bindings, but are used internally by other components
id: $component?.id, id: $component?.id,

View file

@ -2,6 +2,7 @@
import { getContext } from "svelte" import { getContext } from "svelte"
import Placeholder from "./Placeholder.svelte" import Placeholder from "./Placeholder.svelte"
import Container from "./Container.svelte" import Container from "./Container.svelte"
import { ContextScopes } from "constants"
export let dataProvider export let dataProvider
export let noRowsMessage export let noRowsMessage
@ -9,8 +10,9 @@
export let hAlign export let hAlign
export let vAlign export let vAlign
export let gap export let gap
export let scope = ContextScopes.Local
const { Provider, ContextScopes } = getContext("sdk") const { Provider } = getContext("sdk")
const component = getContext("component") const component = getContext("component")
$: rows = dataProvider?.rows ?? [] $: rows = dataProvider?.rows ?? []
@ -22,7 +24,7 @@
<Placeholder /> <Placeholder />
{:else if rows.length > 0} {:else if rows.length > 0}
{#each rows as row, index} {#each rows as row, index}
<Provider data={{ ...row, index }} scope={ContextScopes.Local}> <Provider data={{ ...row, index }} {scope}>
<slot /> <slot />
</Provider> </Provider>
{/each} {/each}

View file

@ -231,6 +231,7 @@
paginate, paginate,
limit: rowCount, limit: rowCount,
}} }}
context="provider"
order={1} order={1}
> >
<BlockComponent <BlockComponent

View file

@ -10,6 +10,7 @@
export let noRowsMessage export let noRowsMessage
const component = getContext("component") const component = getContext("component")
const { ContextScopes } = getContext("sdk")
$: providerId = `${$component.id}-provider` $: providerId = `${$component.id}-provider`
$: dataProvider = `{{ literal ${safe(providerId)} }}` $: dataProvider = `{{ literal ${safe(providerId)} }}`
@ -55,6 +56,7 @@
noRowsMessage: noRowsMessage || "We couldn't find a row to display", noRowsMessage: noRowsMessage || "We couldn't find a row to display",
direction: "column", direction: "column",
hAlign: "center", hAlign: "center",
scope: ContextScopes.Global,
}} }}
> >
<slot /> <slot />