From 8d87395a980209db22dff999d1e54ecb7ead238b Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 23 Aug 2024 13:41:35 +0100 Subject: [PATCH] Fix a few edge cases with v1 views --- .../data/table/[tableId]/_components/ViewNavBar.svelte | 4 +++- .../data/table/[tableId]/v1/[viewName]/index.svelte | 8 ++++---- packages/builder/src/stores/builder/views.js | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/builder/src/pages/builder/app/[application]/data/table/[tableId]/_components/ViewNavBar.svelte b/packages/builder/src/pages/builder/app/[application]/data/table/[tableId]/_components/ViewNavBar.svelte index 5d3f3ac5b4..b1fffebbfe 100644 --- a/packages/builder/src/pages/builder/app/[application]/data/table/[tableId]/_components/ViewNavBar.svelte +++ b/packages/builder/src/pages/builder/app/[application]/data/table/[tableId]/_components/ViewNavBar.svelte @@ -48,7 +48,9 @@ $: datasource = $datasources.list.find(ds => ds._id === table?.sourceId) $: tableSelectedBy = $userSelectedResourceMap[table?._id] $: tableEditable = table?._id !== TableNames.USERS - $: activeId = $params.viewName ?? $params.viewId ?? $params.tableId + $: activeId = decodeURIComponent( + $params.viewName ?? $params.viewId ?? $params.tableId + ) $: views = Object.values(table?.views || {}) .filter(x => x.version === 2) .slice() diff --git a/packages/builder/src/pages/builder/app/[application]/data/table/[tableId]/v1/[viewName]/index.svelte b/packages/builder/src/pages/builder/app/[application]/data/table/[tableId]/v1/[viewName]/index.svelte index 0084d9b5da..e6aaa647de 100644 --- a/packages/builder/src/pages/builder/app/[application]/data/table/[tableId]/v1/[viewName]/index.svelte +++ b/packages/builder/src/pages/builder/app/[application]/data/table/[tableId]/v1/[viewName]/index.svelte @@ -17,9 +17,9 @@ let loading = false $: view = $views.selected - $: name = view.name - $: schema = view.schema - $: calculation = view.calculation + $: name = view?.name + $: schema = view?.schema + $: calculation = view?.calculation $: supportedFormats = Object.values(ROW_EXPORT_FORMATS).filter(key => { if (calculation && key === ROW_EXPORT_FORMATS.JSON_WITH_SCHEMA) { return false @@ -28,7 +28,7 @@ }) // Fetch rows for specified view - $: fetchViewData(name, view.field, view.groupBy, view.calculation) + $: fetchViewData(name, view?.field, view?.groupBy, view?.calculation) async function fetchViewData(name, field, groupBy, calculation) { loading = true diff --git a/packages/builder/src/stores/builder/views.js b/packages/builder/src/stores/builder/views.js index b9986889db..1d2463e2e2 100644 --- a/packages/builder/src/stores/builder/views.js +++ b/packages/builder/src/stores/builder/views.js @@ -41,6 +41,7 @@ export function createViewsStore() { const save = async view => { const savedView = await API.saveView(view) + select(view.name) // Update tables tables.update(state => {