From 3073fcfc63a9611d24571e5a9d5e95b5883c7018 Mon Sep 17 00:00:00 2001
From: melohagan <101575380+melohagan@users.noreply.github.com>
Date: Thu, 20 Apr 2023 10:36:43 +0100
Subject: [PATCH] Add empty text property to all blocks (#10332)
* Add noRowsMessage for Table
* CardsBlock noRowsMessage setting
* RowExplorer noRowsMessage setting
* Add noRowsMessage setting for FormBlock
* Fix default noRowsMessage
---
packages/client/manifest.json | 35 +++++++++++++++++++
.../components/app/blocks/CardsBlock.svelte | 3 +-
.../components/app/blocks/RowExplorer.svelte | 4 ++-
.../components/app/blocks/TableBlock.svelte | 2 ++
.../app/blocks/form/FormBlock.svelte | 3 +-
.../src/components/app/table/Table.svelte | 2 ++
6 files changed, 46 insertions(+), 3 deletions(-)
diff --git a/packages/client/manifest.json b/packages/client/manifest.json
index 42f26661e0..c4408b9202 100644
--- a/packages/client/manifest.json
+++ b/packages/client/manifest.json
@@ -3661,6 +3661,12 @@
"defaultValue": false,
"info": "Row selection is only compatible with internal or SQL tables"
},
+ {
+ "type": "text",
+ "label": "Empty text",
+ "key": "noRowsMessage",
+ "defaultValue": "No rows found"
+ },
{
"section": true,
"name": "On Row Click",
@@ -4375,6 +4381,12 @@
"key": "filter",
"nested": true
},
+ {
+ "type": "text",
+ "label": "Empty text",
+ "key": "noRowsMessage",
+ "defaultValue": "No rows found"
+ },
{
"type": "searchfield",
"label": "Search fields",
@@ -4532,6 +4544,12 @@
"label": "Paginate",
"key": "paginate"
},
+ {
+ "type": "text",
+ "label": "Empty text",
+ "key": "noRowsMessage",
+ "defaultValue": "No rows found"
+ },
{
"section": true,
"name": "Cards",
@@ -4945,6 +4963,17 @@
],
"defaultValue": "spectrum--medium"
},
+ {
+ "type": "text",
+ "label": "Empty text",
+ "key": "noRowsMessage",
+ "defaultValue": "We couldn't find a row to display",
+ "dependsOn": {
+ "setting": "actionType",
+ "value": "Create",
+ "invert": true
+ }
+ },
{
"section": true,
"name": "Fields",
@@ -5064,6 +5093,12 @@
"key": "height",
"defaultValue": "426px"
},
+ {
+ "type": "text",
+ "label": "Empty text",
+ "key": "noRowsMessage",
+ "defaultValue": "No data"
+ },
{
"section": true,
"name": "Cards",
diff --git a/packages/client/src/components/app/blocks/CardsBlock.svelte b/packages/client/src/components/app/blocks/CardsBlock.svelte
index 3f42375f0b..bbe54867ee 100644
--- a/packages/client/src/components/app/blocks/CardsBlock.svelte
+++ b/packages/client/src/components/app/blocks/CardsBlock.svelte
@@ -29,6 +29,7 @@
export let cardButtonText
export let cardButtonOnClick
export let linkColumn
+ export let noRowsMessage
const { fetchDatasourceSchema } = getContext("sdk")
@@ -180,7 +181,7 @@
hAlign: "stretch",
vAlign: "top",
gap: "M",
- noRowsMessage: "No rows found",
+ noRowsMessage: noRowsMessage || "No rows found",
}}
styles={{
custom: `display: grid;\ngrid-template-columns: repeat(auto-fill, minmax(min(${cardWidth}px, 100%), 1fr));`,
diff --git a/packages/client/src/components/app/blocks/RowExplorer.svelte b/packages/client/src/components/app/blocks/RowExplorer.svelte
index 59e4f8601c..8fadcb5006 100644
--- a/packages/client/src/components/app/blocks/RowExplorer.svelte
+++ b/packages/client/src/components/app/blocks/RowExplorer.svelte
@@ -16,6 +16,8 @@
export let detailFields
export let detailTitle
+ export let noRowsMessage
+
const stateKey = generate()
let listDataProviderId
@@ -105,7 +107,7 @@
dataProvider: `{{ literal ${safe(listDataProviderId)} }}`,
direction: "column",
gap: "S",
- noRowsMessage: "No data",
+ noRowsMessage: noRowsMessage || "No data",
}}
>
diff --git a/packages/client/src/components/app/blocks/form/FormBlock.svelte b/packages/client/src/components/app/blocks/form/FormBlock.svelte
index 8964475673..a05a7e141c 100644
--- a/packages/client/src/components/app/blocks/form/FormBlock.svelte
+++ b/packages/client/src/components/app/blocks/form/FormBlock.svelte
@@ -16,6 +16,7 @@
export let showDeleteButton
export let rowId
export let actionUrl
+ export let noRowsMessage
const { fetchDatasourceSchema } = getContext("sdk")
@@ -89,7 +90,7 @@
bind:id={repeaterId}
props={{
dataProvider,
- noRowsMessage: "We couldn't find a row to display",
+ noRowsMessage: noRowsMessage || "We couldn't find a row to display",
direction: "column",
hAlign: "center",
}}
diff --git a/packages/client/src/components/app/table/Table.svelte b/packages/client/src/components/app/table/Table.svelte
index 07b64b4107..248151a7a2 100644
--- a/packages/client/src/components/app/table/Table.svelte
+++ b/packages/client/src/components/app/table/Table.svelte
@@ -13,6 +13,7 @@
export let allowSelectRows
export let compact
export let onClick
+ export let noRowsMessage
const component = getContext("component")
const { styleable, getAction, ActionTypes, rowSelectionStore } =
@@ -144,6 +145,7 @@
autoSortColumns={!columns?.length}
on:sort={onSort}
on:click={handleClick}
+ placeholderText={noRowsMessage || "No rows found"}
>