diff --git a/packages/bbui/src/Skeleton/Skeleton.svelte b/packages/bbui/src/Skeleton/Skeleton.svelte
deleted file mode 100644
index 92357a8c75..0000000000
--- a/packages/bbui/src/Skeleton/Skeleton.svelte
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
diff --git a/packages/bbui/src/index.js b/packages/bbui/src/index.js
index d7457508fd..0c18156052 100644
--- a/packages/bbui/src/index.js
+++ b/packages/bbui/src/index.js
@@ -4,7 +4,6 @@ import "./bbui.css"
import "@spectrum-css/icon/dist/index-vars.css"
// Components
-export { default as Skeleton } from "./Skeleton/Skeleton.svelte"
export { default as Input } from "./Form/Input.svelte"
export { default as Stepper } from "./Form/Stepper.svelte"
export { default as TextArea } from "./Form/TextArea.svelte"
diff --git a/packages/client/manifest.json b/packages/client/manifest.json
index 2579cdedaa..0ac7f6808f 100644
--- a/packages/client/manifest.json
+++ b/packages/client/manifest.json
@@ -2346,7 +2346,6 @@
]
},
"stringfield": {
- "skeleton": false,
"name": "Text Field",
"icon": "Text",
"styles": ["size"],
@@ -2436,7 +2435,6 @@
]
},
"numberfield": {
- "skeleton": false,
"name": "Number Field",
"icon": "123",
"styles": ["size"],
@@ -2492,7 +2490,6 @@
]
},
"passwordfield": {
- "skeleton": false,
"name": "Password Field",
"icon": "LockClosed",
"styles": ["size"],
@@ -2548,7 +2545,6 @@
]
},
"optionsfield": {
- "skeleton": false,
"name": "Options Picker",
"icon": "Menu",
"styles": ["size"],
@@ -2715,7 +2711,6 @@
]
},
"multifieldselect": {
- "skeleton": false,
"name": "Multi-select Picker",
"icon": "ViewList",
"styles": ["size"],
@@ -2876,7 +2871,6 @@
]
},
"booleanfield": {
- "skeleton": false,
"name": "Checkbox",
"icon": "SelectBox",
"editable": true,
@@ -2955,7 +2949,6 @@
]
},
"longformfield": {
- "skeleton": false,
"name": "Long Form Field",
"icon": "TextAlignLeft",
"styles": ["size"],
@@ -3033,7 +3026,6 @@
]
},
"datetimefield": {
- "skeleton": false,
"name": "Date Picker",
"icon": "Date",
"styles": ["size"],
@@ -3113,7 +3105,6 @@
]
},
"codescanner": {
- "skeleton": false,
"name": "Barcode/QR Scanner",
"icon": "Camera",
"styles": ["size"],
@@ -3275,7 +3266,6 @@
]
},
"attachmentfield": {
- "skeleton": false,
"name": "Attachment",
"icon": "Attach",
"styles": ["size"],
@@ -3338,7 +3328,6 @@
]
},
"relationshipfield": {
- "skeleton": false,
"name": "Relationship Picker",
"icon": "TaskList",
"styles": ["size"],
@@ -3400,7 +3389,6 @@
]
},
"jsonfield": {
- "skeleton": false,
"name": "JSON Field",
"icon": "Brackets",
"styles": ["size"],
@@ -3591,7 +3579,6 @@
}
},
"table": {
- "skeleton": false,
"name": "Table",
"icon": "Table",
"illegalChildren": ["section"],
diff --git a/packages/client/src/components/BlockComponent.svelte b/packages/client/src/components/BlockComponent.svelte
index 841aeb219a..4f720e2931 100644
--- a/packages/client/src/components/BlockComponent.svelte
+++ b/packages/client/src/components/BlockComponent.svelte
@@ -24,7 +24,6 @@
// to render this part of the block, taking advantage of binding enrichment
$: id = `${block.id}-${context ?? rand}`
$: instance = {
- _blockElementHasChildren: $$slots?.default ?? false,
_component: `@budibase/standard-components/${type}`,
_id: id,
_instanceName: name || type[0].toUpperCase() + type.slice(1),
diff --git a/packages/client/src/components/Component.svelte b/packages/client/src/components/Component.svelte
index d94199bc49..c0b8febd96 100644
--- a/packages/client/src/components/Component.svelte
+++ b/packages/client/src/components/Component.svelte
@@ -29,7 +29,6 @@
import Placeholder from "components/app/Placeholder.svelte"
import ScreenPlaceholder from "components/app/ScreenPlaceholder.svelte"
import ComponentPlaceholder from "components/app/ComponentPlaceholder.svelte"
- import Skeleton from "components/app/Skeleton.svelte"
export let instance = {}
export let isLayout = false
@@ -39,7 +38,6 @@
// Get parent contexts
const context = getContext("context")
- const loading = getContext("loading")
const insideScreenslot = !!getContext("screenslot")
// Create component context
@@ -172,15 +170,6 @@
$: pad = pad || (interactive && hasChildren && inDndPath)
$: $dndIsDragging, (pad = false)
- // Determine whether we should render a skeleton loader for this component
- $: showSkeleton =
- $loading &&
- definition?.name !== "Screenslot" &&
- children.length === 0 &&
- !instance._blockElementHasChildren &&
- !definition?.block &&
- definition?.skeleton !== false
-
// Update component context
$: store.set({
id,
@@ -507,12 +496,7 @@
})
-{#if showSkeleton}
-
-{:else if constructor && initialSettings && (visible || inSelectedPath) && !builderHidden}
+{#if constructor && initialSettings && (visible || inSelectedPath) && !builderHidden}
-
- {#if hasMissingRequiredSettings}
-
- {:else if children.length}
- {#each children as child (child._id)}
-
- {/each}
- {:else if emptyState}
- {#if isScreen}
-
- {:else}
-
+ {#if hasMissingRequiredSettings}
+
+ {:else}
+
+ {#if children.length}
+ {#each children as child (child._id)}
+
+ {/each}
+ {:else if emptyState}
+ {#if isScreen}
+
+ {:else}
+
+ {/if}
+ {:else if isBlock}
+
{/if}
- {:else if isBlock}
-
- {/if}
-
+
+ {/if}
{/if}
diff --git a/packages/client/src/components/Router.svelte b/packages/client/src/components/Router.svelte
index e81bb20de5..551a564094 100644
--- a/packages/client/src/components/Router.svelte
+++ b/packages/client/src/components/Router.svelte
@@ -1,5 +1,4 @@
{#if $builderStore.inBuilder && requiredSetting}
-
+
Add the {requiredSetting.label} setting to start using your component
-
@@ -32,7 +33,7 @@
}
.component-placeholder mark {
background-color: var(--spectrum-global-color-gray-400);
- padding: 0 2px;
+ padding: 0 4px;
border-radius: 2px;
}
.component-placeholder .spectrum-Link {
diff --git a/packages/client/src/components/app/DataProvider.svelte b/packages/client/src/components/app/DataProvider.svelte
index 1b4504e689..62a0588172 100644
--- a/packages/client/src/components/app/DataProvider.svelte
+++ b/packages/client/src/components/app/DataProvider.svelte
@@ -1,7 +1,6 @@
{#if $component.empty}
- {:else if !$loading && rows.length === 0}
- {noRowsMessage}
- {:else}
+ {:else if rows.length > 0}
{#each rows as row, index}
{/each}
+ {:else if loaded && noRowsMessage}
+ {noRowsMessage}
{/if}
diff --git a/packages/client/src/components/app/Skeleton.svelte b/packages/client/src/components/app/Skeleton.svelte
deleted file mode 100644
index 5c247bf3e4..0000000000
--- a/packages/client/src/components/app/Skeleton.svelte
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
diff --git a/packages/client/src/components/app/blocks/CardsBlock.svelte b/packages/client/src/components/app/blocks/CardsBlock.svelte
index 795e62eb31..3f42375f0b 100644
--- a/packages/client/src/components/app/blocks/CardsBlock.svelte
+++ b/packages/client/src/components/app/blocks/CardsBlock.svelte
@@ -37,6 +37,7 @@
let repeaterId
let schema
let enrichedSearchColumns
+ let schemaLoaded = false
$: fetchSchema(dataSource)
$: enrichSearchColumns(searchColumns, schema).then(
@@ -77,135 +78,138 @@
enrichRelationships: true,
})
}
+ schemaLoaded = true
}
-
-
- {#if title || enrichedSearchColumns?.length || showTitleButton}
-
-
+{#if schemaLoaded}
+
+
+ {#if title || enrichedSearchColumns?.length || showTitleButton}
- {#if enrichedSearchColumns?.length}
- {#each enrichedSearchColumns as column, idx}
-
- {/each}
- {/if}
- {#if showTitleButton}
-
- {/if}
-
-
- {/if}
-
-
-
+ >
+
+
+ {#if enrichedSearchColumns?.length}
+ {#each enrichedSearchColumns as column, idx}
+
+ {/each}
+ {/if}
+ {#if showTitleButton}
+
+ {/if}
+
+
+ {/if}
+
+
+
+
-
-
+
+{/if}
diff --git a/packages/client/src/components/app/blocks/TableBlock.svelte b/packages/client/src/components/app/blocks/TableBlock.svelte
index 91c266b434..509ad49663 100644
--- a/packages/client/src/components/app/blocks/TableBlock.svelte
+++ b/packages/client/src/components/app/blocks/TableBlock.svelte
@@ -37,6 +37,7 @@
let schema
let primaryDisplay
let enrichedSearchColumns
+ let schemaLoaded = false
$: fetchSchema(dataSource)
$: enrichSearchColumns(searchColumns, schema).then(
@@ -91,6 +92,7 @@
enrichRelationships: true,
})
}
+ schemaLoaded = true
}
const getNormalFields = schema => {
@@ -114,160 +116,162 @@
}
-
-
- {#if title || enrichedSearchColumns?.length || showTitleButton}
-
-
+{#if schemaLoaded}
+
+
+ {#if title || enrichedSearchColumns?.length || showTitleButton}
- {#if enrichedSearchColumns?.length}
- {#each enrichedSearchColumns as column, idx}
+
+
+ {#if enrichedSearchColumns?.length}
+ {#each enrichedSearchColumns as column, idx}
+
+ {/each}
+ {/if}
+ {#if showTitleButton}
- {/each}
- {/if}
- {#if showTitleButton}
-
- {/if}
+ {/if}
+
-
- {/if}
-
+ {/if}
+ order={1}
+ >
+
+
+ {#if clickBehaviour === "details"}
+
+
+
+ {/if}
+ {#if showTitleButton && titleButtonClickBehaviour === "new"}
+
+
+
+ {/if}
- {#if clickBehaviour === "details"}
-
-
-
- {/if}
- {#if showTitleButton && titleButtonClickBehaviour === "new"}
-
-
-
- {/if}
-
-
+
+{/if}
diff --git a/packages/client/src/components/app/forms/Field.svelte b/packages/client/src/components/app/forms/Field.svelte
index 435805cee8..5f11757c9c 100644
--- a/packages/client/src/components/app/forms/Field.svelte
+++ b/packages/client/src/components/app/forms/Field.svelte
@@ -1,7 +1,6 @@
-{#key resetKey}
-
-
-
-{/key}
+{#if loaded}
+ {#key resetKey}
+
+
+
+ {/key}
+{/if}
diff --git a/packages/client/src/components/app/table/Table.svelte b/packages/client/src/components/app/table/Table.svelte
index 6e5cd6c5cf..07b64b4107 100644
--- a/packages/client/src/components/app/table/Table.svelte
+++ b/packages/client/src/components/app/table/Table.svelte
@@ -1,6 +1,6 @@