Update usages of queryUI and ensure processSearchFilters isn't called with nullish values
This commit is contained in:
parent
77bb3cf4da
commit
cb4b7988c5
|
@ -798,7 +798,7 @@
|
|||
break
|
||||
}
|
||||
}
|
||||
return utils.processSearchFilters(filters)
|
||||
return utils.processSearchFilters(filters || [])
|
||||
}
|
||||
|
||||
function saveFilters(key) {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
let drawer
|
||||
|
||||
$: localFilters = utils.processSearchFilters(filters)
|
||||
$: localFilters = utils.processSearchFilters(filters || [])
|
||||
|
||||
$: schemaFields = search.getFields(
|
||||
$tables.list,
|
||||
|
@ -61,7 +61,7 @@
|
|||
title="Filtering"
|
||||
on:drawerHide
|
||||
on:drawerShow={() => {
|
||||
localFilters = utils.processSearchFilters(filters)
|
||||
localFilters = utils.processSearchFilters(filters || [])
|
||||
}}
|
||||
forceModal
|
||||
>
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
const onFilter = e => {
|
||||
filter.set(e.detail || [])
|
||||
}
|
||||
|
||||
$: console.log($filter)
|
||||
</script>
|
||||
|
||||
{#key $datasource}
|
||||
|
|
|
@ -210,7 +210,7 @@ export class ComponentStore extends BudiStore {
|
|||
|
||||
if (isLegacy) {
|
||||
const processedSetting = utils.processSearchFilters(
|
||||
enrichedComponent[setting.key]
|
||||
enrichedComponent[setting.key] || []
|
||||
)
|
||||
enrichedComponent[setting.key] = processedSetting
|
||||
migrated = true
|
||||
|
|
|
@ -3,29 +3,6 @@ import { tables } from "./tables"
|
|||
import { API } from "api"
|
||||
import { dataFilters } from "@budibase/shared-core"
|
||||
|
||||
function convertToSearchFilters(view) {
|
||||
// convert from UISearchFilter type
|
||||
if (view?.query) {
|
||||
return {
|
||||
...view,
|
||||
queryUI: view.query,
|
||||
query: dataFilters.buildQuery(view.query),
|
||||
}
|
||||
}
|
||||
return view
|
||||
}
|
||||
|
||||
function convertToUISearchFilter(view) {
|
||||
if (view?.queryUI) {
|
||||
return {
|
||||
...view,
|
||||
query: view.queryUI,
|
||||
queryUI: undefined,
|
||||
}
|
||||
}
|
||||
return view
|
||||
}
|
||||
|
||||
export function createViewsV2Store() {
|
||||
const store = writable({
|
||||
selectedViewId: null,
|
||||
|
@ -36,7 +13,7 @@ export function createViewsV2Store() {
|
|||
const views = Object.values(table?.views || {}).filter(view => {
|
||||
return view.version === 2
|
||||
})
|
||||
list = list.concat(views.map(view => convertToUISearchFilter(view)))
|
||||
list = list.concat(views)
|
||||
})
|
||||
return {
|
||||
...$store,
|
||||
|
@ -58,7 +35,6 @@ export function createViewsV2Store() {
|
|||
}
|
||||
|
||||
const create = async view => {
|
||||
view = convertToSearchFilters(view)
|
||||
const savedViewResponse = await API.viewV2.create(view)
|
||||
const savedView = savedViewResponse.data
|
||||
replaceView(savedView.id, savedView)
|
||||
|
@ -66,7 +42,6 @@ export function createViewsV2Store() {
|
|||
}
|
||||
|
||||
const save = async view => {
|
||||
view = convertToSearchFilters(view)
|
||||
const res = await API.viewV2.update(view)
|
||||
const savedView = res?.data
|
||||
replaceView(view.id, savedView)
|
||||
|
|
|
@ -1,25 +1,13 @@
|
|||
import { get } from "svelte/store"
|
||||
import { dataFilters } from "@budibase/shared-core"
|
||||
|
||||
function convertToSearchFilters(view) {
|
||||
// convert from SearchFilterGroup type
|
||||
if (view?.query) {
|
||||
return {
|
||||
...view,
|
||||
queryUI: view.query,
|
||||
query: dataFilters.buildQuery(view.query),
|
||||
}
|
||||
}
|
||||
return view
|
||||
}
|
||||
|
||||
const SuppressErrors = true
|
||||
|
||||
export const createActions = context => {
|
||||
const { API, datasource, columns } = context
|
||||
|
||||
const saveDefinition = async newDefinition => {
|
||||
await API.viewV2.update(convertToSearchFilters(newDefinition))
|
||||
await API.viewV2.update(newDefinition)
|
||||
}
|
||||
|
||||
const saveRow = async row => {
|
||||
|
@ -138,7 +126,7 @@ export const initialise = context => {
|
|||
}
|
||||
// Only override filter state if we don't have an initial filter
|
||||
if (!get(initialFilter)) {
|
||||
filter.set($definition.queryUI || $definition.query)
|
||||
filter.set($definition.queryUI)
|
||||
}
|
||||
})
|
||||
)
|
||||
|
@ -197,7 +185,7 @@ export const initialise = context => {
|
|||
if (JSON.stringify($filter) !== JSON.stringify($view.queryUI)) {
|
||||
await datasource.actions.saveDefinition({
|
||||
...$view,
|
||||
query: $filter,
|
||||
queryUI: $filter,
|
||||
})
|
||||
|
||||
// Refresh data since view definition changed
|
||||
|
|
Loading…
Reference in New Issue