Browse Source

Avoid filter editor sending a prop change when filter is not an array, which was causing extra 409s and causing issues with tables

pull/4023/head
Andrew Kingston 5 years ago
parent
commit
929d1c73d4
  1. 3
      packages/builder/src/builderStore/store/frontend.js
  2. 11
      packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterEditor.svelte

3
packages/builder/src/builderStore/store/frontend.js

@ -122,6 +122,9 @@ export const getFrontendStore = () => {
save: async screen => {
const creatingNewScreen = screen._id === undefined
const response = await api.post(`/api/screens`, screen)
if (response.status !== 200) {
return
}
screen = await response.json()
await store.actions.routing.fetch()

11
packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterEditor.svelte

@ -21,7 +21,7 @@
export let value = []
export let componentInstance
let drawer
let tempValue = value
let tempValue = value || []
$: numFilters = Array.isArray(tempValue)
? tempValue.length
@ -31,15 +31,6 @@
$: schemaFields = Object.values(schema || {})
$: internalTable = dataSource?.type === "table"
// Reset value if value is wrong type for the datasource.
// Lucene editor needs an array, and simple editor needs an object.
$: {
if (!Array.isArray(value)) {
tempValue = []
dispatch("change", [])
}
}
const saveFilter = async () => {
dispatch("change", tempValue)
notifications.success("Filters saved.")

Loading…
Cancel
Save