Merge remote-tracking branch 'origin/master' into s3-upload-fixes

This commit is contained in:
Dean 2025-01-02 09:10:03 +00:00
commit 2ff1c7ad28
728 changed files with 7821 additions and 5285 deletions

View File

@ -30,7 +30,7 @@ env:
jobs:
lint:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout repo
uses: actions/checkout@v4
@ -47,7 +47,7 @@ jobs:
- run: yarn lint
build:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout repo
uses: actions/checkout@v4
@ -76,7 +76,7 @@ jobs:
fi
helm-lint:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout repo
uses: actions/checkout@v4
@ -88,7 +88,7 @@ jobs:
- run: cd charts/budibase && helm lint .
test-libraries:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout repo
uses: actions/checkout@v4
@ -122,7 +122,7 @@ jobs:
fi
test-worker:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout repo
uses: actions/checkout@v4
@ -151,7 +151,7 @@ jobs:
yarn test --verbose --reporters=default --reporters=github-actions
test-server:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
datasource:
@ -237,7 +237,7 @@ jobs:
yarn test --filter $FILTER --verbose --reporters=default --reporters=github-actions
check-pro-submodule:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
if: inputs.run_as_oss != true && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'Budibase/budibase')
steps:
- name: Checkout repo and submodules
@ -296,7 +296,7 @@ jobs:
fi
check-lockfile:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
if: inputs.run_as_oss != true && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'Budibase/budibase')
steps:
- name: Checkout repo

View File

@ -10,7 +10,7 @@
},
"dependencies": {
"bulma": "^0.9.3",
"next": "14.2.10",
"next": "14.2.15",
"node-fetch": "^3.2.10",
"sass": "^1.52.3",
"react": "17.0.2",

View File

@ -46,10 +46,10 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
"@next/env@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.10.tgz#1d3178340028ced2d679f84140877db4f420333c"
integrity sha512-dZIu93Bf5LUtluBXIv4woQw2cZVZ2DJTjax5/5DOs3lzEOeKLy7GxRSr4caK9/SCPdaW6bCgpye6+n4Dh9oJPw==
"@next/env@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.15.tgz#06d984e37e670d93ddd6790af1844aeb935f332f"
integrity sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==
"@next/eslint-plugin-next@12.1.0":
version "12.1.0"
@ -58,50 +58,50 @@
dependencies:
glob "7.1.7"
"@next/swc-darwin-arm64@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.10.tgz#49d10ca4086fbd59ee68e204f75d7136eda2aa80"
integrity sha512-V3z10NV+cvMAfxQUMhKgfQnPbjw+Ew3cnr64b0lr8MDiBJs3eLnM6RpGC46nhfMZsiXgQngCJKWGTC/yDcgrDQ==
"@next/swc-darwin-arm64@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.15.tgz#6386d585f39a1c490c60b72b1f76612ba4434347"
integrity sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA==
"@next/swc-darwin-x64@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.10.tgz#0ebeae3afb8eac433882b79543295ab83624a1a8"
integrity sha512-Y0TC+FXbFUQ2MQgimJ/7Ina2mXIKhE7F+GUe1SgnzRmwFY3hX2z8nyVCxE82I2RicspdkZnSWMn4oTjIKz4uzA==
"@next/swc-darwin-x64@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.15.tgz#b7baeedc6a28f7545ad2bc55adbab25f7b45cb89"
integrity sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg==
"@next/swc-linux-arm64-gnu@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.10.tgz#7e602916d2fb55a3c532f74bed926a0137c16f20"
integrity sha512-ZfQ7yOy5zyskSj9rFpa0Yd7gkrBnJTkYVSya95hX3zeBG9E55Z6OTNPn1j2BTFWvOVVj65C3T+qsjOyVI9DQpA==
"@next/swc-linux-arm64-gnu@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.15.tgz#fa13c59d3222f70fb4cb3544ac750db2c6e34d02"
integrity sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw==
"@next/swc-linux-arm64-musl@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.10.tgz#6b143f628ccee490b527562e934f8de578d4be47"
integrity sha512-n2i5o3y2jpBfXFRxDREr342BGIQCJbdAUi/K4q6Env3aSx8erM9VuKXHw5KNROK9ejFSPf0LhoSkU/ZiNdacpQ==
"@next/swc-linux-arm64-musl@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.15.tgz#30e45b71831d9a6d6d18d7ac7d611a8d646a17f9"
integrity sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ==
"@next/swc-linux-x64-gnu@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.10.tgz#086f2f16a0678890a1eb46518c4dda381b046082"
integrity sha512-GXvajAWh2woTT0GKEDlkVhFNxhJS/XdDmrVHrPOA83pLzlGPQnixqxD8u3bBB9oATBKB//5e4vpACnx5Vaxdqg==
"@next/swc-linux-x64-gnu@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.15.tgz#5065db17fc86f935ad117483f21f812dc1b39254"
integrity sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA==
"@next/swc-linux-x64-musl@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.10.tgz#1befef10ed8dbcc5047b5d637a25ae3c30a0bfc3"
integrity sha512-opFFN5B0SnO+HTz4Wq4HaylXGFV+iHrVxd3YvREUX9K+xfc4ePbRrxqOuPOFjtSuiVouwe6uLeDtabjEIbkmDA==
"@next/swc-linux-x64-musl@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.15.tgz#3c4a4568d8be7373a820f7576cf33388b5dab47e"
integrity sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ==
"@next/swc-win32-arm64-msvc@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.10.tgz#731f52c3ae3c56a26cf21d474b11ae1529531209"
integrity sha512-9NUzZuR8WiXTvv+EiU/MXdcQ1XUvFixbLIMNQiVHuzs7ZIFrJDLJDaOF1KaqttoTujpcxljM/RNAOmw1GhPPQQ==
"@next/swc-win32-arm64-msvc@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.15.tgz#fb812cc4ca0042868e32a6a021da91943bb08b98"
integrity sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g==
"@next/swc-win32-ia32-msvc@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.10.tgz#32723ef7f04e25be12af357cc72ddfdd42fd1041"
integrity sha512-fr3aEbSd1GeW3YUMBkWAu4hcdjZ6g4NBl1uku4gAn661tcxd1bHs1THWYzdsbTRLcCKLjrDZlNp6j2HTfrw+Bg==
"@next/swc-win32-ia32-msvc@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.15.tgz#ec26e6169354f8ced240c1427be7fd485c5df898"
integrity sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ==
"@next/swc-win32-x64-msvc@14.2.10":
version "14.2.10"
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.10.tgz#ee1d036cb5ec871816f96baee7991035bb242455"
integrity sha512-UjeVoRGKNL2zfbcQ6fscmgjBAS/inHBh63mjIlfPg/NG8Yn2ztqylXt5qilYb6hoHIwaU2ogHknHWWmahJjgZQ==
"@next/swc-win32-x64-msvc@14.2.15":
version "14.2.15"
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.15.tgz#18d68697002b282006771f8d92d79ade9efd35c4"
integrity sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
@ -1253,12 +1253,12 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
next@14.2.10:
version "14.2.10"
resolved "https://registry.yarnpkg.com/next/-/next-14.2.10.tgz#331981a4fecb1ae8af1817d4db98fc9687ee1cb6"
integrity sha512-sDDExXnh33cY3RkS9JuFEKaS4HmlWmDKP1VJioucCG6z5KuA008DPsDZOzi8UfqEk3Ii+2NCQSJrfbEWtZZfww==
next@14.2.15:
version "14.2.15"
resolved "https://registry.yarnpkg.com/next/-/next-14.2.15.tgz#348e5603e22649775d19c785c09a89c9acb5189a"
integrity sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==
dependencies:
"@next/env" "14.2.10"
"@next/env" "14.2.15"
"@swc/helpers" "0.5.5"
busboy "1.6.0"
caniuse-lite "^1.0.30001579"
@ -1266,15 +1266,15 @@ next@14.2.10:
postcss "8.4.31"
styled-jsx "5.1.1"
optionalDependencies:
"@next/swc-darwin-arm64" "14.2.10"
"@next/swc-darwin-x64" "14.2.10"
"@next/swc-linux-arm64-gnu" "14.2.10"
"@next/swc-linux-arm64-musl" "14.2.10"
"@next/swc-linux-x64-gnu" "14.2.10"
"@next/swc-linux-x64-musl" "14.2.10"
"@next/swc-win32-arm64-msvc" "14.2.10"
"@next/swc-win32-ia32-msvc" "14.2.10"
"@next/swc-win32-x64-msvc" "14.2.10"
"@next/swc-darwin-arm64" "14.2.15"
"@next/swc-darwin-x64" "14.2.15"
"@next/swc-linux-arm64-gnu" "14.2.15"
"@next/swc-linux-arm64-musl" "14.2.15"
"@next/swc-linux-x64-gnu" "14.2.15"
"@next/swc-linux-x64-musl" "14.2.15"
"@next/swc-win32-arm64-msvc" "14.2.15"
"@next/swc-win32-ia32-msvc" "14.2.15"
"@next/swc-win32-x64-msvc" "14.2.15"
node-domexception@^1.0.0:
version "1.0.0"

View File

@ -1,6 +1,6 @@
{
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
"version": "3.2.28",
"version": "3.2.29",
"npmClient": "yarn",
"concurrency": 20,
"command": {

View File

@ -70,6 +70,10 @@ export function encodeTableId(tableId: string) {
}
}
export function encodeViewId(viewId: string) {
return encodeURIComponent(viewId)
}
export function breakExternalTableId(tableId: string) {
const parts = tableId.split(DOUBLE_SEPARATOR)
let datasourceId = parts.shift()

View File

@ -51,6 +51,7 @@
}
input.hide-arrows {
-moz-appearance: textfield;
appearance: textfield;
}
input[type="time"]::-webkit-calendar-picker-indicator {
display: none;

View File

@ -39,6 +39,7 @@
padding: 0;
margin: 0;
-webkit-appearance: none;
appearance: none;
background: transparent;
}
input::-webkit-slider-thumb {

View File

@ -43,12 +43,11 @@
flex-direction: row;
justify-content: flex-start;
align-items: stretch;
overflow-y: scroll !important;
flex: 1 1 auto;
overflow-x: hidden;
}
.main {
overflow: auto;
overflow-y: scroll;
}
.content {
display: flex;

View File

@ -37,7 +37,7 @@
}
}
export let overBackground
export let overBackground = false
</script>
<!-- svelte-ignore a11y-no-static-element-interactions -->

View File

@ -124,8 +124,6 @@
.spectrum-Tabs-selectionIndicator.emphasized {
background-color: var(--spectrum-global-color-blue-400);
}
.spectrum-Tabs--horizontal .spectrum-Tabs-selectionIndicator {
}
.noHorizPadding {
padding: 0;
}

View File

@ -134,6 +134,7 @@
.spectrum-Tooltip-label {
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
font-size: 12px;

View File

@ -7,7 +7,7 @@
"build": "routify -b && NODE_OPTIONS=\"--max_old_space_size=4096\" vite build --emptyOutDir",
"start": "routify -c rollup",
"dev": "routify -c dev:vite",
"dev:vite": "vite --host 0.0.0.0",
"dev:vite": "vite --host 0.0.0.0 --mode=dev",
"rollup": "rollup -c -w",
"test": "vitest run",
"test:watch": "vitest",
@ -94,6 +94,7 @@
"@sveltejs/vite-plugin-svelte": "1.4.0",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/svelte": "^4.1.0",
"@types/shortid": "^2.2.0",
"babel-jest": "^29.6.2",
"identity-obj-proxy": "^3.0.0",
"jest": "29.7.0",

View File

@ -3,7 +3,7 @@
import { routes } from "../.routify/routes"
import { NotificationDisplay, BannerDisplay } from "@budibase/bbui"
import { parse, stringify } from "qs"
import LicensingOverlays from "components/portal/licensing/LicensingOverlays.svelte"
import LicensingOverlays from "@/components/portal/licensing/LicensingOverlays.svelte"
const queryHandler = { parse, stringify }
</script>

View File

@ -1,4 +1,4 @@
import { API } from "api"
import { API } from "@/api"
import PosthogClient from "./PosthogClient"
import { Events, EventSource } from "./constants"

View File

@ -3,12 +3,12 @@ import {
CookieUtils,
Constants,
} from "@budibase/frontend-core"
import { appStore } from "stores/builder"
import { appStore } from "@/stores/builder"
import { get } from "svelte/store"
import { auth, navigation } from "./stores/portal"
export const API = createAPIClient({
attachHeaders: (headers: Record<string, string>) => {
attachHeaders: headers => {
// Attach app ID header from store
let appId = get(appStore).appId
if (appId) {
@ -22,7 +22,7 @@ export const API = createAPIClient({
}
},
onError: (error: any) => {
onError: error => {
const { url, message, status, method, handled } = error || {}
// Log any errors that we haven't manually handled
@ -45,7 +45,7 @@ export const API = createAPIClient({
}
}
},
onMigrationDetected: (appId: string) => {
onMigrationDetected: appId => {
const updatingUrl = `/builder/app/updating/${appId}`
if (window.location.pathname === updatingUrl) {

View File

@ -1,5 +1,5 @@
<script>
import { contextMenuStore } from "stores/builder"
import { contextMenuStore } from "@/stores/builder"
import { Popover, Menu, MenuItem } from "@budibase/bbui"
let dropdown

View File

@ -1,5 +1,5 @@
<script>
import { selectedAutomation } from "stores/builder"
import { selectedAutomation } from "@/stores/builder"
import Flowchart from "./FlowChart/FlowChart.svelte"
</script>

View File

@ -9,7 +9,7 @@
} from "svelte"
import Logo from "assets/bb-emblem.svg?raw"
import { Utils, memo } from "@budibase/frontend-core"
import { selectedAutomation, automationStore } from "stores/builder"
import { selectedAutomation, automationStore } from "@/stores/builder"
// CSS classes that, on mouse down, will trigger the view drag behaviour
export let draggableClasses = []

View File

@ -10,10 +10,10 @@
Tag,
} from "@budibase/bbui"
import { AutomationActionStepId } from "@budibase/types"
import { automationStore, selectedAutomation } from "stores/builder"
import { admin, licensing } from "stores/portal"
import { automationStore, selectedAutomation } from "@/stores/builder"
import { admin, licensing } from "@/stores/portal"
import { externalActions } from "./ExternalActions"
import { TriggerStepID, ActionStepID } from "constants/backend/automations"
import { TriggerStepID, ActionStepID } from "@/constants/backend/automations"
export let block
export let modal
@ -49,7 +49,7 @@
const disabled = () => {
return {
SEND_EMAIL_SMTP: {
disabled: !$admin.checklist.smtp.checked,
disabled: !$admin.checklist?.smtp?.checked,
message: "Please configure SMTP",
},
COLLECT: {

View File

@ -1,7 +1,7 @@
<script>
import { processStringSync } from "@budibase/string-templates"
import { get } from "lodash/fp"
import { tables } from "stores/builder"
import { tables } from "@/stores/builder"
export let block

View File

@ -1,5 +1,5 @@
<script>
import FilterBuilder from "components/design/settings/controls/FilterEditor/FilterBuilder.svelte"
import FilterBuilder from "@/components/design/settings/controls/FilterEditor/FilterBuilder.svelte"
import {
Drawer,
DrawerContent,
@ -14,11 +14,11 @@
Modal,
ModalContent,
} from "@budibase/bbui"
import PropField from "components/automation/SetupPanel/PropField.svelte"
import AutomationBindingPanel from "components/common/bindings/ServerBindingPanel.svelte"
import PropField from "@/components/automation/SetupPanel/PropField.svelte"
import AutomationBindingPanel from "@/components/common/bindings/ServerBindingPanel.svelte"
import FlowItemHeader from "./FlowItemHeader.svelte"
import FlowItemActions from "./FlowItemActions.svelte"
import { automationStore, selectedAutomation } from "stores/builder"
import { automationStore, selectedAutomation } from "@/stores/builder"
import { QueryUtils, Utils } from "@budibase/frontend-core"
import { cloneDeep } from "lodash/fp"
import { createEventDispatcher, getContext } from "svelte"

View File

@ -3,8 +3,8 @@
automationStore,
automationHistoryStore,
selectedAutomation,
} from "stores/builder"
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
} from "@/stores/builder"
import ConfirmDialog from "@/components/common/ConfirmDialog.svelte"
import TestDataModal from "./TestDataModal.svelte"
import {
notifications,
@ -13,8 +13,8 @@
Button,
ActionButton,
} from "@budibase/bbui"
import { ActionStepID } from "constants/backend/automations"
import UndoRedoControl from "components/common/UndoRedoControl.svelte"
import { ActionStepID } from "@/constants/backend/automations"
import UndoRedoControl from "@/components/common/UndoRedoControl.svelte"
import StepNode from "./StepNode.svelte"
import { memo } from "@budibase/frontend-core"
import { sdk } from "@budibase/shared-core"

View File

@ -4,7 +4,7 @@
permissions,
selectedAutomation,
tables,
} from "stores/builder"
} from "@/stores/builder"
import {
Icon,
Divider,
@ -16,16 +16,16 @@
} from "@budibase/bbui"
import { sdk } from "@budibase/shared-core"
import AutomationBlockSetup from "../../SetupPanel/AutomationBlockSetup.svelte"
import CreateWebhookModal from "components/automation/Shared/CreateWebhookModal.svelte"
import CreateWebhookModal from "@/components/automation/Shared/CreateWebhookModal.svelte"
import FlowItemHeader from "./FlowItemHeader.svelte"
import RoleSelect from "components/design/settings/controls/RoleSelect.svelte"
import { ActionStepID, TriggerStepID } from "constants/backend/automations"
import RoleSelect from "@/components/design/settings/controls/RoleSelect.svelte"
import { ActionStepID, TriggerStepID } from "@/constants/backend/automations"
import { AutomationStepType } from "@budibase/types"
import FlowItemActions from "./FlowItemActions.svelte"
import DragHandle from "components/design/settings/controls/DraggableList/drag-handle.svelte"
import DragHandle from "@/components/design/settings/controls/DraggableList/drag-handle.svelte"
import { getContext } from "svelte"
import DragZone from "./DragZone.svelte"
import InfoDisplay from "pages/builder/app/[application]/design/[screenId]/[componentId]/_components/Component/InfoDisplay.svelte"
import InfoDisplay from "@/pages/builder/app/[application]/design/[screenId]/[componentId]/_components/Component/InfoDisplay.svelte"
export let block
export let blockRef

View File

@ -1,9 +1,9 @@
<script>
import { automationStore, selectedAutomation } from "stores/builder"
import { automationStore, selectedAutomation } from "@/stores/builder"
import { Icon, Body, AbsTooltip, StatusLight } from "@budibase/bbui"
import { externalActions } from "./ExternalActions"
import { createEventDispatcher } from "svelte"
import { Features } from "constants/backend/automations"
import { Features } from "@/constants/backend/automations"
export let block
export let open
@ -22,7 +22,7 @@
const dispatch = createEventDispatcher()
$: blockRefs = $selectedAutomation?.blockRefs || {}
$: stepNames = automation?.definition.stepNames
$: stepNames = automation?.definition.stepNames || {}
$: allSteps = automation?.definition.steps || []
$: automationName = itemName || stepNames?.[block.id] || block?.name || ""
$: automationNameError = getAutomationNameError(automationName)
@ -64,7 +64,7 @@
const getAutomationNameError = name => {
const duplicateError =
"This name already exists, please enter a unique name"
if (stepNames && editing) {
if (editing) {
for (const [key, value] of Object.entries(stepNames)) {
if (name !== block.name && name === value && key !== block.id) {
return duplicateError

View File

@ -3,8 +3,8 @@
import BranchNode from "./BranchNode.svelte"
import { AutomationActionStepId } from "@budibase/types"
import { ActionButton, notifications } from "@budibase/bbui"
import { automationStore } from "stores/builder"
import { environment } from "stores/portal"
import { automationStore } from "@/stores/builder"
import { environment } from "@/stores/portal"
import { cloneDeep } from "lodash"
import { memo } from "@budibase/frontend-core"
import { getContext, onMount } from "svelte"

View File

@ -6,7 +6,7 @@
notifications,
ActionButton,
} from "@budibase/bbui"
import { automationStore, selectedAutomation } from "stores/builder"
import { automationStore, selectedAutomation } from "@/stores/builder"
import AutomationBlockSetup from "../../SetupPanel/AutomationBlockSetup.svelte"
import { cloneDeep } from "lodash/fp"
import { AutomationEventType } from "@budibase/types"

View File

@ -1,9 +1,9 @@
<script>
import { Icon, Divider, Tabs, Tab, Label } from "@budibase/bbui"
import FlowItemHeader from "./FlowChart/FlowItemHeader.svelte"
import { ActionStepID } from "constants/backend/automations"
import { ActionStepID } from "@/constants/backend/automations"
import { JsonView } from "@zerodevx/svelte-json-view"
import { automationStore } from "stores/builder"
import { automationStore } from "@/stores/builder"
import { AutomationActionStepId } from "@budibase/types"
export let automation

View File

@ -1,7 +1,7 @@
<script>
import { Icon, Divider } from "@budibase/bbui"
import TestDisplay from "./TestDisplay.svelte"
import { automationStore, selectedAutomation } from "stores/builder"
import { automationStore, selectedAutomation } from "@/stores/builder"
export let automation
</script>

View File

@ -4,12 +4,12 @@
userSelectedResourceMap,
automationStore,
contextMenuStore,
} from "stores/builder"
} from "@/stores/builder"
import { notifications, Icon } from "@budibase/bbui"
import { sdk } from "@budibase/shared-core"
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
import UpdateAutomationModal from "components/automation/AutomationPanel/UpdateAutomationModal.svelte"
import NavItem from "components/common/NavItem.svelte"
import ConfirmDialog from "@/components/common/ConfirmDialog.svelte"
import UpdateAutomationModal from "@/components/automation/AutomationPanel/UpdateAutomationModal.svelte"
import NavItem from "@/components/common/NavItem.svelte"
export let automation
export let icon

View File

@ -1,11 +1,11 @@
<script>
import CreateAutomationModal from "./CreateAutomationModal.svelte"
import { Modal, notifications, Layout } from "@budibase/bbui"
import NavHeader from "components/common/NavHeader.svelte"
import NavHeader from "@/components/common/NavHeader.svelte"
import { onMount } from "svelte"
import { automationStore, tables } from "stores/builder"
import { automationStore, tables } from "@/stores/builder"
import AutomationNavItem from "./AutomationNavItem.svelte"
import { TriggerStepID } from "constants/backend/automations"
import { TriggerStepID } from "@/constants/backend/automations"
export let modal
export let webhookModal

View File

@ -1,6 +1,6 @@
<script>
import { goto } from "@roxi/routify"
import { automationStore } from "stores/builder"
import { automationStore } from "@/stores/builder"
import {
notifications,
Input,
@ -11,7 +11,7 @@
Icon,
Label,
} from "@budibase/bbui"
import { TriggerStepID } from "constants/backend/automations"
import { TriggerStepID } from "@/constants/backend/automations"
export let webhookModal

View File

@ -1,5 +1,5 @@
<script>
import { automationStore } from "stores/builder"
import { automationStore } from "@/stores/builder"
import {
notifications,
Icon,

View File

@ -20,9 +20,9 @@
Icon,
} from "@budibase/bbui"
import CreateWebhookModal from "components/automation/Shared/CreateWebhookModal.svelte"
import { automationStore, tables } from "stores/builder"
import { environment } from "stores/portal"
import CreateWebhookModal from "@/components/automation/Shared/CreateWebhookModal.svelte"
import { automationStore, tables } from "@/stores/builder"
import { environment } from "@/stores/portal"
import WebhookDisplay from "../Shared/WebhookDisplay.svelte"
import {
BindingSidePanel,
@ -30,24 +30,27 @@
DrawerBindableInput,
ServerBindingPanel as AutomationBindingPanel,
ModalBindableInput,
} from "components/common/bindings"
} from "@/components/common/bindings"
import CodeEditorModal from "./CodeEditorModal.svelte"
import QueryParamSelector from "./QueryParamSelector.svelte"
import AutomationSelector from "./AutomationSelector.svelte"
import CronBuilder from "./CronBuilder.svelte"
import Editor from "components/integration/QueryEditor.svelte"
import CodeEditor from "components/common/CodeEditor/CodeEditor.svelte"
import KeyValueBuilder from "components/integration/KeyValueBuilder.svelte"
import { BindingHelpers, BindingType } from "components/common/bindings/utils"
import Editor from "@/components/integration/QueryEditor.svelte"
import CodeEditor from "@/components/common/CodeEditor/CodeEditor.svelte"
import KeyValueBuilder from "@/components/integration/KeyValueBuilder.svelte"
import {
BindingHelpers,
BindingType,
} from "@/components/common/bindings/utils"
import {
bindingsToCompletions,
hbAutocomplete,
EditorModes,
} from "components/common/CodeEditor"
import FilterBuilder from "components/design/settings/controls/FilterEditor/FilterBuilder.svelte"
} from "@/components/common/CodeEditor"
import FilterBuilder from "@/components/design/settings/controls/FilterEditor/FilterBuilder.svelte"
import { QueryUtils, Utils, search, memo } from "@budibase/frontend-core"
import { getSchemaForDatasourcePlus } from "dataBinding"
import { TriggerStepID, ActionStepID } from "constants/backend/automations"
import { getSchemaForDatasourcePlus } from "@/dataBinding"
import { TriggerStepID, ActionStepID } from "@/constants/backend/automations"
import { onMount, createEventDispatcher } from "svelte"
import { writable } from "svelte/store"
import { cloneDeep } from "lodash/fp"

View File

@ -1,8 +1,8 @@
<script>
import { Select, Label } from "@budibase/bbui"
import { createEventDispatcher } from "svelte"
import { automationStore, selectedAutomation } from "stores/builder"
import { TriggerStepID } from "constants/backend/automations"
import { automationStore, selectedAutomation } from "@/stores/builder"
import { TriggerStepID } from "@/constants/backend/automations"
import DrawerBindableInput from "../../common/bindings/DrawerBindableInput.svelte"
import AutomationBindingPanel from "../../common/bindings/ServerBindingPanel.svelte"

View File

@ -8,9 +8,9 @@
notifications,
} from "@budibase/bbui"
import { onMount, createEventDispatcher } from "svelte"
import { flags } from "stores/builder"
import { featureFlags, licensing } from "stores/portal"
import { API } from "api"
import { flags } from "@/stores/builder"
import { featureFlags, licensing } from "@/stores/portal"
import { API } from "@/api"
import MagicWand from "../../../../assets/MagicWand.svelte"
import { helpers, REBOOT_CRON } from "@budibase/shared-core"
@ -98,9 +98,7 @@
async function generateAICronExpression() {
loadingAICronExpression = true
try {
const response = await API.generateCronExpression({
prompt: aiCronPrompt,
})
const response = await API.generateCronExpression(aiCronPrompt)
cronExpression = response.message
dispatch("change", response.message)
} catch (err) {

View File

@ -1,6 +1,6 @@
<script>
import { createEventDispatcher } from "svelte"
import { queries } from "stores/builder"
import { queries } from "@/stores/builder"
import { Select, Label } from "@budibase/bbui"
import DrawerBindableInput from "../../common/bindings/DrawerBindableInput.svelte"
import AutomationBindingPanel from "../../common/bindings/ServerBindingPanel.svelte"

View File

@ -1,5 +1,5 @@
<script>
import { queries } from "stores/builder"
import { queries } from "@/stores/builder"
import { Select } from "@budibase/bbui"
export let value

View File

@ -1,5 +1,5 @@
<script>
import { tables } from "stores/builder"
import { tables } from "@/stores/builder"
import {
ActionButton,
Popover,
@ -13,8 +13,8 @@
import RowSelectorTypes from "./RowSelectorTypes.svelte"
import DrawerBindableSlot from "../../common/bindings/DrawerBindableSlot.svelte"
import AutomationBindingPanel from "../../common/bindings/ServerBindingPanel.svelte"
import { FIELDS } from "constants/backend"
import { capitalise } from "helpers"
import { FIELDS } from "@/constants/backend"
import { capitalise } from "@/helpers"
import { memo } from "@budibase/frontend-core"
import PropField from "./PropField.svelte"
import { cloneDeep, isPlainObject, mergeWith } from "lodash"

View File

@ -7,16 +7,16 @@
Toggle,
} from "@budibase/bbui"
import { FieldType } from "@budibase/types"
import LinkedRowSelector from "components/common/LinkedRowSelector.svelte"
import LinkedRowSelector from "@/components/common/LinkedRowSelector.svelte"
import DrawerBindableInput from "../../common/bindings/DrawerBindableInput.svelte"
import ModalBindableInput from "../../common/bindings/ModalBindableInput.svelte"
import AutomationBindingPanel from "../../common/bindings/ServerBindingPanel.svelte"
import CodeEditor from "components/common/CodeEditor/CodeEditor.svelte"
import KeyValueBuilder from "components/integration/KeyValueBuilder.svelte"
import CodeEditor from "@/components/common/CodeEditor/CodeEditor.svelte"
import KeyValueBuilder from "@/components/integration/KeyValueBuilder.svelte"
import {
readableToRuntimeBinding,
runtimeToReadableBinding,
} from "dataBinding"
} from "@/dataBinding"
export let onChange
export let field

View File

@ -1,8 +1,8 @@
<script>
import { tables } from "stores/builder"
import { tables } from "@/stores/builder"
import { Select } from "@budibase/bbui"
import { createEventDispatcher } from "svelte"
import { TableNames } from "constants"
import { TableNames } from "@/constants"
const dispatch = createEventDispatcher()

View File

@ -1,6 +1,6 @@
<script>
import { Icon, notifications, ModalContent } from "@budibase/bbui"
import { automationStore, selectedAutomation } from "stores/builder"
import { automationStore, selectedAutomation } from "@/stores/builder"
import WebhookDisplay from "./WebhookDisplay.svelte"
import { onMount, onDestroy } from "svelte"

View File

@ -1,5 +1,5 @@
<script>
import { API } from "api"
import { API } from "@/api"
import {
Input,
Select,
@ -13,12 +13,12 @@
ActionButton,
notifications,
} from "@budibase/bbui"
import Dropzone from "components/common/Dropzone.svelte"
import { capitalise } from "helpers"
import LinkedRowSelector from "components/common/LinkedRowSelector.svelte"
import Dropzone from "@/components/common/Dropzone.svelte"
import { capitalise } from "@/helpers"
import LinkedRowSelector from "@/components/common/LinkedRowSelector.svelte"
import Editor from "../../integration/QueryEditor.svelte"
import { SignatureModal } from "@budibase/frontend-core/src/components"
import { themeStore } from "stores/portal"
import { themeStore } from "@/stores/portal"
export let meta
export let value

View File

@ -2,8 +2,8 @@
import { fade } from "svelte/transition"
import { goto, params } from "@roxi/routify"
import { Table, Heading, Layout } from "@budibase/bbui"
import Spinner from "components/common/Spinner.svelte"
import { TableNames, UNEDITABLE_USER_FIELDS } from "constants"
import Spinner from "@/components/common/Spinner.svelte"
import { TableNames, UNEDITABLE_USER_FIELDS } from "@/constants"
import RoleCell from "./cells/RoleCell.svelte"
import { createEventDispatcher } from "svelte"
import { canBeSortColumn } from "@budibase/frontend-core"

View File

@ -1,7 +1,7 @@
<script>
import { createEventDispatcher } from "svelte"
import { Button } from "@budibase/bbui"
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
import ConfirmDialog from "@/components/common/ConfirmDialog.svelte"
export let selectedRows
export let deleteRows

View File

@ -2,7 +2,7 @@
import { ActionButton, notifications } from "@budibase/bbui"
import CreateEditRelationshipModal from "../../Datasources/CreateEditRelationshipModal.svelte"
import { datasources, tables as tablesStore } from "stores/builder"
import { datasources, tables as tablesStore } from "@/stores/builder"
import { createEventDispatcher } from "svelte"
export let table

View File

@ -7,9 +7,9 @@
Button,
} from "@budibase/bbui"
import download from "downloadjs"
import { API } from "api"
import { ROW_EXPORT_FORMATS } from "constants/backend"
import DetailPopover from "components/common/DetailPopover.svelte"
import { API } from "@/api"
import { ROW_EXPORT_FORMATS } from "@/constants/backend"
import DetailPopover from "@/components/common/DetailPopover.svelte"
export let view
export let sorting
@ -56,28 +56,19 @@
}
const exportAllData = async () => {
return await API.exportView({
viewName: view,
format: exportFormat,
})
return await API.exportView(view, exportFormat)
}
const exportFilteredData = async () => {
let payload = {
tableId: view,
format: exportFormat,
search: {
paginate: false,
},
}
let payload = {}
if (selectedRows?.length) {
payload.rows = selectedRows.map(row => row._id)
}
if (sorting) {
payload.search.sort = sorting.sortColumn
payload.search.sortOrder = sorting.sortOrder
payload.sort = sorting.sortColumn
payload.sortOrder = sorting.sortOrder
}
return await API.exportRows(payload)
return await API.exportRows(view, exportFormat, payload)
}
const exportData = async () => {

View File

@ -1,9 +1,9 @@
<script>
import { ActionButton, Button, Body, notifications } from "@budibase/bbui"
import DetailPopover from "components/common/DetailPopover.svelte"
import ExistingTableDataImport from "components/backend/TableNavigator/ExistingTableDataImport.svelte"
import DetailPopover from "@/components/common/DetailPopover.svelte"
import ExistingTableDataImport from "@/components/backend/TableNavigator/ExistingTableDataImport.svelte"
import { createEventDispatcher } from "svelte"
import { API } from "api"
import { API } from "@/api"
export let tableId
export let tableType
@ -30,11 +30,7 @@
const importData = async () => {
try {
loading = true
await API.importTableData({
tableId,
rows,
identifierFields,
})
await API.importTableData(tableId, rows, identifierFields)
notifications.success("Rows successfully imported")
popover.hide()
} catch (error) {

View File

@ -8,12 +8,12 @@
ListItem,
notifications,
} from "@budibase/bbui"
import { permissions as permissionsStore, roles } from "stores/builder"
import DetailPopover from "components/common/DetailPopover.svelte"
import { permissions as permissionsStore, roles } from "@/stores/builder"
import DetailPopover from "@/components/common/DetailPopover.svelte"
import { PermissionSource } from "@budibase/types"
import { capitalise } from "helpers"
import InfoDisplay from "pages/builder/app/[application]/design/[screenId]/[componentId]/_components/Component/InfoDisplay.svelte"
import { Roles } from "constants/backend"
import { capitalise } from "@/helpers"
import InfoDisplay from "@/pages/builder/app/[application]/design/[screenId]/[componentId]/_components/Component/InfoDisplay.svelte"
import { Roles } from "@/constants/backend"
export let resourceId

View File

@ -1,12 +1,12 @@
<script>
import { createEventDispatcher } from "svelte"
import { ActionButton, Button } from "@budibase/bbui"
import FilterBuilder from "components/design/settings/controls/FilterEditor/FilterBuilder.svelte"
import { getUserBindings } from "dataBinding"
import FilterBuilder from "@/components/design/settings/controls/FilterEditor/FilterBuilder.svelte"
import { getUserBindings } from "@/dataBinding"
import { makePropSafe } from "@budibase/string-templates"
import { search, Utils } from "@budibase/frontend-core"
import { tables } from "stores/builder"
import DetailPopover from "components/common/DetailPopover.svelte"
import { tables } from "@/stores/builder"
import DetailPopover from "@/components/common/DetailPopover.svelte"
export let schema
export let filters

View File

@ -1,6 +1,6 @@
<script>
import { getContext } from "svelte"
import ToggleActionButtonGroup from "components/common/ToggleActionButtonGroup.svelte"
import ToggleActionButtonGroup from "@/components/common/ToggleActionButtonGroup.svelte"
import { helpers } from "@budibase/shared-core"
import { SchemaUtils } from "@budibase/frontend-core"
import { Icon, notifications, ActionButton, Popover } from "@budibase/bbui"

View File

@ -1,8 +1,8 @@
<script>
import { ActionButton, List, ListItem, Button } from "@budibase/bbui"
import DetailPopover from "components/common/DetailPopover.svelte"
import { TriggerStepID } from "constants/backend/automations"
import { automationStore, appStore } from "stores/builder"
import DetailPopover from "@/components/common/DetailPopover.svelte"
import { TriggerStepID } from "@/constants/backend/automations"
import { automationStore, appStore } from "@/stores/builder"
import { createEventDispatcher, getContext } from "svelte"
const dispatch = createEventDispatcher()

View File

@ -10,7 +10,7 @@
import { getContext } from "svelte"
import { ActionButton } from "@budibase/bbui"
import ColumnsSettingContent from "./ColumnsSettingContent.svelte"
import DetailPopover from "components/common/DetailPopover.svelte"
import DetailPopover from "@/components/common/DetailPopover.svelte"
const { tableColumns, datasource } = getContext("grid")

View File

@ -6,14 +6,14 @@
tables,
builderStore,
viewsV2,
} from "stores/builder"
import { TriggerStepID } from "constants/backend/automations"
} from "@/stores/builder"
import { TriggerStepID } from "@/constants/backend/automations"
import { goto } from "@roxi/routify"
import DetailPopover from "components/common/DetailPopover.svelte"
import DetailPopover from "@/components/common/DetailPopover.svelte"
import MagicWand from "./magic-wand.svg"
import { AutoScreenTypes } from "constants"
import CreateScreenModal from "pages/builder/app/[application]/design/_components/NewScreen/CreateScreenModal.svelte"
import { getSequentialName } from "helpers/duplicate"
import { AutoScreenTypes } from "@/constants"
import CreateScreenModal from "@/pages/builder/app/[application]/design/_components/NewScreen/CreateScreenModal.svelte"
import { getSequentialName } from "@/helpers/duplicate"
const { datasource } = getContext("grid")

View File

@ -10,9 +10,9 @@
ModalContent,
Input,
} from "@budibase/bbui"
import DetailPopover from "components/common/DetailPopover.svelte"
import DetailPopover from "@/components/common/DetailPopover.svelte"
import { getContext } from "svelte"
import { appStore, rowActions } from "stores/builder"
import { appStore, rowActions } from "@/stores/builder"
import { goto, url } from "@roxi/routify"
import { derived } from "svelte/store"
@ -39,9 +39,9 @@
const toggleAction = async (action, enabled) => {
if (enabled) {
await rowActions.enableView(tableId, viewId, action.id)
await rowActions.enableView(tableId, action.id, viewId)
} else {
await rowActions.disableView(tableId, viewId, action.id)
await rowActions.disableView(tableId, action.id, viewId)
}
}

View File

@ -1,7 +1,7 @@
<script>
import { ActionButton, List, ListItem, Button } from "@budibase/bbui"
import DetailPopover from "components/common/DetailPopover.svelte"
import { screenStore, appStore } from "stores/builder"
import DetailPopover from "@/components/common/DetailPopover.svelte"
import { screenStore, appStore } from "@/stores/builder"
import { getContext, createEventDispatcher } from "svelte"
const { datasource } = getContext("grid")

View File

@ -1,7 +1,7 @@
<script>
import { getContext } from "svelte"
import { ActionButton, Label } from "@budibase/bbui"
import DetailPopover from "components/common/DetailPopover.svelte"
import DetailPopover from "@/components/common/DetailPopover.svelte"
const {
Constants,

View File

@ -2,7 +2,7 @@
import { getContext } from "svelte"
import { ActionButton, Select } from "@budibase/bbui"
import { canBeSortColumn } from "@budibase/frontend-core"
import DetailPopover from "components/common/DetailPopover.svelte"
import DetailPopover from "@/components/common/DetailPopover.svelte"
const { sort, columns } = getContext("grid")

View File

@ -1,6 +1,6 @@
<script>
import { ActionButton, Popover, Heading, Body, Button } from "@budibase/bbui"
import { builderStore } from "stores/builder"
import { builderStore } from "@/stores/builder"
let anchor
let open = false

View File

@ -7,9 +7,9 @@
Button,
} from "@budibase/bbui"
import { CalculationType, canGroupBy, isNumeric } from "@budibase/types"
import InfoDisplay from "pages/builder/app/[application]/design/[screenId]/[componentId]/_components/Component/InfoDisplay.svelte"
import InfoDisplay from "@/pages/builder/app/[application]/design/[screenId]/[componentId]/_components/Component/InfoDisplay.svelte"
import { getContext } from "svelte"
import DetailPopover from "components/common/DetailPopover.svelte"
import DetailPopover from "@/components/common/DetailPopover.svelte"
const { definition, datasource, rows } = getContext("grid")
const calculationTypeOptions = [

View File

@ -1,5 +1,5 @@
<script>
import { roles } from "stores/builder"
import { roles } from "@/stores/builder"
export let value

View File

@ -1,6 +1,6 @@
import { FieldType } from "@budibase/types"
import { FIELDS } from "constants/backend"
import { tables } from "stores/builder"
import { FIELDS } from "@/constants/backend"
import { tables } from "@/stores/builder"
import { get as svelteGet } from "svelte/store"
// currently supported level of relationship depth (server side)

View File

@ -1,7 +1,7 @@
<script>
import { Select, Label, notifications, ModalContent } from "@budibase/bbui"
import { tables, views } from "stores/builder"
import { FIELDS } from "constants/backend"
import { tables, views } from "@/stores/builder"
import { FIELDS } from "@/constants/backend"
const CALCULATIONS = [
{

View File

@ -25,32 +25,32 @@
import { makePropSafe } from "@budibase/string-templates"
import { createEventDispatcher, getContext, onMount } from "svelte"
import { cloneDeep } from "lodash/fp"
import { tables, datasources } from "stores/builder"
import { featureFlags } from "stores/portal"
import { TableNames, UNEDITABLE_USER_FIELDS } from "constants"
import { tables, datasources } from "@/stores/builder"
import { featureFlags } from "@/stores/portal"
import { TableNames, UNEDITABLE_USER_FIELDS } from "@/constants"
import {
FIELDS,
RelationshipType,
PrettyRelationshipDefinitions,
DB_TYPE_EXTERNAL,
} from "constants/backend"
import { getAutoColumnInformation, buildAutoColumn } from "helpers/utils"
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
import AIFieldConfiguration from "components/common/AIFieldConfiguration.svelte"
import ModalBindableInput from "components/common/bindings/ModalBindableInput.svelte"
import { getBindings } from "components/backend/DataTable/formula"
} from "@/constants/backend"
import { getAutoColumnInformation, buildAutoColumn } from "@/helpers/utils"
import ConfirmDialog from "@/components/common/ConfirmDialog.svelte"
import AIFieldConfiguration from "@/components/common/AIFieldConfiguration.svelte"
import ModalBindableInput from "@/components/common/bindings/ModalBindableInput.svelte"
import { getBindings } from "@/components/backend/DataTable/formula"
import JSONSchemaModal from "./JSONSchemaModal.svelte"
import {
BBReferenceFieldSubType,
FieldType,
SourceName,
} from "@budibase/types"
import RelationshipSelector from "components/common/RelationshipSelector.svelte"
import RelationshipSelector from "@/components/common/RelationshipSelector.svelte"
import { RowUtils, canBeDisplayColumn } from "@budibase/frontend-core"
import ServerBindingPanel from "components/common/bindings/ServerBindingPanel.svelte"
import ServerBindingPanel from "@/components/common/bindings/ServerBindingPanel.svelte"
import OptionsEditor from "./OptionsEditor.svelte"
import { isEnabled } from "helpers/featureFlags"
import { getUserBindings } from "dataBinding"
import { isEnabled } from "@/helpers/featureFlags"
import { getUserBindings } from "@/dataBinding"
export let field

View File

@ -1,10 +1,10 @@
<script>
import { createEventDispatcher } from "svelte"
import { tables } from "stores/builder"
import { tables } from "@/stores/builder"
import { ModalContent, keepOpen, notifications } from "@budibase/bbui"
import RowFieldControl from "../RowFieldControl.svelte"
import { API } from "api"
import { FIELDS } from "constants/backend"
import { API } from "@/api"
import { FIELDS } from "@/constants/backend"
const FORMULA_TYPE = FIELDS.FORMULA.type
const AI_TYPE = FIELDS.AI.type

View File

@ -1,6 +1,6 @@
<script>
import { createEventDispatcher } from "svelte"
import { tables, roles } from "stores/builder"
import { tables, roles } from "@/stores/builder"
import {
notifications,
keepOpen,
@ -9,8 +9,8 @@
Link,
} from "@budibase/bbui"
import RowFieldControl from "../RowFieldControl.svelte"
import { API } from "api"
import ErrorsBox from "components/common/ErrorsBox.svelte"
import { API } from "@/api"
import ErrorsBox from "@/components/common/ErrorsBox.svelte"
import { goto } from "@roxi/routify"
export let row = {}

View File

@ -10,7 +10,7 @@
notifications,
Icon,
} from "@budibase/bbui"
import { tables, views } from "stores/builder"
import { tables, views } from "@/stores/builder"
const CONDITIONS = [
{

View File

@ -1,7 +1,7 @@
<script>
import { Select, ModalContent, notifications } from "@budibase/bbui"
import { tables, views } from "stores/builder"
import { FIELDS } from "constants/backend"
import { tables, views } from "@/stores/builder"
import { FIELDS } from "@/constants/backend"
export let view = {}

View File

@ -1,5 +1,5 @@
<script>
import Editor from "components/integration/QueryEditor.svelte"
import Editor from "@/components/integration/QueryEditor.svelte"
import {
ModalContent,
Tabs,
@ -12,8 +12,8 @@
ActionButton,
} from "@budibase/bbui"
import { onMount, createEventDispatcher } from "svelte"
import { FIELDS } from "constants/backend"
import { generate } from "helpers/schemaGenerator"
import { FIELDS } from "@/constants/backend"
import { generate } from "@/helpers/schemaGenerator"
export let schema = {}
export let json

View File

@ -4,7 +4,7 @@
import { Icon, Popover } from "@budibase/bbui"
import { tick } from "svelte"
import { Constants } from "@budibase/frontend-core"
import { getSequentialName } from "helpers/duplicate"
import { getSequentialName } from "@/helpers/duplicate"
import { derived, writable } from "svelte/store"
export let constraints

View File

@ -1,6 +1,6 @@
<script>
import { getContext } from "svelte"
import CreateEditColumn from "components/backend/DataTable/modals/CreateEditColumn.svelte"
import CreateEditColumn from "@/components/backend/DataTable/modals/CreateEditColumn.svelte"
const { datasource, rows } = getContext("grid")

View File

@ -1,12 +1,12 @@
<script>
import { isActive } from "@roxi/routify"
import { BUDIBASE_INTERNAL_DB_ID } from "constants/backend"
import { contextMenuStore, userSelectedResourceMap } from "stores/builder"
import NavItem from "components/common/NavItem.svelte"
import { BUDIBASE_INTERNAL_DB_ID } from "@/constants/backend"
import { contextMenuStore, userSelectedResourceMap } from "@/stores/builder"
import NavItem from "@/components/common/NavItem.svelte"
import IntegrationIcon from "components/backend/DatasourceNavigator/IntegrationIcon.svelte"
import IntegrationIcon from "@/components/backend/DatasourceNavigator/IntegrationIcon.svelte"
import { Icon } from "@budibase/bbui"
import UpdateDatasourceModal from "components/backend/DatasourceNavigator/modals/UpdateDatasourceModal.svelte"
import UpdateDatasourceModal from "@/components/backend/DatasourceNavigator/modals/UpdateDatasourceModal.svelte"
import DeleteConfirmationModal from "./DeleteConfirmationModal.svelte"
export let datasource

View File

@ -1,8 +1,8 @@
<script>
import { goto } from "@roxi/routify"
import { datasources } from "stores/builder"
import { datasources } from "@/stores/builder"
import { notifications } from "@budibase/bbui"
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
import ConfirmDialog from "@/components/common/ConfirmDialog.svelte"
export let datasource

View File

@ -8,12 +8,12 @@
views,
viewsV2,
userSelectedResourceMap,
} from "stores/builder"
} from "@/stores/builder"
import QueryNavItem from "./QueryNavItem.svelte"
import NavItem from "components/common/NavItem.svelte"
import TableNavigator from "components/backend/TableNavigator/TableNavigator.svelte"
import NavItem from "@/components/common/NavItem.svelte"
import TableNavigator from "@/components/backend/TableNavigator/TableNavigator.svelte"
import DatasourceNavItem from "./DatasourceNavItem/DatasourceNavItem.svelte"
import { TableNames } from "constants"
import { TableNames } from "@/constants"
import { enrichDatasources } from "./datasourceUtils"
import { onMount } from "svelte"

View File

@ -1,6 +1,6 @@
<script>
import { getIcon } from "./icons"
import CustomSVG from "components/common/CustomSVG.svelte"
import CustomSVG from "@/components/common/CustomSVG.svelte"
export let integrationType
export let schema

View File

@ -3,16 +3,16 @@
customQueryIconText,
customQueryIconColor,
customQueryText,
} from "helpers/data/utils"
} from "@/helpers/data/utils"
import { goto as gotoStore, isActive } from "@roxi/routify"
import {
datasources,
queries,
userSelectedResourceMap,
contextMenuStore,
} from "stores/builder"
import NavItem from "components/common/NavItem.svelte"
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
} from "@/stores/builder"
import NavItem from "@/components/common/NavItem.svelte"
import ConfirmDialog from "@/components/common/ConfirmDialog.svelte"
import { notifications, Icon } from "@budibase/bbui"
export let datasource

View File

@ -1,4 +1,4 @@
import { TableNames } from "constants"
import { TableNames } from "@/constants"
const showDatasourceOpen = ({
selected,

View File

@ -16,7 +16,7 @@ import Firebase from "./Firebase.svelte"
import Redis from "./Redis.svelte"
import Snowflake from "./Snowflake.svelte"
import Custom from "./Custom.svelte"
import { integrations } from "stores/builder"
import { integrations } from "@/stores/builder"
import { get } from "svelte/store"
const ICONS = {

View File

@ -12,7 +12,7 @@
TextArea,
Dropzone,
} from "@budibase/bbui"
import { datasources, queries } from "stores/builder"
import { datasources, queries } from "@/stores/builder"
import { writable } from "svelte/store"
export let navigateDatasource = false

View File

@ -1,8 +1,8 @@
<script>
import { get } from "svelte/store"
import { datasources, integrations } from "stores/builder"
import { datasources, integrations } from "@/stores/builder"
import { notifications, Input, ModalContent, Modal } from "@budibase/bbui"
import { integrationForDatasource } from "stores/selectors"
import { integrationForDatasource } from "@/stores/selectors"
let error = ""
let modal
@ -33,7 +33,7 @@
...datasource,
name,
}
await datasources.update({
await datasources.save({
datasource: updatedDatasource,
integration: integrationForDatasource(get(integrations), datasource),
})

View File

@ -12,6 +12,7 @@
export let name
export let config
export let showModal = () => {}
export let placeholder
const selectComponent = type => {
if (type === "object") {
@ -40,6 +41,7 @@
{name}
{config}
{showModal}
{placeholder}
on:blur
on:change
/>

View File

@ -5,11 +5,12 @@
export let name
export let value
export let error
export let placeholder
</script>
<div class="form-row">
<Label>{name}</Label>
<TextArea on:blur on:change {type} {value} {error} />
<TextArea on:blur on:change {type} {value} {error} {placeholder} />
</div>
<style>

View File

@ -1,6 +1,6 @@
<script>
import { Label, Button } from "@budibase/bbui"
import KeyValueBuilder from "components/integration/KeyValueBuilder.svelte"
import KeyValueBuilder from "@/components/integration/KeyValueBuilder.svelte"
export let name
export let value

View File

@ -6,6 +6,7 @@
export let value
export let error
export let config
export let placeholder
</script>
<div class="form-row">
@ -17,6 +18,7 @@
{type}
value={value || undefined}
{error}
{placeholder}
/>
</div>

View File

@ -1,11 +1,12 @@
<script>
import { Label, EnvDropdown } from "@budibase/bbui"
import { environment, licensing } from "stores/portal"
import { environment, licensing } from "@/stores/portal"
export let type
export let name
export let value
export let error
export let placeholder
export let showModal = () => {}
async function handleUpgradePanel() {
@ -22,6 +23,7 @@
type={type === "port" ? "string" : type}
{value}
{error}
{placeholder}
variables={$environment.variables}
environmentVariablesEnabled={$licensing.environmentVariablesEnabled}
{showModal}

View File

@ -8,12 +8,12 @@
ModalContent,
} from "@budibase/bbui"
import { processStringSync } from "@budibase/string-templates"
import CreateEditVariableModal from "components/portal/environment/CreateEditVariableModal.svelte"
import CreateEditVariableModal from "@/components/portal/environment/CreateEditVariableModal.svelte"
import ConfigInput from "./ConfigInput.svelte"
import { createValidatedConfigStore } from "./stores/validatedConfig"
import { createValidatedNameStore } from "./stores/validatedName"
import { get } from "svelte/store"
import { environment } from "stores/portal"
import { environment } from "@/stores/portal"
export let integration
export let config
@ -85,7 +85,7 @@
/>
{/if}
{#each $configStore.validatedConfig as { type, key, value, error, name, hidden, config }}
{#each $configStore.validatedConfig as { type, key, value, error, name, hidden, config, placeholder }}
{#if hidden === undefined || !eval(processStringSync(hidden, $configStore.config))}
<ConfigInput
{type}
@ -93,6 +93,7 @@
{error}
{name}
{config}
{placeholder}
showModal={() =>
showModal(newValue => configStore.updateFieldValue(key, newValue))}
on:blur={() => configStore.markFieldActive(key)}

View File

@ -1,6 +1,6 @@
import { derived, writable, get } from "svelte/store"
import { getValidatorFields } from "./validation"
import { capitalise } from "helpers"
import { capitalise } from "@/helpers"
import { notifications } from "@budibase/bbui"
import { object } from "yup"
@ -114,6 +114,7 @@ export const createValidatedConfigStore = (integration, config) => {
value: getValue(),
error: $errorsStore[key],
name: capitalise(properties.display || key),
placeholder: properties.placeholder,
type: properties.type,
hidden: properties.hidden,
config: properties.config,

View File

@ -1,5 +1,5 @@
import { derived, get, writable } from "svelte/store"
import { capitalise } from "helpers"
import { capitalise } from "@/helpers"
import { string } from "yup"
export const createValidatedNameStore = (name, isVisible) => {

View File

@ -2,7 +2,7 @@
import {
RelationshipType,
PrettyRelationshipDefinitions,
} from "constants/backend"
} from "@/constants/backend"
import {
keepOpen,
Button,
@ -13,10 +13,10 @@
Body,
Helpers,
} from "@budibase/bbui"
import { tables } from "stores/builder"
import { tables } from "@/stores/builder"
import { RelationshipErrorChecker } from "./relationshipErrors"
import { onMount } from "svelte"
import RelationshipSelector from "components/common/RelationshipSelector.svelte"
import RelationshipSelector from "@/components/common/RelationshipSelector.svelte"
export let save
export let datasource

View File

@ -2,8 +2,8 @@
import { Modal } from "@budibase/bbui"
import { get } from "svelte/store"
import CreateEditRelationship from "./CreateEditRelationship.svelte"
import { integrations, datasources } from "stores/builder"
import { integrationForDatasource } from "stores/selectors"
import { integrations, datasources } from "@/stores/builder"
import { integrationForDatasource } from "@/stores/selectors"
export let datasource
export let tables
@ -41,7 +41,7 @@
get(integrations),
datasource
)
await datasources.update({ datasource, integration })
await datasources.save({ datasource, integration })
await afterSave({ datasource, action })
} catch (err) {

View File

@ -6,8 +6,8 @@
Layout,
ModalContent,
} from "@budibase/bbui"
import Spinner from "components/common/Spinner.svelte"
import { IntegrationTypes } from "constants/backend"
import Spinner from "@/components/common/Spinner.svelte"
import { IntegrationTypes } from "@/constants/backend"
import { createTableSelectionStore } from "./tableSelectionStore"
export let integration

View File

@ -1,6 +1,6 @@
import { derived, writable, get } from "svelte/store"
import { keepOpen, notifications } from "@budibase/bbui"
import { datasources, tables } from "stores/builder"
import { datasources, tables } from "@/stores/builder"
export const createTableSelectionStore = (integration, datasource) => {
const tableNamesStore = writable([])

View File

@ -2,7 +2,7 @@
import { getBezierPath, BaseEdge, EdgeLabelRenderer } from "@xyflow/svelte"
import { Icon, TooltipPosition } from "@budibase/bbui"
import { getContext, onMount } from "svelte"
import { roles } from "stores/builder"
import { roles } from "@/stores/builder"
export let sourceX
export let sourceY

View File

@ -23,9 +23,9 @@
import { setContext, tick } from "svelte"
import Controls from "./Controls.svelte"
import { GridResolution, MaxAutoZoom, ZoomDuration } from "./constants"
import { roles } from "stores/builder"
import { Roles } from "constants/backend"
import { getSequentialName } from "helpers/duplicate"
import { roles } from "@/stores/builder"
import { Roles } from "@/constants/backend"
import { getSequentialName } from "@/helpers/duplicate"
import { derivedMemo } from "@budibase/frontend-core"
const flow = useSvelteFlow()

View File

@ -10,8 +10,8 @@
} from "@budibase/bbui"
import { NodeWidth, NodeHeight } from "./constants"
import { getContext } from "svelte"
import { roles } from "stores/builder"
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
import { roles } from "@/stores/builder"
import ConfirmDialog from "@/components/common/ConfirmDialog.svelte"
export let data
export let id

View File

@ -9,8 +9,8 @@ import {
EmptyStateID,
} from "./constants"
import { getNodesBounds, Position } from "@xyflow/svelte"
import { Roles } from "constants/backend"
import { roles } from "stores/builder"
import { Roles } from "@/constants/backend"
import { roles } from "@/stores/builder"
import { get } from "svelte/store"
// Calculates the bounds of all custom nodes

View File

@ -5,10 +5,10 @@
SourceName,
} from "@budibase/types"
import { Select, Toggle, Multiselect, Label, Layout } from "@budibase/bbui"
import { DB_TYPE_INTERNAL } from "constants/backend"
import { API } from "api"
import { DB_TYPE_INTERNAL } from "@/constants/backend"
import { API } from "@/api"
import { parseFile } from "./utils"
import { tables, datasources } from "stores/builder"
import { tables, datasources } from "@/stores/builder"
let error = null
let fileName = null
@ -128,11 +128,7 @@
allValid = false
if (rows.length > 0) {
const response = await API.validateExistingTableImport({
rows,
tableId,
})
const response = await API.validateExistingTableImport(rows, tableId)
validation = response.schemaValidation
invalidColumns = response.invalidColumns
allValid = response.allValid

View File

@ -1,9 +1,9 @@
<script>
import { Select, Icon, Layout, Label } from "@budibase/bbui"
import { FIELDS } from "constants/backend"
import { FIELDS } from "@/constants/backend"
import { utils } from "@budibase/shared-core"
import { canBeDisplayColumn } from "@budibase/frontend-core"
import { API } from "api"
import { API } from "@/api"
import { parseFile } from "./utils"
export let rows = []
@ -147,7 +147,7 @@
loading = true
try {
if (rows.length > 0) {
const response = await API.validateNewTableImport({ rows, schema })
const response = await API.validateNewTableImport(rows, schema)
validation = response.schemaValidation
allValid = response.allValid
errors = response.errors

View File

@ -1,9 +1,9 @@
<script>
import { goto, params } from "@roxi/routify"
import { appStore, tables, datasources, screenStore } from "stores/builder"
import { appStore, tables, datasources, screenStore } from "@/stores/builder"
import { InlineAlert, Link, Input, notifications } from "@budibase/bbui"
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
import { DB_TYPE_EXTERNAL } from "constants/backend"
import ConfirmDialog from "@/components/common/ConfirmDialog.svelte"
import { DB_TYPE_EXTERNAL } from "@/constants/backend"
export let table

View File

@ -1,6 +1,6 @@
<script>
import { cloneDeep } from "lodash/fp"
import { tables, datasources } from "stores/builder"
import { tables, datasources } from "@/stores/builder"
import { Input, Modal, ModalContent, notifications } from "@budibase/bbui"
export let table

View File

@ -3,14 +3,14 @@
tables as tablesStore,
userSelectedResourceMap,
contextMenuStore,
} from "stores/builder"
import { TableNames } from "constants"
import NavItem from "components/common/NavItem.svelte"
} from "@/stores/builder"
import { TableNames } from "@/constants"
import NavItem from "@/components/common/NavItem.svelte"
import { isActive } from "@roxi/routify"
import EditModal from "./EditModal.svelte"
import DeleteConfirmationModal from "./DeleteConfirmationModal.svelte"
import { Icon } from "@budibase/bbui"
import { DB_TYPE_EXTERNAL } from "constants/backend"
import { DB_TYPE_EXTERNAL } from "@/constants/backend"
export let table
export let idx

Some files were not shown because too many files have changed in this diff Show More