From 97721fe5e559939ee11dbd1644abfed039e95c01 Mon Sep 17 00:00:00 2001 From: Michael Drury Date: Wed, 17 Nov 2021 22:11:26 +0000 Subject: [PATCH] Updating filter modal to manage invalid schemas when view created. --- .../backend/DataTable/modals/FilterModal.svelte | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte b/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte index 6359c781c..c413ee16c 100644 --- a/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte @@ -69,6 +69,7 @@ ({ _id }) => _id === $views.selected?.tableId ) $: fields = viewTable && Object.keys(viewTable.schema) + $: schema = viewTable && viewTable.schema ? viewTable.schema : {} function saveView() { views.save(view) @@ -90,29 +91,29 @@ function isMultipleChoice(field) { return ( - viewTable.schema[field]?.constraints?.inclusion?.length || - viewTable.schema[field]?.type === "boolean" + schema[field]?.constraints?.inclusion?.length || + schema[field]?.type === "boolean" ) } function fieldOptions(field) { - return viewTable.schema[field]?.type === "options" - ? viewTable.schema[field]?.constraints.inclusion + return schema[field]?.type === "options" + ? schema[field]?.constraints.inclusion : [true, false] } function isDate(field) { - return viewTable.schema[field]?.type === "datetime" + return schema[field]?.type === "datetime" } function isNumber(field) { - return viewTable.schema[field]?.type === "number" + return schema[field]?.type === "number" } const fieldChanged = filter => ev => { // Reset if type changed - const oldType = viewTable.schema[filter.key]?.type - const newType = viewTable.schema[ev.detail]?.type + const oldType = schema[filter.key]?.type + const newType = schema[ev.detail]?.type if (filter.key && ev.detail && oldType !== newType) { filter.value = "" }