Merge remote-tracking branch 'origin/master' into feature/builder-filtering-update
This commit is contained in:
commit
1d3130f8cc
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
|
||||
"version": "2.31.7",
|
||||
"version": "2.31.8",
|
||||
"npmClient": "yarn",
|
||||
"packages": [
|
||||
"packages/*",
|
||||
|
|
|
@ -267,6 +267,7 @@ export class FlagSet<V extends Flag<any>, T extends { [key: string]: V }> {
|
|||
// default values set correctly and their types flow through the system.
|
||||
export const flags = new FlagSet({
|
||||
DEFAULT_VALUES: Flag.boolean(env.isDev()),
|
||||
AUTOMATION_BRANCHING: Flag.boolean(env.isDev()),
|
||||
SQS: Flag.boolean(env.isDev()),
|
||||
[FeatureFlag.ENRICHED_RELATIONSHIPS]: Flag.boolean(false),
|
||||
})
|
||||
|
|
|
@ -219,7 +219,7 @@
|
|||
on:close={() => (relationshipFieldName = null)}
|
||||
open={relationshipFieldName}
|
||||
anchor={relationshipPanelAnchor}
|
||||
align="right-outside"
|
||||
align="left"
|
||||
>
|
||||
{#if relationshipPanelColumns.length}
|
||||
<div class="relationship-header">
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
{wrap}
|
||||
portalTarget="#{gridID} .grid-popover-container"
|
||||
offset={0}
|
||||
clickOutsideOverride
|
||||
>
|
||||
<div
|
||||
class="grid-popover-contents"
|
||||
|
|
|
@ -76,7 +76,9 @@ export const ExtendedBudibaseRoleOptions = [
|
|||
value: BudibaseRoles.Owner,
|
||||
sortOrder: 0,
|
||||
},
|
||||
].concat(BudibaseRoleOptions)
|
||||
]
|
||||
.concat(BudibaseRoleOptions)
|
||||
.concat(BudibaseRoleOptionsOld)
|
||||
|
||||
export const PlanType = {
|
||||
FREE: "free",
|
||||
|
|
|
@ -16,6 +16,7 @@ import * as delay from "./steps/delay"
|
|||
import * as queryRow from "./steps/queryRows"
|
||||
import * as loop from "./steps/loop"
|
||||
import * as collect from "./steps/collect"
|
||||
import * as branch from "./steps/branch"
|
||||
import * as triggerAutomationRun from "./steps/triggerAutomationRun"
|
||||
import env from "../environment"
|
||||
import {
|
||||
|
@ -28,6 +29,7 @@ import {
|
|||
} from "@budibase/types"
|
||||
import sdk from "../sdk"
|
||||
import { getAutomationPlugin } from "../utilities/fileSystem"
|
||||
import { features } from "@budibase/backend-core"
|
||||
|
||||
type ActionImplType = ActionImplementations<
|
||||
typeof env.SELF_HOSTED extends "true" ? Hosting.SELF : Hosting.CLOUD
|
||||
|
@ -98,6 +100,9 @@ if (env.SELF_HOSTED) {
|
|||
}
|
||||
|
||||
export async function getActionDefinitions() {
|
||||
if (await features.flags.isEnabled("AUTOMATION_BRANCHING")) {
|
||||
BUILTIN_ACTION_DEFINITIONS["BRANCH"] = branch.definition
|
||||
}
|
||||
const actionDefinitions = BUILTIN_ACTION_DEFINITIONS
|
||||
if (env.SELF_HOSTED) {
|
||||
const plugins = await sdk.plugins.fetch(PluginType.AUTOMATION)
|
||||
|
|
|
@ -566,24 +566,20 @@ class GoogleSheetsIntegration implements DatasourcePlus {
|
|||
query.filters.equal[`_${GOOGLE_SHEETS_PRIMARY_KEY}`] = id
|
||||
}
|
||||
}
|
||||
let filtered = dataFilters.runQuery(
|
||||
rows,
|
||||
query.filters || {},
|
||||
(row: GoogleSpreadsheetRow, headerKey: string) => {
|
||||
return row.get(headerKey)
|
||||
}
|
||||
)
|
||||
|
||||
if (hasFilters && query.paginate) {
|
||||
filtered = filtered.slice(offset, offset + limit)
|
||||
rows = rows.slice(offset, offset + limit)
|
||||
}
|
||||
const headerValues = sheet.headerValues
|
||||
let response = []
|
||||
for (let row of filtered) {
|
||||
for (let row of rows) {
|
||||
response.push(
|
||||
this.buildRowObject(headerValues, row.toObject(), row._rowNumber)
|
||||
this.buildRowObject(headerValues, row.toObject(), row.rowNumber)
|
||||
)
|
||||
}
|
||||
|
||||
response = dataFilters.runQuery(response, query.filters || {})
|
||||
|
||||
if (query.sort) {
|
||||
if (Object.keys(query.sort).length !== 1) {
|
||||
console.warn("Googlesheets does not support multiple sorting", {
|
||||
|
|
|
@ -508,15 +508,8 @@ export const search = (
|
|||
* Performs a client-side search on an array of data
|
||||
* @param docs the data
|
||||
* @param query the JSON query
|
||||
* @param findInDoc optional fn when trying to extract a value
|
||||
* from custom doc type e.g. Google Sheets
|
||||
*
|
||||
*/
|
||||
export const runQuery = (
|
||||
docs: Record<string, any>[],
|
||||
query: SearchFilters,
|
||||
findInDoc: Function = deepGet
|
||||
) => {
|
||||
export const runQuery = (docs: Record<string, any>[], query: SearchFilters) => {
|
||||
if (!docs || !Array.isArray(docs)) {
|
||||
return []
|
||||
}
|
||||
|
@ -543,7 +536,7 @@ export const runQuery = (
|
|||
for (const [key, testValue] of Object.entries(query[type] || {})) {
|
||||
const valueToCheck = isLogicalSearchOperator(type)
|
||||
? doc
|
||||
: findInDoc(doc, removeKeyNumbering(key))
|
||||
: deepGet(doc, removeKeyNumbering(key))
|
||||
const result = test(valueToCheck, testValue)
|
||||
if (query.allOr && result) {
|
||||
return true
|
||||
|
|
Loading…
Reference in New Issue