DRY
This commit is contained in:
parent
ffa1e64e9e
commit
ca158c33e8
|
@ -8,19 +8,9 @@ import {
|
||||||
SearchParams,
|
SearchParams,
|
||||||
WithRequired,
|
WithRequired,
|
||||||
} from "@budibase/types"
|
} from "@budibase/types"
|
||||||
|
import { dataFilters } from "@budibase/shared-core"
|
||||||
|
|
||||||
const QUERY_START_REGEX = /\d[0-9]*:/g
|
export const removeKeyNumbering = dataFilters.removeKeyNumbering
|
||||||
|
|
||||||
export function removeKeyNumbering(key: any): string {
|
|
||||||
if (typeof key === "string" && key.match(QUERY_START_REGEX) != null) {
|
|
||||||
const parts = key.split(":")
|
|
||||||
// remove the number
|
|
||||||
parts.shift()
|
|
||||||
return parts.join(":")
|
|
||||||
} else {
|
|
||||||
return key
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to build lucene query URLs.
|
* Class to build lucene query URLs.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
import DrawerBindableInput from "components/common/bindings/DrawerBindableInput.svelte"
|
import DrawerBindableInput from "components/common/bindings/DrawerBindableInput.svelte"
|
||||||
import ClientBindingPanel from "components/common/bindings/ClientBindingPanel.svelte"
|
import ClientBindingPanel from "components/common/bindings/ClientBindingPanel.svelte"
|
||||||
|
|
||||||
|
import { dataFilters } from "@budibase/shared-core"
|
||||||
import { FilterBuilder } from "@budibase/frontend-core"
|
import { FilterBuilder } from "@budibase/frontend-core"
|
||||||
|
|
||||||
import { createEventDispatcher, onMount } from "svelte"
|
import { createEventDispatcher, onMount } from "svelte"
|
||||||
|
@ -15,8 +16,6 @@
|
||||||
|
|
||||||
const dispatch = createEventDispatcher()
|
const dispatch = createEventDispatcher()
|
||||||
|
|
||||||
const KeyedFieldRegex = /\d[0-9]*:/g
|
|
||||||
|
|
||||||
let rawFilters
|
let rawFilters
|
||||||
|
|
||||||
$: parseFilters(rawFilters)
|
$: parseFilters(rawFilters)
|
||||||
|
@ -28,11 +27,7 @@
|
||||||
const { field } = filter
|
const { field } = filter
|
||||||
let newFilter = { ...filter }
|
let newFilter = { ...filter }
|
||||||
delete newFilter.allOr
|
delete newFilter.allOr
|
||||||
if (typeof field === "string" && field.match(KeyedFieldRegex) != null) {
|
newFilter.field = dataFilters.removeKeyNumbering(field)
|
||||||
const parts = field.split(":")
|
|
||||||
parts.shift()
|
|
||||||
newFilter.field = parts.join(":")
|
|
||||||
}
|
|
||||||
return newFilter
|
return newFilter
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,9 +120,10 @@ const cleanupQuery = (query: SearchQuery) => {
|
||||||
/**
|
/**
|
||||||
* Removes a numeric prefix on field names designed to give fields uniqueness
|
* Removes a numeric prefix on field names designed to give fields uniqueness
|
||||||
*/
|
*/
|
||||||
const removeKeyNumbering = (key: string) => {
|
export const removeKeyNumbering = (key: string): string => {
|
||||||
if (typeof key === "string" && key.match(/\d[0-9]*:/g) != null) {
|
if (typeof key === "string" && key.match(/\d[0-9]*:/g) != null) {
|
||||||
const parts = key.split(":")
|
const parts = key.split(":")
|
||||||
|
// remove the number
|
||||||
parts.shift()
|
parts.shift()
|
||||||
return parts.join(":")
|
return parts.join(":")
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue