From 38e42c0e9ebbe78feea31bed7ffdfe3cb24d050f Mon Sep 17 00:00:00 2001 From: kevmodrome Date: Thu, 8 Oct 2020 17:45:47 +0200 Subject: [PATCH] fix optional chaining error and adds guard for no model selected. --- .../ComponentDropdownMenu.svelte | 1 - packages/standard-components/package.json | 6 +-- packages/standard-components/rollup.config.js | 2 + .../src/DataGrid/Component.svelte | 47 ++++++++++--------- 4 files changed, 30 insertions(+), 26 deletions(-) diff --git a/packages/builder/src/components/userInterface/ComponentDropdownMenu.svelte b/packages/builder/src/components/userInterface/ComponentDropdownMenu.svelte index ec2122d6bf..74fdac6f8e 100644 --- a/packages/builder/src/components/userInterface/ComponentDropdownMenu.svelte +++ b/packages/builder/src/components/userInterface/ComponentDropdownMenu.svelte @@ -113,7 +113,6 @@ { - const jsonModel = await _bb.api.get(`/api/models/${datasource.modelId}`) - model = await jsonModel.json() - const { schema } = model - console.log(schema) - if (!isEmpty(datasource)) { - data = await fetchData(datasource) - columnDefs = Object.keys(schema).map((key, i) => { - return { - headerCheckboxSelection: i === 0, - checkboxSelection: i === 0, - valueSetter: setters.get(schema[key].type), - headerName: key.charAt(0).toUpperCase() + key.slice(1), - field: key, - hide: shouldHideField(key), - sortable: true, - editable: - schema[key].type !== "boolean" && schema[key].type !== "attachment", - cellRenderer: renderers.get(schema[key].type), - autoHeight: schema[key].type === "attachment", - } - }) + if (datasource.modelId) { + const jsonModel = await _bb.api.get(`/api/models/${datasource.modelId}`) + model = await jsonModel.json() + const { schema } = model + console.log(schema) + if (!isEmpty(datasource)) { + data = await fetchData(datasource) + columnDefs = Object.keys(schema).map((key, i) => { + return { + headerCheckboxSelection: i === 0, + checkboxSelection: i === 0, + valueSetter: setters.get(schema[key].type), + headerName: key.charAt(0).toUpperCase() + key.slice(1), + field: key, + hide: shouldHideField(key), + sortable: true, + editable: + schema[key].type !== "boolean" && + schema[key].type !== "attachment", + cellRenderer: renderers.get(schema[key].type), + autoHeight: schema[key].type === "attachment", + } + }) + } + dataLoaded = true } - dataLoaded = true }) const shouldHideField = name => {