From 5188abe4e542c902108fa8141a9b8a2ebdd70890 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Wed, 9 Aug 2023 16:39:23 +0100 Subject: [PATCH] Strip hidden fields from viewsV2 in design section --- packages/builder/src/builderStore/dataBinding.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/builderStore/dataBinding.js b/packages/builder/src/builderStore/dataBinding.js index bbe116721a..615b032d92 100644 --- a/packages/builder/src/builderStore/dataBinding.js +++ b/packages/builder/src/builderStore/dataBinding.js @@ -734,9 +734,19 @@ export const getSchemaForDatasource = (asset, datasource, options) => { // Determine the schema from the backing entity if not already determined if (table && !schema) { if (type === "view") { - // For views, the schema is pulled from the `views` property of the - // table + // Old views schema = cloneDeep(table.views?.[datasource.name]?.schema) + } else if (type === "viewV2") { + // New views which are DS+ + const view = table.views?.[datasource.name] + schema = cloneDeep(view?.schema) + + // Strip hidden fields + Object.keys(schema || {}).forEach(field => { + if (!schema[field].visible) { + delete schema[field] + } + }) } else if ( type === "query" && (options.formSchema || options.searchableSchema)