diff --git a/packages/standard-components/src/Form.svelte b/packages/standard-components/src/Form.svelte
index 6188e7bcb7..2515496be5 100644
--- a/packages/standard-components/src/Form.svelte
+++ b/packages/standard-components/src/Form.svelte
@@ -5,15 +5,26 @@
import LinkedRowSelector from "./LinkedRowSelector.svelte"
import { capitalise } from "./helpers"
- const { styleable, screenStore } = getContext("app")
- const dataProviderStore = getContext("data")
+ const { styleable, screenStore, API } = getContext("sdk")
+ const dataContextStore = getContext("data")
+ const styles = getContext("style")
export let wide = false
- export let styles
- $: row = $dataProviderStore?.row
- $: schema = $dataProviderStore?.table && $dataProviderStore.table.schema
- $: fields = schema ? Object.keys(schema) : []
+ let row
+ let schema
+ let fields = []
+
+ $: getContextDetails($dataContextStore)
+
+ const getContextDetails = async dataContext => {
+ row = dataContext?.data
+ if (row) {
+ const tableDefinition = await API.fetchTableDefinition(row.tableId)
+ schema = tableDefinition.schema
+ fields = Object.keys(schema)
+ }
+ }
diff --git a/packages/standard-components/src/Heading.svelte b/packages/standard-components/src/Heading.svelte
index 7d97a130d2..411049935c 100644
--- a/packages/standard-components/src/Heading.svelte
+++ b/packages/standard-components/src/Heading.svelte
@@ -1,12 +1,12 @@
{#if type === 'h1'}
diff --git a/packages/standard-components/src/Icon.svelte b/packages/standard-components/src/Icon.svelte
index fa1b687923..d2795570d5 100644
--- a/packages/standard-components/src/Icon.svelte
+++ b/packages/standard-components/src/Icon.svelte
@@ -2,12 +2,12 @@
import "@fortawesome/fontawesome-free/js/all.js"
import { getContext } from "svelte"
- const { styleable } = getContext("app")
+ const { styleable } = getContext("sdk")
+ const styles = getContext("style")
export let icon = ""
export let size = "fa-lg"
export let color = "#000"
- export let styles
import { getContext } from "svelte"
- const { styleable } = getContext("app")
+ const { styleable } = getContext("sdk")
+ const styles = getContext("style")
export let className = ""
export let url = ""
export let description = ""
export let height
export let width
- export let styles
import { getContext } from "svelte"
- const { styleable } = getContext("app")
+ const { styleable } = getContext("sdk")
+ const styles = getContext("style")
export let value = ""
export let className = ""
export let type = "text"
- export let styles
const onchange = ev => {
value = ev.target.value
diff --git a/packages/standard-components/src/Link.svelte b/packages/standard-components/src/Link.svelte
index ec18e21c77..0db21bcd4a 100644
--- a/packages/standard-components/src/Link.svelte
+++ b/packages/standard-components/src/Link.svelte
@@ -1,12 +1,12 @@
diff --git a/packages/standard-components/src/LinkedRowSelector.svelte b/packages/standard-components/src/LinkedRowSelector.svelte
index 9b0089ea5e..a2956d6b93 100644
--- a/packages/standard-components/src/LinkedRowSelector.svelte
+++ b/packages/standard-components/src/LinkedRowSelector.svelte
@@ -3,7 +3,7 @@
import { capitalise } from "./helpers"
import { getContext } from "svelte"
- const { API } = getContext("app")
+ const { API } = getContext("sdk")
export let schema = {}
export let linkedRows = []
diff --git a/packages/standard-components/src/List.svelte b/packages/standard-components/src/List.svelte
index 343915ccfb..89faa7ddb3 100644
--- a/packages/standard-components/src/List.svelte
+++ b/packages/standard-components/src/List.svelte
@@ -1,19 +1,18 @@
diff --git a/packages/standard-components/src/Login.svelte b/packages/standard-components/src/Login.svelte
index e4cef3b761..71c392e98a 100644
--- a/packages/standard-components/src/Login.svelte
+++ b/packages/standard-components/src/Login.svelte
@@ -1,14 +1,14 @@
diff --git a/packages/standard-components/src/RichText.svelte b/packages/standard-components/src/RichText.svelte
index c6a7cdd199..9b1e5f9fb6 100644
--- a/packages/standard-components/src/RichText.svelte
+++ b/packages/standard-components/src/RichText.svelte
@@ -2,7 +2,7 @@
import { getContext } from "svelte"
import { RichText } from "@budibase/bbui"
- const { styleable } = getContext("app")
+ const { styleable } = getContext("sdk")
export let value = ""
diff --git a/packages/standard-components/src/RowDetail.svelte b/packages/standard-components/src/RowDetail.svelte
index 4299f2039e..036fa6ce5b 100644
--- a/packages/standard-components/src/RowDetail.svelte
+++ b/packages/standard-components/src/RowDetail.svelte
@@ -1,8 +1,7 @@
diff --git a/packages/standard-components/src/attachments/Dropzone.svelte b/packages/standard-components/src/attachments/Dropzone.svelte
index 04fb1fcfdf..8ac3486354 100644
--- a/packages/standard-components/src/attachments/Dropzone.svelte
+++ b/packages/standard-components/src/attachments/Dropzone.svelte
@@ -2,7 +2,7 @@
import { Dropzone } from "@budibase/bbui"
import { getContext } from "svelte"
- const { API } = getContext("app")
+ const { API } = getContext("sdk")
const BYTES_IN_MB = 1000000
export let files = []
diff --git a/packages/standard-components/src/charts/ApexChart.svelte b/packages/standard-components/src/charts/ApexChart.svelte
index d1886325c6..5a403f1263 100644
--- a/packages/standard-components/src/charts/ApexChart.svelte
+++ b/packages/standard-components/src/charts/ApexChart.svelte
@@ -2,10 +2,10 @@
import { getContext } from "svelte"
import { chart } from "svelte-apexcharts"
- const { styleable } = getContext("app")
+ const { styleable } = getContext("sdk")
+ const styles = getContext("style")
export let options
- export let styles
{#if options}
diff --git a/packages/standard-components/src/charts/BarChart.svelte b/packages/standard-components/src/charts/BarChart.svelte
index e1005492cc..91cd4c4dc9 100644
--- a/packages/standard-components/src/charts/BarChart.svelte
+++ b/packages/standard-components/src/charts/BarChart.svelte
@@ -4,7 +4,7 @@
import ApexChart from "./ApexChart.svelte"
import { isEmpty } from "lodash/fp"
- const { API } = getContext("app")
+ const { API } = getContext("sdk")
const dataContext = getContext("data")
export let title
@@ -22,7 +22,6 @@
export let stacked
export let yAxisUnits
export let palette
- export let styles
let options
diff --git a/packages/standard-components/src/charts/CandleStickChart.svelte b/packages/standard-components/src/charts/CandleStickChart.svelte
index 5de1450d95..4659a6a3b7 100644
--- a/packages/standard-components/src/charts/CandleStickChart.svelte
+++ b/packages/standard-components/src/charts/CandleStickChart.svelte
@@ -4,7 +4,7 @@
import ApexChart from "./ApexChart.svelte"
import { isEmpty } from "lodash/fp"
- const { API } = getContext("app")
+ const { API } = getContext("sdk")
const dataContext = getContext("data")
export let title
@@ -20,7 +20,6 @@
export let width
export let animate
export let yAxisUnits
- export let styles
let options
diff --git a/packages/standard-components/src/charts/LineChart.svelte b/packages/standard-components/src/charts/LineChart.svelte
index 4e91444b24..c966686959 100644
--- a/packages/standard-components/src/charts/LineChart.svelte
+++ b/packages/standard-components/src/charts/LineChart.svelte
@@ -4,7 +4,7 @@
import ApexChart from "./ApexChart.svelte"
import { isEmpty } from "lodash/fp"
- const { API } = getContext("app")
+ const { API } = getContext("sdk")
const dataContext = getContext("data")
// Common props
@@ -23,7 +23,6 @@
export let legend
export let yAxisUnits
export let palette
- export let styles
// Area specific props
export let area
diff --git a/packages/standard-components/src/charts/PieChart.svelte b/packages/standard-components/src/charts/PieChart.svelte
index 01d6cf5ef1..a8ee1ca6df 100644
--- a/packages/standard-components/src/charts/PieChart.svelte
+++ b/packages/standard-components/src/charts/PieChart.svelte
@@ -4,7 +4,7 @@
import ApexChart from "./ApexChart.svelte"
import { isEmpty } from "lodash/fp"
- const { API } = getContext("app")
+ const { API } = getContext("sdk")
const dataContext = getContext("data")
export let title
@@ -19,7 +19,6 @@
export let legend
export let donut
export let palette
- export let styles
let options
diff --git a/packages/standard-components/src/grid/Component.svelte b/packages/standard-components/src/grid/Component.svelte
index 23beef81dd..9e7ebeef61 100644
--- a/packages/standard-components/src/grid/Component.svelte
+++ b/packages/standard-components/src/grid/Component.svelte
@@ -14,8 +14,9 @@
// These maps need to be set up to handle whatever types that are used in the tables.
const setters = new Map([["number", number]])
- const SDK = getContext("app")
+ const SDK = getContext("sdk")
const dataContext = getContext("data")
+ const styles = getContext("style")
const { API, styleable } = SDK
export let datasource = {}
@@ -24,7 +25,6 @@
export let height = 500
export let pagination
export let detailUrl
- export let styles
// Add setting height as css var to allow grid to use correct height
styles.normal["--grid-height"] = `${height}px`
diff --git a/packages/standard-components/src/grid/CreateRow/Modal.svelte b/packages/standard-components/src/grid/CreateRow/Modal.svelte
index fe1d502400..9c7de2b0ff 100644
--- a/packages/standard-components/src/grid/CreateRow/Modal.svelte
+++ b/packages/standard-components/src/grid/CreateRow/Modal.svelte
@@ -5,7 +5,7 @@
import debounce from "lodash.debounce"
const dispatch = createEventDispatcher()
- const { fetchRow, saveRow, routeStore } = getContext("app")
+ const { fetchRow, saveRow, routeStore } = getContext("sdk")
const DEFAULTS_FOR_TYPE = {
string: "",
diff --git a/packages/standard-components/src/stores/dataProvider.js b/packages/standard-components/src/stores/dataProvider.js
deleted file mode 100644
index 9bbb95ed7a..0000000000
--- a/packages/standard-components/src/stores/dataProvider.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { getContext } from "svelte"
-import { writable } from "svelte/store"
-
-export const createDataProviderStore = () => {
- const { API } = getContext("app")
-
- const store = writable({
- row: {},
- table: null,
- })
- const setRow = async row => {
- let table
- if (row && row.tableId) {
- table = await API.fetchTableDefinition(row.tableId)
- }
- store.update(state => {
- state.row = row
- state.table = table
- return state
- })
- }
- return {
- subscribe: store.subscribe,
- actions: { setRow },
- }
-}