diff --git a/packages/flow-table/CHANGELOG.md b/packages/flow-table/CHANGELOG.md
index 56296a1a8..be8e8169f 100644
--- a/packages/flow-table/CHANGELOG.md
+++ b/packages/flow-table/CHANGELOG.md
@@ -2,6 +2,12 @@
# Change Log
+## [2.0.7] - 2023-11-20
+
+### Improvements
+
+- `f-table-schema` : `slot="no-data"` support added to customize message when there are 0 rows.
+
## [2.0.6] - 2023-11-08
### Improvements
diff --git a/packages/flow-table/package.json b/packages/flow-table/package.json
index ea2a8eb21..e716b75fe 100644
--- a/packages/flow-table/package.json
+++ b/packages/flow-table/package.json
@@ -1,6 +1,6 @@
{
"name": "@cldcvr/flow-table",
- "version": "2.0.6",
+ "version": "2.0.7",
"description": "Table component for flow library",
"module": "dist/flow-table.es.js",
"main": "dist/flow-table.cjs.js",
diff --git a/packages/flow-table/src/components/f-table-schema/f-table-schema.ts b/packages/flow-table/src/components/f-table-schema/f-table-schema.ts
index f5ed2772e..c535dd790 100644
--- a/packages/flow-table/src/components/f-table-schema/f-table-schema.ts
+++ b/packages/flow-table/src/components/f-table-schema/f-table-schema.ts
@@ -361,6 +361,21 @@ export class FTableSchema extends FRoot {
this.searchScope = event.detail.scope;
this.searchTerm = event.detail.value;
}
+ get noDataTemplate() {
+ if (this.data.rows.length === 0 && this.data.header) {
+ return html`
+
+
+ No data to display
+
+
+ `;
+ }
+
+ return nothing;
+ }
render() {
this.nextEmitted = false;
@@ -390,7 +405,7 @@ export class FTableSchema extends FRoot {
.highlightSelected=${this.highlightSelected}
.highlightHover=${this.highlightHover}
>
- ${this.header} ${this.rowsHtml}
+ ${this.header} ${this.rowsHtml} ${this.noDataTemplate}
diff --git a/stories/flow-table/f-table-schema.stories.ts b/stories/flow-table/f-table-schema.stories.ts
index 941b3278b..bf3b49e0d 100644
--- a/stories/flow-table/f-table-schema.stories.ts
+++ b/stories/flow-table/f-table-schema.stories.ts
@@ -505,3 +505,26 @@ export const Next = {
name: "@next"
};
+export const NoData = {
+ render: () => {
+ const data = getFakeUsers(0, 5);
+ const fieldRef = createRef();
+
+ const handleEvent = (event: CustomEvent) => {
+ if (fieldRef.value) {
+ fieldRef.value.textContent = JSON.stringify(event.detail, undefined, 2);
+ }
+ };
+
+ return html`
+ slot='no-data' is used to customize message when there are 0 rows to display
+
+
+ This is my custom no data meesage
+
+
+ `;
+ },
+
+ name: "slot='no-data'"
+};