Merge pull request #7344 from Budibase/fix/screen-load-bindings

Add bindings for screen on load setting
This commit is contained in:
Andrew Kingston 2022-08-18 14:23:54 +01:00 committed by GitHub
commit 8ff70395e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 9 deletions

View File

@ -502,11 +502,11 @@ const getRoleBindings = () => {
} }
/** /**
* Gets all bindable properties exposed in a button actions flow up until * Gets all bindable properties exposed in an event action flow up until
* the specified action ID, as well as context provided for the action * the specified action ID, as well as context provided for the action
* setting as a whole by the component. * setting as a whole by the component.
*/ */
export const getButtonContextBindings = ( export const getEventContextBindings = (
asset, asset,
componentId, componentId,
settingKey, settingKey,
@ -520,10 +520,7 @@ export const getButtonContextBindings = (
const component = findComponent(asset.props, componentId) const component = findComponent(asset.props, componentId)
const settings = getComponentSettings(component?._component) const settings = getComponentSettings(component?._component)
const eventSetting = settings.find(setting => setting.key === settingKey) const eventSetting = settings.find(setting => setting.key === settingKey)
if (!eventSetting) { if (eventSetting?.context?.length) {
return bindings
}
if (eventSetting.context?.length) {
eventSetting.context.forEach(contextEntry => { eventSetting.context.forEach(contextEntry => {
bindings.push({ bindings.push({
readableBinding: contextEntry.label, readableBinding: contextEntry.label,

View File

@ -11,7 +11,7 @@
} from "@budibase/bbui" } from "@budibase/bbui"
import { getAvailableActions } from "./index" import { getAvailableActions } from "./index"
import { generate } from "shortid" import { generate } from "shortid"
import { getButtonContextBindings } from "builderStore/dataBinding" import { getEventContextBindings } from "builderStore/dataBinding"
import { currentAsset, store } from "builderStore" import { currentAsset, store } from "builderStore"
const flipDurationMs = 150 const flipDurationMs = 150
@ -41,14 +41,14 @@
}, {}) }, {})
// These are ephemeral bindings which only exist while executing actions // These are ephemeral bindings which only exist while executing actions
$: buttonContextBindings = getButtonContextBindings( $: eventContexBindings = getEventContextBindings(
$currentAsset, $currentAsset,
$store.selectedComponentId, $store.selectedComponentId,
key, key,
actions, actions,
selectedAction?.id selectedAction?.id
) )
$: allBindings = buttonContextBindings.concat(bindings) $: allBindings = eventContexBindings.concat(bindings)
// Assign a unique ID to each action // Assign a unique ID to each action
$: { $: {